Oracle用户,密码的问题,迷糊了 DBA与sysdba的区别?比如我赋予了一个test用户dba权限,那么用这个用户在OEM登陆的时候为什么只能以normal身份登录而不能以sysdba登陆哪。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DBA 是一种角色 role,其中不包括 sysdba 权限。 sysdba是管理整个库的系统字典的超级用户,权限比DBA高,sysdba>system>=其他用户 dba是Oracle里的一种对象,Role 和User一样,是实实在在存在在Oracle里的物理对象,而sysdba是指的一种概念上的操作对象,在Oracle数据里并不存在。所以说这两个概念是完全不同的。dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是概念上的role是一种登录认证时的身份标识而已。下面我们通过详细的实例来看看他们的区别1.物理上的role dba 是可以在数据字典里查到的SQL> select * from dba_roles where upper(role) = 'DBA';ROLE PASSWORD------------------------------ --------DBA NO而sysdba是概念上的role在数据字典里是查不到的SQL> select * from dba_roles where upper(role) = 'SYSDBA';no rows selected2.grant dba 和grant sysdba的差别dba是正真的role,所以grant后在dba_role_privs里有记录,而revoke后就没有了SQL> grant dba to testuser;SQL> select * from dba_role_privs where grantee = 'TESTUSER';GRANTEE GRANTED_ROLE ADM DEF------------------------------ ------------------------------ --- ---TESTUSER RESOURCE NO YESTESTUSER CONNECT NO YESTESTUSER DBA NO YESSQL> revoke dba from testuser;SQL> select * from dba_role_privs where grantee = 'TESTUSER';GRANTEE GRANTED_ROLE ADM DEF------------------------------ ------------------------------ --- ---TESTUSER RESOURCE NO YESTESTUSER CONNECT NO YES对于sysdba是不会出现这个情况的,因为他不是正真的roleSQL> grant sysdba to testuser;SQL> select * from dba_role_privs where grantee = 'TESTUSER';GRANTEE GRANTED_ROLE ADM DEF------------------------------ ------------------------------ --- ---TESTUSER RESOURCE NO YESTESTUSER CONNECT NO YES那么这个是sysdba是这么记录的叻,我在一个文章和帖子里对对sysdba的登录有过详细的叙述对了,sysdba是登录时候需要的他是和remote_login_passwordfile关联的我们可以查询v$pwfile_users;如下:SQL> select * from v$pwfile_users;USERNAME SYSDB SYSOP------------------------------ ----- -----SYS TRUE TRUESYSTEM TRUE FALSETESTUSER TRUE FALSE当你grant sysdba后,在这里就多了一条下面我们revoke一下,再来看SQL> revoke sysdba from testuser;SQL> select * from v$pwfile_users;USERNAME SYSDB SYSOP------------------------------ ----- -----SYS TRUE TRUESYSTEM TRUE FALSE没有叻。所以在这里dba和sysdba是根本不同概念了。有关sysdba登录的解释可以查看帖子http://topic.csdn.net/u/20090429/12/6d495d87-9f04-4828-ab2a-cb186ba8c5de.html====================================================================================如果你需要帮助或想和我一起学习的请联系联系方式QQ:370140387QQ群: 85837884(注明:数据库)电子邮件:[email protected]网站: http://www.inthirties.com hoho 好!!不过,为什么SYS/manager有时候不能进呢 ....没发现过该问题...DBA与sysdba的区别?DBA角色,sysdba是用户...区别可大了而你用一个具有DBA角色权限登陆的test账号,它还是一个普通用户账号,只能以normal身份登录.. sys/manager进不去的话,和认证策略有关,可以看另一个帖子http://topic.csdn.net/u/20090425/21/314fb45c-9348-4c49-a35d-3b9bfc87cf0c.html或者http://www.inthirties.com/?p=379 http://www.inthirties.com/?p=48 ==================================================================================== Inthirties提供专业的针对Oracle的数据库优化,安全,恢复,迁移以及Oracle DBA培训等专业 服务。同时还提供针对企业ERP实施和建设的规划,开发和实施等ERP企业咨询服务。 如果你需要帮助或想和我一起学习的请联系 联系方式QQ:370140387 QQ群: 85837884(注明:数据库) 电子邮件:[email protected] 网站: http://www.inthirties.com 有关作业Interval设置问题 查询所有用户下的表 AIX上运行Oracle 10g一段时间数据库就dump掉,不知何原因? 真不知道怎么问? 请教大家一个SQL语句,谢谢!!! oracle增加rbs问题,请教,谢谢 150分求解一道sql题目,高手请帮帮忙. 这两个Provider有什么不一样呀? 新手再问关于数据比较的问题。这次是VARCHAR2型和date型比较。请进来看看。 关于在PL/SQL里对ORACLE数据库里的内容进行删除操作的简单问题(在线急等) ?执行SQL根据语句时出现JS错误 五一将至,先提前预祝坛子里面的兄弟姐妹们节日快乐
物理上的role dba 是可以在数据字典里查到的
SQL> select * from dba_roles where upper(role) = 'DBA';ROLE PASSWORD
------------------------------ --------
DBA NO而sysdba是概念上的role在数据字典里是查不到的SQL> select * from dba_roles where upper(role) = 'SYSDBA';
no rows selected2.
grant dba 和grant sysdba的差别
dba是正真的role,所以grant后在dba_role_privs里有记录,而revoke后就没有了SQL> grant dba to testuser;
SQL> select * from dba_role_privs where grantee = 'TESTUSER';
GRANTEE GRANTED_ROLE ADM DEF
------------------------------ ------------------------------ --- ---
TESTUSER RESOURCE NO YES
TESTUSER CONNECT NO YES
TESTUSER DBA NO YES
SQL> revoke dba from testuser;
SQL> select * from dba_role_privs where grantee = 'TESTUSER';
GRANTEE GRANTED_ROLE ADM DEF
------------------------------ ------------------------------ --- ---
TESTUSER RESOURCE NO YES
TESTUSER CONNECT NO YES对于sysdba是不会出现这个情况的,因为他不是正真的role
SQL> grant sysdba to testuser;
SQL> select * from dba_role_privs where grantee = 'TESTUSER';
GRANTEE GRANTED_ROLE ADM DEF
------------------------------ ------------------------------ --- ---
TESTUSER RESOURCE NO YES
TESTUSER CONNECT NO YES那么这个是sysdba是这么记录的叻,
我在一个文章和帖子里对对sysdba的登录有过详细的叙述
对了,sysdba是登录时候需要的他是和remote_login_passwordfile关联的
我们可以查询v$pwfile_users;
如下:
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
SYSTEM TRUE FALSE
TESTUSER TRUE FALSE
当你grant sysdba后,在这里就多了一条
下面我们revoke一下,再来看
SQL> revoke sysdba from testuser;
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
SYSTEM TRUE FALSE没有叻。所以在这里dba和sysdba是根本不同概念了。有关sysdba登录的解释可以查看帖子
http://topic.csdn.net/u/20090429/12/6d495d87-9f04-4828-ab2a-cb186ba8c5de.html====================================================================================如果你需要帮助或想和我一起学习的请联系
联系方式QQ:370140387
QQ群: 85837884(注明:数据库)
电子邮件:[email protected]
网站: http://www.inthirties.com
不过,为什么SYS/manager有时候不能进呢
DBA与sysdba的区别?
DBA角色,sysdba是用户...区别可大了
而你用一个具有DBA角色权限登陆的test账号,它还是一个普通用户账号,只能以normal身份登录..
sys/manager进不去的话,和认证策略有关,可以看另一个帖子http://topic.csdn.net/u/20090425/21/314fb45c-9348-4c49-a35d-3b9bfc87cf0c.html或者
http://www.inthirties.com/?p=379
http://www.inthirties.com/?p=48 ====================================================================================
Inthirties提供专业的针对Oracle的数据库优化,安全,恢复,迁移以及Oracle DBA培训等专业
服务。同时还提供针对企业ERP实施和建设的规划,开发和实施等ERP企业咨询服务。 如果你需要帮助或想和我一起学习的请联系
联系方式QQ:370140387
QQ群: 85837884(注明:数据库)
电子邮件:[email protected]
网站: http://www.inthirties.com