奇怪--赋予普通用户DBA权限,默认不是default role

最近一朋友碰到一奇怪问题,赋予一用户dba角色,然后没有dba权限,后来发现在abc用户下dba不是default role 很奇怪!
数据库版本
SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

有一用户abc,拥有角色connect、resource

SQL> select * from session_roles;


ROLE
------------------------------
CONNECT
RESOURCE

有需求要给abc用户赋予dba角色
SQL> show user  
USER is "ABC"
SQL> conn / as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> grant dba to abc;


Grant succeeded.

登陆abc发现当前会话没有dba角色
SQL> conn abc/abc
Connected.
SQL> select * from session_roles;


ROLE
------------------------------
CONNECT
RESOURCE

查询该用户是拥有dba角色,担不是default role
SQL> select * from user_role_privs;


USERNAME                       GRANTED_ROLE                   ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
ABC                            CONNECT                        NO  YES NO
ABC                            DBA                            NO  NO NO
ABC                            RESOURCE                       NO  YES NO

很奇怪,用户abc自创建后没有指定过default role,为什么赋予dba角色时,默认不是default role。
解决:
1、在当前用户会话下,临时解决
SQL> set role connect,resource,dba;


Role set.

查询session_roles
SQL> select * from session_roles;


ROLE
------------------------------
CONNECT
RESOURCE
DBA
SELECT_CATALOG_ROLE
HS_ADMIN_SELECT_ROLE
EXECUTE_CATALOG_ROLE
HS_ADMIN_EXECUTE_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE
DATAPUMP_EXP_FULL_DATABASE


ROLE
------------------------------
DATAPUMP_IMP_FULL_DATABASE
GATHER_SYSTEM_STATISTICS
SCHEDULER_ADMIN
WM_ADMIN_ROLE
JAVA_ADMIN
JAVA_DEPLOY
XDBADMIN
XDB_SET_INVOKER
OLAP_XS_ADMIN
OLAP_DBA


21 rows selected.
但是查询user_role_privs
SQL> select * from user_role_privs;


USERNAME                       GRANTED_ROLE                   ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
ABC                            CONNECT                        NO  YES NO
ABC                            DBA                            NO  NO NO
ABC                            RESOURCE                       NO  YES NO

2、永久解决
SQL> conn / as sysdba
Connected.
SQL> alter user abc default role all;


User altered.






来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29193965/viewspace-1370775/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29193965/viewspace-1370775/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值