關於GRANT賦權時,WITH GRANT OPTION和WITH ADMIN OPTION的使用

liglewang發表於2011-10-13

有個朋友在QQ上發過來一個錯誤資訊:

SQL> conn system/manager

已連線。

SQL> grant select on scott.emp to xiaoming with admin option;

grant select on scott.emp to xiaoming with admin option

 

1行出現錯誤:

ORA-00993:缺失 GRANT 關鍵字

首先,要分清with admin optionwith grant option的區別。

Oracle資料庫系統中,使用者的許可權有兩種:system privilegeobject privilege

System privilege  enables users to perform. particular actions in the database.

Object privilege  enables users to access and manipulate a specific object

System privilege 比如有:create sessioncreate tablecreate synonymalter session等用於在資料庫中執行特定的操作。

Object privilege 比如給某些物件(table,index,function..)授予執行某些特定的操作(select,update,delete)。

對物件許可權和系統許可權有個大概瞭解後,再來看看with admin optionwith grant option是幹什麼的。

如果執行GRANT命令為某個SCHEMA賦物件許可權時帶上了WITH GRANT OPTION,那麼該SCHEMA就可以將該物件許可權授予他人,否則不行。

如果執行GRANT命令為某個 SCHEMA 賦系統許可權時帶上了 WITH ADMIN OPTION, 那麼該SCHEMA就可以將該系統許可權授予他人,否則不行。

需要注意點就是,WITH GRANT OPTION是在賦物件許可權時使用,WITH ADMIN OPTION是在賦系統許可權時使用。

 

--- END ---

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

相關文章