我用sys as sysdba登录:
1.select name from sys.system_privilege_map 查出oracle所有系统权限;
--结果166条查看一个用户的所有系统权限(包含角色的系统权限)
2.select privilege from dba_sys_privs where grantee='SYS'
union
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='SYS' );--结果161条select * from sys.system_privilege_map where name not in (
select privilege from dba_sys_privs where grantee='SYS'
union
select privilege from dba_sys_privs where grantee in
(select granted_role from dba_role_privs where grantee = 'SYS')
)
-----------------------------------------------------------------
SYSOPER
EXEMPT ACCESS POLICY
EXEMPT IDENTITY POLICY
ALTER ANY OPERATOR
SYSDBA
为什么2查出来结果比1少5个权限,请帮忙解释,oracle不是很了解.
1.select name from sys.system_privilege_map 查出oracle所有系统权限;
--结果166条查看一个用户的所有系统权限(包含角色的系统权限)
2.select privilege from dba_sys_privs where grantee='SYS'
union
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='SYS' );--结果161条select * from sys.system_privilege_map where name not in (
select privilege from dba_sys_privs where grantee='SYS'
union
select privilege from dba_sys_privs where grantee in
(select granted_role from dba_role_privs where grantee = 'SYS')
)
-----------------------------------------------------------------
SYSOPER
EXEMPT ACCESS POLICY
EXEMPT IDENTITY POLICY
ALTER ANY OPERATOR
SYSDBA
为什么2查出来结果比1少5个权限,请帮忙解释,oracle不是很了解.
-- 而 union all 在合并多个结果集的时候,不排除重复的记录行!
又多学习了点知识,但问题原因不在此.
注:oracle10g版本