一、權限是用戶對一項功能的執行權力。在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。
alter any cluster 修改任意簇的權限
alter any index 修改任意索引的權限
alter any role 修改任意角色的權限 alter any cluster
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 修改視圖中行的權限