Oracle入门(九A)之用户的权限或角色
轉載自?查看Oracle用戶的權限或角色
前幾天被問到一些關于權限和角色的問題,今天抽時間總結一下如何查看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.查看哪些用戶有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='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='角色名'? ?
問題 2:Oracle究竟有多少種角色?? ?
select * from dba_roles;? ?
問題 3:如何查看某個用戶,具有什么樣的角色?? ?
select * from dba_role_privs where grantee='用戶名'??
select grantee from dba_role_privs where granted_role='DBA';
總結
以上是生活随笔為你收集整理的Oracle入门(九A)之用户的权限或角色的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 唯美的三字词牌名 意境优美词牌名三个字
- 下一篇: Oracle入门(十四C)之转换函数