dba和sysdba的区别
交流群:263992520 入群密码:csdn
初学者集中营:http://www.chuxuezhe.net
我想有很多新手对dba和sysdba存在理解的误区,那么这里我就举例,才解释他们之间的区别。
dba是Oracle里的一种对象,Role和User一样,是实实在在存在在Oracle里的物理对象。
sysdba是指的一种概念上的操作对象,在Oracle数据里并不存在。
所以说这两个概念是完全不同的。
dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是概念上的role是一种登录认证时的身份标识而已。
下面我们通过详细的实例来看看他们的区别
1、物理上的role dba 是可以在数据字典里查到的
而sysdba是概念上的role在数据字典里是查不到的
2、grant dba 和grant sysdba的差别
dba是真正的role,所以grant后在dba_role_privs里有记录,而revoke后就没有了
但是对于sysdba是不会出现这个情况的,因为他不是真正的role
sysdba是登录时候需要的他是和remote_login_passwordfile关联的 我们可以查询v$pwfile_users
当你grant sysdba后,在这里就多了一条 下面我们revoke一下,再来看:
没有了。
所以在这里dba和sysdba是根本不同概念了。