您好,登錄后才能下訂單哦!
授權分為:授予者(grantor)被授予者(grantee)
授予和撤銷權限
權限分為:系統權限和對象權限
一、系統權限
系統權限約有200種,大多數都影響數據字典的操作。常用的權限如下:
CREATE SESSION (創建會話) --允許用戶連接
RESTRICTED SESSION(受限制的會話) --如果使用STARTUP RESTRICT 啟動數據庫,或者使用ALTER SYSTEM ENABLE RESTRICTED SESSION 進行調整,則僅擁有此權限的用戶可以連接。
ALTER DATABASE (更改數據庫) --允許訪問多個修改物理結構所需的命令
ALTER SYSTEM (更改系統)--允許控制實例參數和內存結構
CREATE TABLESPACE (創建表空間) --ALTER TABLESPACE 和 DROP TABLESPACE 權限允許用戶管理表空間
CREATE TABLE(創建表) --需要更改和刪除表,在其上允許SELECT和DML 命令,以及在其上創建、更改或刪除索引。
GRANT ANY OBJECT PRIVILEGE (授予任何對象權限) --允許被授權人將其本身不擁有的對象的對象權限授予他人,但不能授予自己。
CREATE ANY TABLE (創建任何表) --被授權人可以創建屬于其他用戶的表。
DROP ANY TABLE ( 刪除任何表 )
INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE (插入任何表,更新任何表,刪除任何表)
SELECT ANY TABLE(選擇任何表) 被授權人可以對數據庫中的任何表執行select操作。
1、授予權限的語法如下:
GRANT privilege [,privilege …] TO username;
創建用戶賬戶以后,下面的命令將授予通常分配給用戶(參與應用程序開發的用戶)的系統權限;
Grant create session ,alter session, create table , create view, create synonym , create cluster,create database link , create sequence , create trigger, create type , create procedure, create operator TO username;
2、此語法的一個變體允許被授權人將權限傳遞給第三方,例如:
SQL>connect system/oracle;
SQL>grant create table to scott with admin option;
SQL>connect scott/tiger
SQL> grant create table to jonce;
注:如果用戶被授予帶有ADMIN OPTION 的權限,那么即使對其做了撤銷,他授予了權限的任何用戶將保留權限。
系統權限的撤銷不會級聯(這與撤銷對象權限不同)。
二、對象權限
對象權限允許針對表相關對象執行SELECT,INSERT,UPDATE和DELETE命令,也允許執行PL/SQL對象。
注:ANY權限針對數據庫中的每個用戶賬戶中的每個對象授權,是系統權限,而不是對象權限。
1、語法如下:
GRANT privilege ON [schema.]object TO username [WITH GRANT OPION];
EG. grant select on store.customers to scott;
變化包括ALL(將所有相關權限應用于對象類型),以及命名視圖或表的特定列;
SQL> grant select on store.orders to scott;
SQL> grant update (order_status) on store.orders to scott;
SQL> grant all on store.regions to scott;
使用WITH GRANT OPTION,可使用戶將其對象權限傳給第三方。
三、撤銷權限
撤銷對象權限語法:
REVOKE privilege[,privilege…] on tablename from username;
撤銷系統權限的語法:
REVOKE privilege[,privilege…] from username;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。