您的位置:首页 > 其它

关于ORA-01720: 不存在 '+++' 的授权选项的错误解决方法

2016-08-16 17:18 846 查看
在用A用户创建视图的时候,引用了sys用户下的一张视图,创建时报错 ORA-01720: 不存在 'SYS.DBA_ARGUMENTS' 的授权选项。然后我登录sys用户,grant select on DBA_ARGUMENTS to A,但还是报ORA-01720的错误,经过查询,解决方法如下:

在grant select on DBA_ARGUMENTS to A 后面加上 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是在赋系统权限时使用。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