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

    xiaoxiao2026-06-18  2

    在用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是在赋系统权限时使用。

     

    转载请注明原文地址: https://ju.6miu.com/read-1310645.html
    最新回复(0)