【許可權管理】Oracle中檢視、回收使用者許可權

landf發表於2013-11-21

一,Oracle使用者許可權管理體系

簡單介紹下使用者、許可權、角色,其中許可權包括系統許可權、物件許可權,角色是一組許可權和角色的組合,其中許可權、角色可以授予給角色和使用者。

二,檢視使用者及授予給使用者的許可權和角色

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.檢視哪些使用者有sysdbasysoper系統許可權(查詢時需要相應許可權)

select * from V$PWFILE_USERS



注意:

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

select name from sys.system_privilege_map

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

Sql程式碼

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' );   


三、回收授予給使用者的許可權和角色

1,若要回收系統許可權,則使用REVOKE命令,例如:
SQL>REVOKE CREATE TABLE FROM SCOTT;

 

2,若要回收物件許可權,使用REVOKE,其語法如下:
REVOKE
物件許可權名|ALL ON 物件名 FROM 使用者名稱|角色名|PUBLIC

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14359/viewspace-777264/,如需轉載,請註明出處,否則將追究法律責任。

相關文章