运行 授予对 sys 对象的执行查询
Run grant execute query for sys object
我需要你的认真帮助!
我需要 运行 向我的一个用户多次授予执行 sys 对象的查询。
grant execute on SYS.dbms_system to $(User);
grant execute on SYS.dbms_flashback to $(User);
但是,据我所知,为了向 Oracle RDS 的 sys 对象授予权限,我们需要使用过程 rdsadmin.rdsadmin_util.grant_sys_object
来实现。
我构造我的新查询,如下:
begin
rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SYSTEM', '$(User)');
end;
但是,我遇到了一个错误,
SQL Error: ORA-20199: Error in rdsadmin_util.grant_sys_object.
ORA-20900: You do not have permission to grant: to SYS object: DBMS_SYSTEM ORA-06512: at "RDSADMIN.RDSADMIN_UTIL", line 234 ORA-20900:
You do not have permission to grant: to SYS object: DBMS_SYSTEM ORA-06512: at line 2
有人知道我该如何解决这个问题吗?请帮忙!
让我们假设您 运行 正确地执行了该过程,并且您在调用中包含了 execute
权限。这个错误
ORA-20900: You do not have permission to grant: to SYS object: DBMS_SYSTEM
表示您没有足够的权限在 DBMS_SYSTEM 上授予权限。你可能认为你有那种特权,但你没有。
两种可能的解释:
- 您的授权用户没有 WITH GRANT OPTION 权限,并且缺少 GRANT ANY PRIVILEGE 权力角色。
- 您的授权用户通过角色获得了权限。由于 Oracle 安全模型,我们无法使用通过 PL/SQL 中的角色授予的权限。为此,必须直接向用户授予权限。
"there is so many limitation within amazon RDS service ... it is such a huge disappointment from this service. "
这就是IaaS和PaaS的区别。 Amazon RDS 产品是托管数据库即服务。所以他们锁定SYS等是很合理的。SYS是安装、配置和修补数据库的,这些都是亚马逊承担的工作。 (许多地方使用 SYS 来执行常规的 DBA 任务:他们不应该这样做。)如果您想自己进行安装、配置和修补,那么您需要一种不同风格的云服务。
我需要你的认真帮助! 我需要 运行 向我的一个用户多次授予执行 sys 对象的查询。
grant execute on SYS.dbms_system to $(User);
grant execute on SYS.dbms_flashback to $(User);
但是,据我所知,为了向 Oracle RDS 的 sys 对象授予权限,我们需要使用过程 rdsadmin.rdsadmin_util.grant_sys_object
来实现。
我构造我的新查询,如下:
begin
rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SYSTEM', '$(User)');
end;
但是,我遇到了一个错误,
SQL Error: ORA-20199: Error in rdsadmin_util.grant_sys_object.
ORA-20900: You do not have permission to grant: to SYS object: DBMS_SYSTEM ORA-06512: at "RDSADMIN.RDSADMIN_UTIL", line 234 ORA-20900:
You do not have permission to grant: to SYS object: DBMS_SYSTEM ORA-06512: at line 2
有人知道我该如何解决这个问题吗?请帮忙!
让我们假设您 运行 正确地执行了该过程,并且您在调用中包含了 execute
权限。这个错误
ORA-20900: You do not have permission to grant: to SYS object: DBMS_SYSTEM
表示您没有足够的权限在 DBMS_SYSTEM 上授予权限。你可能认为你有那种特权,但你没有。
两种可能的解释:
- 您的授权用户没有 WITH GRANT OPTION 权限,并且缺少 GRANT ANY PRIVILEGE 权力角色。
- 您的授权用户通过角色获得了权限。由于 Oracle 安全模型,我们无法使用通过 PL/SQL 中的角色授予的权限。为此,必须直接向用户授予权限。
"there is so many limitation within amazon RDS service ... it is such a huge disappointment from this service. "
这就是IaaS和PaaS的区别。 Amazon RDS 产品是托管数据库即服务。所以他们锁定SYS等是很合理的。SYS是安装、配置和修补数据库的,这些都是亚马逊承担的工作。 (许多地方使用 SYS 来执行常规的 DBA 任务:他们不应该这样做。)如果您想自己进行安装、配置和修补,那么您需要一种不同风格的云服务。