1. 程式人生 > >Oracle角色以及系統許可權

Oracle角色以及系統許可權

角色:
CONNECT 資料庫連線角色,用於連線資料庫,具有建立簇、資料庫連結、序列、同義詞、表和檢視,以及修改會話的權利
DBA 資料庫管理員角色,具有所有使用ADMIN選項建立的系統許可權,可以將系統許可權授予其他使用者或角色
DELETE_CATALOG_ROLE 刪除目錄角色,可以刪除或重建資料字典
EXECUTE_CATALOG_ROLE 執行目錄角色,能夠執行所有系統包
EXP_FULL_DATABASE 能夠使用匯出程式執行資料庫的完全和增量匯出
IMP_FULL_DATABASE 能夠使用匯入程式執行資料庫的完全匯入
RESOURCE 可以建立簇、表、序列以及PL/SQL程式設計用方案物件,包括過程、程式包、觸發器等 SELECT_CATALOG_ROLE 查詢資料字典表或檢視
AQ_USER_ROLE,AQ_ADMINISTRATOR_ROLE
用於Oracle高階查詢功能
RECOVERY_CATALOG_OWNER 用於建立擁有恢復庫的使用者
HS_ADMIN_ROLE異構服務需要這個角色去訪問資料字典中的表
CTXAPP 驗證intermedia的安裝
EJBCLIENT:驗證Java ejb客戶端
GATHER_SYSTEM_STATISTICS:獲取系統狀態統計資訊
GLOBAL_AQ_USER_ROLE:全域性的高階查詢許可權
GLOBAL HS_ADMIN_ROLE使用HASH函式的功能完成特殊的要求
AQ_USER_ROLE:這也是高階查詢許可權,並且授予使用者執行DBMS_AQ的許可權
AUTHENTICATEDUSER: 驗證使用者
OEM_MONITOR:OEM監視
OLAP_DBA:OLAP管理員,和資料倉庫有關
WKUSER:oracle檔案伺服器搜尋的權利
WM_ADMIN_ROLE:擁有所有特權,是一個類似管理員的使用者,授予這個角色預設也授予DBA許可權
XDBADMIN:XML DATABASE ADMIN
JAVADEBUGPRIV NO
JAVAIDPRIV NO
JAVASYSPRIV NO
JAVAUSERPRIV NO
JAVA_ADMIN NO
JAVA_DEPLOY NO
--以上Java的角色可以直接翻譯字面意思 ,還有後面的NO都是指是否PASSWORD驗證
LOGSTDBY_ADMINISTRATOR:STANDBY資料庫的定義和管理

 

