向Oracle 12c中的用户授予所有权限

向Oracle 12c中的用户授予所有权限,oracle,oracle12c,privileges,Oracle,Oracle12c,Privileges,在Ora11g中,我使用以下方式向用户授予所有权限 create user xx identified by psw; grant create session, grant any privilege to xx; grant all privileges to xx; 但在ORA12C中,当我执行grant privileges时,我得到以下错误 从命令-grant create session,grant中的第2行开始时出错 xx错误报告的任何权限-ORA-00604:错误发生在 递归S

在Ora11g中,我使用以下方式向用户授予所有权限

create user xx identified by psw;
grant create session, grant any privilege to xx;
grant all privileges to xx;
但在ORA12C中,当我执行grant privileges时,我得到以下错误

从命令-grant create session,grant中的第2行开始时出错 xx错误报告的任何权限-ORA-00604:错误发生在 递归SQL级别1 ORA-20997:“授予任何特权”不授予 允许的ORA-06512:at“RDSADMIN.RDSADMIN”,第79行ORA-06512:at行 2. 60400000-“递归SQL级别%s发生错误” *原因:处理递归SQL语句时出错 (适用于内部字典表的语句)。 *措施:如果出现堆栈上下一个错误中描述的情况 可以纠正的,就这样做;否则请与Oracle支持部门联系

我尝试了中建议的答案,但似乎不起作用

它得到了下面的错误

授予命名错误报告的所有权限-ORA-00922:丢失或丢失 无效选项 92200000-“缺少或无效选项” *原因:
*行动

非常感谢您关于“在ora12c中授予用户所有权限”的帮助。


谢谢!

是的。我可以授予命名空间特权

Create user xx identified by psw account unlock; 
grant connect to xx;
grant create session, create table, create sequence, create trigger to
xx; 
alter user xx quota 5M on USERS;
commit;
如果你需要给无限的配额,你可以使用这个

ALTER USER xx quota unlimited on USERS;
commit;

这是单个实例还是容器数据库?如果是容器数据库,则必须先连接到相应的可插拔数据库,然后才能颁发授权,除非您使用的是普通用户(用户名前缀为c,处理方式略有不同)我猜您正在连接到根容器并尝试在那里创建用户,而不是在它所属的可插拔数据库中创建用户。要更改为可插拔数据库,请在授予数据库之前执行以下“alter session set container=[NAME OF pluggable database]”并检查“触发器-当有人设置触发器以专门阻止授权时,通常会显示错误堆栈。这听起来像是您在amazon rds上使用oracle,而您的帐户没有所需的权限。