有个朋友在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 option和with grant option的区别。
在Oracle数据库系统中,用户的权限有两种:system privilege和object 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 session、create table、create synonym、alter session等用于在数据库中执行特定的操作。
Object privilege 比如给某些对象(table,index,function..)授予执行某些特定的操作(select,update,delete)。
对对象权限和系统权限有个大概了解后,再来看看with admin option和with 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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25834554/viewspace-709068/