系統許可權:
alter any cluster 修改任意簇的許可權
  alter any index 修改任意索引的許可權
  alter any role 修改任意角色的許可權
  alter any sequence 修改任意序列的許可權
  alter any snapshot 修改任意快照的許可權
  alter any table 修改任意表的許可權
  alter any trigger 修改任意觸發器的許可權
  alter cluster 修改擁有簇的許可權
  alter database 修改資料庫的許可權
  alter procedure 修改擁有的儲存過程許可權
  alter profile 修改資源限制簡表的許可權
  alter resource cost 設定佳話資源開銷的許可權
  alter rollback segment 修改回滾段的許可權
  alter sequence 修改擁有的序列許可權
  alter session 修改資料庫會話的許可權
  alter sytem 修改資料庫伺服器設定的許可權
  alter table 修改擁有的表許可權
  alter tablespace 修改表空間的許可權
  alter user 修改使用者的許可權
  analyze 使用analyze命令分析資料庫中任意的表、索引和簇
  audit any 為任意的資料庫物件設定審計選項
  audit system 允許系統操作審計
  backup any table 備份任意表的許可權
  become user 切換使用者狀態的許可權
  commit any table 提交表的許可權
  create any cluster 為任意使用者建立簇的許可權
  create any index 為任意使用者建立索引的許可權
  create any procedure 為任意使用者建立儲存過程的許可權
  create any sequence 為任意使用者建立序列的許可權
  create any snapshot 為任意使用者建立快照的許可權
  create any synonym 為任意使用者建立同義名的許可權
  create any table 為任意使用者建立表的許可權
  create any trigger 為任意使用者建立觸發器的許可權
  create any view 為任意使用者建立檢視的許可權
  create cluster 為使用者建立簇的許可權
  create database link 為使用者建立的許可權
  create procedure 為使用者建立儲存過程的許可權
  create profile 建立資源限制簡表的許可權
  create public database link 建立公共資料庫鏈路的許可權
  create public synonym 建立公共同義名的許可權
  create role 建立角色的許可權
  create rollback segment 建立回滾段的許可權
  create session 建立會話的許可權
  create sequence 為使用者建立序列的許可權
  create snapshot 為使用者建立快照的許可權
  create synonym 為使用者建立同義名的許可權
  create table 為使用者建立表的許可權
  create tablespace 建立表空間的許可權
  create user 建立使用者的許可權
  create view 為使用者建立檢視的許可權
  delete any table 刪除任意表行的許可權
  delete any view 刪除任意檢視行的許可權
  delete snapshot 刪除快照中行的許可權
  delete table 為使用者刪除錶行的許可權
  delete view 為使用者刪除檢視行的許可權
  drop any cluster 刪除任意簇的許可權
  drop any index 刪除任意索引的許可權
  drop any procedure 刪除任意儲存過程的許可權
  drop any role 刪除任意角色的許可權
  drop any sequence 刪除任意序列的許可權
  drop any snapshot 刪除任意快照的許可權
  drop any synonym 刪除任意同義名的許可權
  drop any table 刪除任意表的許可權
  drop any trigger 刪除任意觸發器的許可權
  drop any view 刪除任意檢視的許可權
  drop profile 刪除資源限制簡表的許可權
  drop public cluster 刪除公共簇的許可權
  drop public database link 刪除公共資料鏈路的許可權
  drop public synonym 刪除公共同義名的許可權
  drop rollback segment 刪除回滾段的許可權
  drop tablespace 刪除表空間的許可權
  drop user 刪除使用者的許可權
  execute any procedure 執行任意儲存過程的許可權
  execute function 執行儲存函式的許可權
  execute package 執行儲存包的許可權
  execute procedure 執行使用者儲存過程的許可權
  force any transaction 管理未提交的任意事務的輸出許可權
  force transaction 管理未提交的使用者事務的輸出許可權
  grant any privilege 授予任意系統特權的許可權
  grant any role 授予任意角色的許可權
  index table 給表加索引的許可權
  insert any table 向任意表中插入行的許可權
  insert snapshot 向快照中插入行的許可權
  insert table 向用戶表中插入行的許可權
  insert view 向用戶檢視中插行的許可權
  lock any table 給任意表加鎖的許可權
  manager tablespace 管理(備份可用性)表空間的許可權
  references table 參考表的許可權
  restricted session 建立有限制的資料庫會話的許可權
  select any sequence 使用任意序列的許可權
  select any table 使用任意表的許可權
  select snapshot 使用快照的許可權
  select sequence 使用使用者序列的許可權
  select table 使用使用者表的許可權
  select view 使用檢視的許可權
  unlimited tablespace 對錶空間大小不加限制的許可權
  update any table 修改任意表中行的許可權
  update snapshot 修改快照中行的許可權
  update table 修改使用者表中的行的許可權
  update view 修改檢視中行的許可權
    enqueue any queue 就是向所有佇列中加入訊息的許可權;
    dequeue any queue 就是可以向所有佇列使訊息出隊的許可權;
    manage any queue 就是在所有所有方案下,允許執行DBMS_AQADM的許可權

 

