如何檢視oracle使用者具有的許可權和角色

kingsql發表於2015-02-09
 
上次有同學問我,如何檢視一個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.檢視角色(只能檢視登陸使用者擁有的角色)所包含的許可權

sql>select * from role_sys_privs;


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

 

比如我要檢視使用者 wzsb的擁有的許可權:

SQL> select * from dba_sys_privs where grantee='WZSB';

 

GRANTEE                        PRIVILEGE                                ADMIN_OPTION

------------------------------ ---------------------------------------- ------------

WZSB                           CREATE TRIGGER                           NO

WZSB                           UNLIMITED TABLESPACE                     NO


比如我要檢視使用者 wzsb的擁有的角色:

SQL> select * from dba_role_privs where grantee='WZSB';

 

GRANTEE   GRANTED_ROLE   ADMIN_OPTION  DEFAULT_ROLE

------------------------------ ------------------------------ ------------ ------------

WZSB                           DBA                         NO              YES


檢視一個使用者所有的許可權及角色

select privilege from dba_sys_privs where grantee='WZSB'

union

select privilege from dba_sys_privs where grantee in 

(select granted_role from dba_role_privs where grantee='WZSB' ); 

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

相關文章