Oracle許可權相關查詢

kisslfcr發表於2017-10-11
Oracle許可權相關查詢著實檢視有點多,記錄下常用的語句,方便查詢:
1.檢視所有使用者:
  select * from dba_users;
  select * from all_users;
  select * from user_users;


2.檢視使用者或角色系統許可權(直接賦值給使用者或角色的系統許可權):
  select * from dba_sys_privs;
  select * from user_sys_privs;
 
3.檢視角色(只能檢視登陸使用者擁有的角色)所包含的許可權
  select * from role_sys_privs where role='DBA';


4.檢視使用者物件許可權:
  select * from dba_tab_privs;
  select * from all_tab_privs;
  select * from user_tab_privs;


5.檢視所有角色:
  select * from dba_roles;


6.檢視使用者或角色所擁有的角色:
  select * from dba_role_privs;
  select * from user_role_privs;
 
7.檢視哪些使用者有sysdba或sysoper系統許可權(查詢時需要相應許可權)
select * from V$PWFILE_USERS;
 
比如我要檢視使用者 XXX的擁有的許可權:
select * from dba_sys_privs where grantee='XXX';
 
GRANTEE                        PRIVILEGE                                ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
XXX                           CREATE TRIGGER                           NO
XXX                           UNLIMITED TABLESPACE                     NO


比如我要檢視使用者 XXX的擁有的角色:
select * from dba_role_privs where grantee='XXX';
 
GRANTEE   GRANTED_ROLE   ADMIN_OPTION  DEFAULT_ROLE
------------------------------ ------------------------------ ------------ ------------
XXX                           DBA                         NO              YES


檢視一個使用者所有的許可權及角色
select privilege from dba_sys_privs where grantee='XXX'
union
select privilege from dba_sys_privs where grantee in 
(select granted_role from dba_role_privs where grantee='XXX' ); 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29135257/viewspace-2145858/,如需轉載,請註明出處,否則將追究法律責任。

相關文章