oracle許可權全集
文章分類:資料庫
alter any cluster 修改任意簇的許可權
  alter any index 修改任意索引的許可權
  alter any role 修改任意角色的許可權
  alter any sequence 修改任意序列的許可權
  alter any snapshot 修改任意快照的許可權
  alter any table 修改任意表的許可權
  alter any trigger 修改任意觸發器的許可權
  alter cluster 修改擁有簇的許可權
  alter database 修改資料庫的許可權
  alter procedure 修改擁有的儲存過程許可權
  alter profile 修改資源限制簡表的許可權
  alter resource cost 設定佳話資源開銷的許可權
  alter rollback segment 修改回滾段的許可權
  alter sequence 修改擁有的序列許可權
  alter session 修改資料庫會話的許可權
  alter sytem 修改資料庫伺服器設定的許可權
  alter table 修改擁有的表許可權
  alter tablespace 修改表空間的許可權
  alter user 修改使用者的許可權
  analyze 使用analyze命令分析資料庫中任意的表、索引和簇
  audit any 為任意的資料庫物件設定審計選項
  audit system 允許系統操作審計
  backup any table 備份任意表的許可權
  become user 切換使用者狀態的許可權
  commit any table 提交表的許可權
  create any cluster 為任意使用者建立簇的許可權
  create any index 為任意使用者建立索引的許可權
  create any procedure 為任意使用者建立儲存過程的許可權
  create any sequence 為任意使用者建立序列的許可權
  create any snapshot 為任意使用者建立快照的許可權
  create any synonym 為任意使用者建立同義名的許可權
  create any table 為任意使用者建立表的許可權
  create any trigger 為任意使用者建立觸發器的許可權
  create any view 為任意使用者建立檢視的許可權
  create cluster 為使用者建立簇的許可權
  create database link 為使用者建立的許可權
  create procedure 為使用者建立儲存過程的許可權
  create profile 建立資源限制簡表的許可權
  create public database link 建立公共資料庫鏈路的許可權
  create public synonym 建立公共同義名的許可權
  create role 建立角色的許可權
  create rollback segment 建立回滾段的許可權
  create session 建立會話的許可權
  create sequence 為使用者建立序列的許可權
  create snapshot 為使用者建立快照的許可權
  create synonym 為使用者建立同義名的許可權
  create table 為使用者建立表的許可權
  create tablespace 建立表空間的許可權
  create user 建立使用者的許可權
  create view 為使用者建立檢視的許可權
  delete any table 刪除任意表行的許可權
  delete any view 刪除任意檢視行的許可權
  delete snapshot 刪除快照中行的許可權
  delete table 為使用者刪除錶行的許可權
  delete view 為使用者刪除檢視行的許可權
  drop any cluster 刪除任意簇的許可權
  drop any index 刪除任意索引的許可權
  drop any procedure 刪除任意儲存過程的許可權
  drop any role 刪除任意角色的許可權
  drop any sequence 刪除任意序列的許可權
  drop any snapshot 刪除任意快照的許可權
  drop any synonym 刪除任意同義名的許可權
  drop any table 刪除任意表的許可權
  drop any trigger 刪除任意觸發器的許可權
  drop any view 刪除任意檢視的許可權
  drop profile 刪除資源限制簡表的許可權
  drop public cluster 刪除公共簇的許可權
  drop public database link 刪除公共資料鏈路的許可權
  drop public synonym 刪除公共同義名的許可權
  drop rollback segment 刪除回滾段的許可權
  drop tablespace 刪除表空間的許可權
  drop user 刪除使用者的許可權
  execute any procedure 執行任意儲存過程的許可權
  execute function 執行儲存函式的許可權
  execute package 執行儲存包的許可權
  execute procedure 執行使用者儲存過程的許可權
  force any transaction 管理未提交的任意事務的輸出許可權
  force transaction 管理未提交的使用者事務的輸出許可權
  grant any privilege 授予任意系統特權的許可權
  grant any role 授予任意角色的許可權
  index table 給表加索引的許可權
  insert any table 向任意表中插入行的許可權
  insert snapshot 向快照中插入行的許可權
  insert table 向用戶表中插入行的許可權
  insert view 向用戶檢視中插行的許可權
  lock any table 給任意表加鎖的許可權
  manager tablespace 管理(備份可用性)表空間的許可權
  references table 參考表的許可權
  restricted session 建立有限制的資料庫會話的許可權
  select any sequence 使用任意序列的許可權
  select any table 使用任意表的許可權
  select snapshot 使用快照的許可權
  select sequence 使用使用者序列的許可權
  select table 使用使用者表的許可權
  select view 使用檢視的許可權
  unlimited tablespace 對錶空間大小不加限制的許可權
  update any table 修改任意表中行的許可權
  update snapshot 修改快照中行的許可權
  update table 修改使用者表中的行的許可權
  update view 修改檢視中行的許可權


一、許可權是使用者對一項功能的執行權力。在Oracle中,根據系統管理方式不同,將許可權分為系統許可權與實體許可權兩類。系統許可權是指是否被授權使用者可以連線到資料庫上,在資料庫中可以進行哪些系統操作。而實體許可權是指使用者對具體的模式實體(schema)所擁有的許可權。這樣講可以有些模糊,舉個例子來說:select any table是系統許可權,它表示可以檢視任何表。而select on table1是實體許可權,表示對錶table1的查詢許可權。

二、見上表

 

三、系統許可權授權命令的使用
  語法:
GRANT 許可權名 TO 使用者|角色|PUBLIC
其中,PUBLIC表示將許可權賦給資料庫中所有的使用者
例:賦給使用者USER1許可權CREATE TABLE的授權命令如下:
SQL>GRANT CREATE TABLE TO USER1;
授權語句還可以增加WITH ADMIN OPTION選項,表示被授權的使用者可以將它所得許可權賦給其它使用者,如:
SQL>GRANT CREATE TABLE,CREATE VIEW TO USER1,USER2 WITH ADMIN OPTION;
若要了解各使用者所擁有的系統許可權,可以查詢資料字典USER_SYS_PRIVS、ROLE_SYS_PRIVS。
若要回收許可權,則使用REVOKE命令,如:
SQL>REVOKE CREATE TABLE FROM USER1;

四、實體許可權管理
  實體許可權是指某一使用者對某一特定schema物件的操作許可權。
1.實體許可權分類
  不同的實體型別有不同的實體許可權,如下表
 

2.實體許可權的授命令

  語法如下:
GRANT 實體許可權名|ALL TO 使用者|角色|PUBLIC
其中,ALL表示實體的所有實體許可權。
如:
SQL>GRANT SELECT ON BOOKS_QUTHORS TO USER1;
以下語句用來查詢表的實體許可權的授權資訊:
SQL>SELECT * FROM USER_TAB_PRIVES
若要回收實體許可權,使用REVOKE,其語法如下:
REVOKE 實體許可權名|ALL ON 實體名 FROM 使用者名稱|角色名|PUBLIC。