檢視Oracle使用者的許可權或角色

2021-08-28 23:00:25 字數 3685 閱讀 7033

前幾天被問到一些關於許可權和角色的問題,今天抽時間總結一下如何檢視oracle使用者的許可權或角色,在之前的博文中,寫過 sys,system,dba,sysdba,sysoper的區別與聯絡 以及  oracle中定義者許可權和呼叫者許可權案例分析 這兩篇博文,讀者可以參考閱讀!oracle的東西感覺很雜,抽空閒的時間多總結也是對知識的乙個梳理以及對自己的乙個提高,文中若有錯誤或者不當之處,請大家指出,謝謝!

一、檢視使用者

1.檢視所有使用者:

select * from dba_users;

select * from all_users;

select * from user_users;    //檢視當前使用者

二、檢視角色

1.當前使用者被啟用的全部角色

select * from session_roles;

2.當前當前使用者被授予的角色

select * from user_role_privs;

3.全部使用者被授予的角色

select * from dba_role_privs;

4、檢視某個使用者所擁有的角色

select * from dba_role_privs where grantee='使用者名稱';

5、檢視某個角色所擁有的許可權

select * from dba_sys_privs where grantee='connect';

6.檢視所有角色

select * from dba_roles;

三、檢視許可權

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_sys_privs;

select * from user_sys_privs;

2.檢視使用者的物件許可權:

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

3.檢視哪些使用者有sysdbasysoper系統許可權(查詢時需要相應許可權)

select * from v$pwfile_users;

擴充套件

1、以下語句可以檢視oracle提供的系統許可權

select name from sys.system_privilege_map

2、檢視乙個使用者的所有系統許可權(包含角色的系統許可權)

select privilege from dba_sys_privs where grantee='scott'  

union  

select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='scott' ); 

3查詢當前使用者可以訪問的所有資料字典檢視。

select * from dict where comments like '%grant%';   

4、顯示當前資料庫的全稱

select * from global_name;   

問題1:如何查詢乙個角色包括的許可權?

a.乙個角色包含的系統許可權   

select * from dba_sys_privs where grantee='角色名'  

select * from dba_sya_privs where grantee='coonnect'; connect要大寫

另外也可以這樣檢視:   

select * from role_sys_privs where role='角色名'   

b.乙個角色包含的物件許可權   

select * from dba_tab_privs where grantee='角色名'   

問題2oracle究竟有多少種角色?

select * from dba_roles;   

問題3:如何檢視某個使用者,具有什麼樣的角色?

select * from dba_role_privs where grantee='使用者名稱'  

問題4:檢視哪些使用者具有dba的角色

select grantee from dba_role_privs where granted_role='dba';

檢視Oracle使用者的許可權或角色

一 檢視使用者 1.檢視所有使用者 select from dba users select from all users select from user users 檢視當前使用者 二 檢視角色 1.當前使用者被啟用的全部角色 select from session roles 2.當前當前使用...

oracle檢視使用者許可權

1.檢視所有使用者 select from dba users select from all users select from user users 2.檢視使用者或角色系統許可權 直接賦值給使用者或角色的系統許可權 select from dba sys privs select from u...

oracle 檢視使用者許可權

oracle中資料字典檢視分為3大類,用字首區別,分別為 user,all 和 dba,許多資料字典檢視包含相似的資訊。user 有關使用者所擁有的物件資訊,即使用者自己建立的物件資訊 all 有關使用者可以訪問的物件的資訊,即使用者自己建立的物件的資訊加上其他使用者建立的物件但該使用者有權訪問的資...