oracle許可權全集

bitifi發表於2015-11-24



    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。






 1、檢視所有使用者
  select * from dba_user;
  select * from all_users;
  select * from user_users;
  2、檢視使用者系統許可權
  select * from dba_sys_privs;
  select * from all_sys_privs;
  select * from user_sys_privs;
  3、檢視使用者物件許可權
  select * from dba_tab_privs;
  select * from all_tab_privs;
  select * from user_tab_privs;
  4、檢視所有角色
  select * from dba_roles;
  5、檢視使用者所擁有的角色
  select * from dba_role_privs;
  select * from user_role_privs;
  6、檢視當前使用者的預設表空間
  select username,default_tablespace from user_users;
  7、檢視某個角色的具體許可權
  如grant connect,resource,create session,create view to TEST;
  8、檢視RESOURCE具有那些許可權
  用SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE'; 




dbms_metadata.get_ddl學習
 
dbms_metadata一些用途測試學習
 
檢視建立表空間語句
 
SQL> set head off
SQL> set pages 0
SQL> set long 9999999
SQL> select dbms_metadata.get_ddl('TABLESPACE','TEST') from dual;
 
  CREATE TABLESPACE "TEST" DATAFILE
  '/home/oracle/TEST/TEST.dbf' SIZE 52428800
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL TESTALLOCATE SEGMENT SPACE MANAGEMENT MANUAL
   ALTER DATABASE DATAFILE
  '/home/oracle/TEST/TEST.dbf' RESIZE 2097152000
 
檢視建立使用者語句
 
 
SQL> select dbms_metadata.get_ddl('USER','TEST') from dual;
 
   CREATE USER "TEST" IDENTIFIED BY VALUES '90CEB80324B4BC3D'
      DEFAULT TABLESPACE "TEST"
      TEMPORARY TABLESPACE "TEMP"    
 
檢視一個使用者的授權相關資訊
 
SQL>     SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','TEST') from dual;
 
   GRANT "CONNECT" TO "TEST"
   GRANT "RESOURCE" TO "TEST"
 
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','TEST') from dual;
 
  GRANT CREATE ANY SYNONYM TO "TEST"
  GRANT CREATE SYNONYM TO "TEST"
  GRANT SELECT ANY TABLE TO "TEST"
  GRANT LOCK ANY TABLE TO "TEST"
  GRANT DROP ANY TABLE TO "TEST"
  GRANT ALTER ANY TABLE TO "TEST"
  GRANT CREATE ANY TABLE TO "TEST"
  GRANT UNLIMITED TABLESPACE TO "TEST"
  GRANT CREATE SESSION TO "TEST"
    
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','TEST') from dual;
 
  GRANT EXECUTE ON "SYS"."DBMS_REDEFINITION" TO "TEST"
  GRANT DEBUG ON "SYS"."DBMS_REDEFINITION" TO "TEST"
  GRANT EXECUTE ON "SYS"."DBMS_REPCAT_INTERNAL_PACKAGE" TO "TEST"
 
檢視當前系統的所有db_link
 
SQL> SELECT DBMS_METADATA.GET_DDL('DB_LINK',a.db_link,a.owner) FROM all_db_links a;
 
  CREATE DATABASE LINK "TEST1.COM"
   CONNECT TO "REPADMIN" IDENTIFIED BY VALUES '05CC75BB7C740556460505AC8391AE8D3
93717DAB3FFDB28DB'
   USING 'TEST1'
 




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

相關文章