【发布时间】:2019-02-17 04:08:42
【问题描述】:
在 Ora11g 中,我曾经将所有权限授予用户,如下所示。
create user xx identified by psw;
grant create session, grant any privilege to xx;
grant all privileges to xx;
但在 Ora 12c 中,当我执行授予权限时,我收到以下错误。
从第 2 行开始的错误命令 - 授予创建会话,授予 xx 错误报告的任何权限 - ORA-00604:错误发生在 递归 SQL 级别 1 ORA-20997:“GRANT ANY PRIVILEGE”授予不 允许 ORA-06512:在“RDSADMIN.RDSADMIN”,第 79 行 ORA-06512:在第 79 行 2 00604. 00000 - “错误发生在递归 SQL 级别 %s” *原因:处理递归 SQL 语句时出错 (适用于内部字典表的语句)。 *Action:如果堆栈中描述的情况下一个错误 可以更正,这样做;否则请联系 Oracle 支持。
我尝试了1 中建议的答案,但似乎不起作用。
1。 Regarding Users in Oracle 12c
出现以下错误。
GRANT All PRIVILEGE TO name 错误报告 - ORA-00922: 缺失或 无效选项 00922. 00000 - “缺少或无效选项” *原因:
*行动
非常感谢您对“向 ora12c 中的用户授予所有权限的帮助”。
谢谢!
【问题讨论】:
-
这是单个实例,还是容器数据库?如果它是容器数据库,则必须先连接到适当的可插拔数据库,然后才能发出授权,除非您使用的是普通用户(用户名以 c## 为前缀,并且处理方式略有不同。)我'我猜测您正在连接到根容器并尝试在那里创建用户,而不是在它所属的可插入数据库中。要更改为可插拔,请执行以下“alter session set container=[NAME OF PLUGGABLE DATABASE]”
-
同时检查“BEFORE GRANT ON DATABASE”触发器——当有人设置触发器专门阻止授权时,通常会出现错误堆栈。
-
这听起来像您在亚马逊 rds 上使用 oracle 并且您的帐户没有所需的权限。
标签: oracle oracle12c privileges