Oracle經過長時間的發展,很多用戶都很了解Oracle系統特權了,這裡我發表一下個人理解,和大家討論討論。特權借助於GRANT語句分配給一個用戶或角色,並且可以借助於REVOKE語句取消。Oracle 10G數據庫有3種類型的特權:
1. 對象特權模式對象上的特權,比如表、視圖、序列、過程和包等模式對象。要想使用這些對象,需要該對象上的特權。
2. 系統特權 數據庫級操作上的特權,比如連接到數據庫,創建用戶、更改數據庫或消耗極大數據的表空間等操作。
3. 角色特權一個用戶作為一個角色所擁有的對象與系統特權。角色是用來管理特權組的工具。
Oracle系統特權允許被授權者執行系統級Data Definition Language語句(如CREATE,ALTER和DROP)或Data Manipulation Language語句。Oracle 10G有170多種系統特權,所有這些特權被列舉在SYSTE_PRIVILEGE_MAP數據目錄視圖中。讀者應該熟悉以下幾組特權
序列
1. CREATE SEQUENCE允許被授權者在他們自己的模式中創建新的序列
2. CREATE ANY SEQUENCE允許被授權者在任意一個模式中創建新的序列
3. ALTER ANY SEQUENCE允許被授權者修改數據庫中任意一個序列的屬性
4. DROP ANY SEQUENCE允許從數據庫內的任意一個模式中刪除任意一個序列
5. SELECT ANY SEQUENCE
會話
1. CREATE SESSION允許被授權者連接到數據庫。該特權對用戶賬戶是必需的,但對軟件賬戶可能是不受歡迎的。
2. ALTER SESSION允許被授權者執行ALTER SESSIONS語句
3. ALTER RESOURCE COST允許被授權者修改Oracle為一個概況中的資源約束計算資源成本的方式。
4. RESTRICTED SESSION允許數據庫在RESTRICTED SESSION模式時連接到數據庫,一般是為了管理性目的。
同義詞
1. CREATE SYNONYM允許在自己的對象模式中創建同義詞
2. CREATE ANY SYNONYM允許在任意對象模式中創建新的同義詞
3. CREATE PUBLIC SYNONYM允許被授權者創建新的公用同義詞。這些同義詞對數據庫中的所有用戶都是可訪問的。
4. DROP ANY SYNONYM允許從任意對象模式中刪除任意一個同義詞
5. DROP PUBLIC SYNONYM允許被授權者從數據庫中刪除任意一個公用同義詞
表
1. CREATE TABLE允許在自己的對象模式中創建表
2. CREATE ANY TABLE允許在任意一個對象模式中創建表
3. ALTER ANY TABLE允許更改任意一個對象模式中的表
4. DROP ANY TABLE允許從任意一個對象模式中刪除表
5. COMMENT ANY TABLE允許給任意一個對象模式中的任意一個表或列注釋
6. SELECT ANY TABLE允許查詢任意表
7. INSERT ANY TABLE允許插入新行到任意表
8. UPDATE ANY TABLE允許更新任意表
9. DELETE ANY TABLE允許刪除任意表中的行
10. LOCK ANY TABLE允許執行一條LOCK TABLE來明確鎖定任意一個表
11. FlashBACK ANY TABLE允許使用AS OF 語法對任意一個對象模式的任意一個表或視圖執行一個SQL回閃查詢。
表空間
1. CREATE TABLESPACE允許創建新的表空間
2. ALTER TABLESPACE允許被授權者更改現有表空間
3. DROP TABLESPACE允許刪除表空間
4. MANAGE TABLESPACE允許更改表空間。例如ONLINE、OFFILE、BEGIN BACKUP或END BACKUP
5. UNLIMITED TABLESPACE允許消耗任意一個表空間中的磁盤限額。相當於給指定授權者每個表空間中的無限限額。以上介紹Oracle系統特權。