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
注意:
1、以下語句可以查看Oracle提供的系統權限
select name from sys.system_privilege_map
2、查看一個用戶的所有系統權限(包含角色的系統權限)
- select privilege from dba_sys_privs where grantee='DATAUSER'
- union
- select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='DATAUSER' );
權限實際上是在數據字典中保存的,以下是一些經常遇到的權限數據字典:
ROLE_SYS_PRIVS |
角色對應的系統權限 |
ROLE_TAB_PRIVS |
角色對應的表權限 |
USER_ROLE_PRIVS |
用戶的角色分配表 |
USER_TAB_PRIVS_MADE |
用戶對象上賦權者與被賦者的歷史賦權情況 |
USER_TAB_PRIVS_RECD |
用戶對象上擁有者與被賦者的歷史賦權情況 |
USER_COL_PRIVS_MADE |
用戶對象列上賦權者與被賦者的歷史賦權情況 |
USER_COL_PRIVS_RECD |
用戶對象列上擁有者與被賦者的歷史賦權情況 |
USER_SYS_PRIVS |
用戶的系統權限 |