ORACLE查詢當前用戶的權限


查看當前用戶的角色
SQL>select * from user_role_privs;
SQL>select * from session_privs

查看當前用戶的系統權限和表級權限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
附:

一、查看用戶:
1.查看當前用戶:
select * from v$session;
2.查看所有用戶:
select * from dba_users;
select * from all_users;
select * from user_users;

二、查看角色:
1.當前用戶被激活的全部角色
select * from session_roles;
2.當前用戶被授予的角色
select * from user_role_privs;
2.全部用戶被授予的角色
select * from dba_role_privs;
3.查看所有角色:
select * from dba_roles;
4. 查詢當前角色被授予的角色
Select GRANTED_ROLE from ROLE_ROLE_PRIVS where ROLE=&ROLE;--例如role= 'DBA'


三、查看權限:
1.基本權限查詢:
select * from session_privs;--當前用戶所擁有的全部權限
select * from user_sys_privs;--當前用戶的系統權限
select * from user_tab_privs;--當前用戶的表級權限
select * from dba_sys_privs;--查詢某個用戶所擁有的系統權限
select * from role_sys_privs;--查看角色(只能查看登陸用戶擁有的角色)所包含的權限

2.查看用戶對象權限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;

3.查看哪些用戶有sysdba或sysoper系統權限(查詢時需要相應權限)
select * from V$PWFILE_USERS

注意:
1、以下語句可以查看Oracle提供的系統權限
select name from sys.system_privilege_map

2、查看一個用戶的所有系統權限(包含角色的系統權限)
Sql代碼
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' );


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM