您好,登錄后才能下訂單哦!
一、查看用戶
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='用戶名'
問題4:查看哪些用戶具有DBA的角色
select grantee from dba_role_privs where granted_role='DBA';
作者:SEian.G(苦練七十二變,笑對八十一難)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。