Oracle ORA-01031: 创建用户时权限不足
Posted
技术标签:
【中文标题】Oracle ORA-01031: 创建用户时权限不足【英文标题】:Oracle ORA-01031: insufficient privileges while creating user 【发布时间】:2017-09-04 04:49:08 【问题描述】:我创建了一个用户,我们从 sysdba 中称他为 C##USER。现在,我正在尝试从 C##USER 创建另一个用户。问题是我不断收到以下错误:
ORA-01031: 权限不足
我已授予 C##USER 所有权限并将默认角色设置为 ALL。还没有任何效果...
有什么想法吗?提前致谢。
【问题讨论】:
【参考方案1】:您只需要一个CREATE USER
系统权限,但不要忘记使用CONTAINER
clause,它应该设置为ALL
,如果您省略此子句,那么被授予者将在当前拥有CREATE USER
系统权限容器。
指定 CONTAINER = ALL 以将系统特权、通用对象或角色的对象特权共同授予通用用户或通用角色
GRANT
创建普通用户帐户时,会在所有打开的可插拔数据库中创建该帐户。所以创建这个新用户的用户必须在所有容器上拥有CREATE USER
系统权限。
SQL> grant create user to c##user container=all;
Grant succeeded.
SQL> conn c##user
Enter password:
Connected.
SQL> create user c##user2 identified by user2;
User created.
【讨论】:
以上是关于Oracle ORA-01031: 创建用户时权限不足的主要内容,如果未能解决你的问题,请参考以下文章
oracle 存储过程 权限问题 PL/SQL: ORA-01031: 权限不足