Oracle 12c 创建用户

10 oracle oracle-12c

我在企业 Oracle 数据库系统中创建用户时遇到一些问题。无法使用类似命令创建用户

create user name identified by password;
Run Code Online (Sandbox Code Playgroud)

因为例外:

ORA-65096: 无效的通用用户名或角色名

所以我在谷歌上找到了解决方案:

alter session set container=PDBORCL;
Run Code Online (Sandbox Code Playgroud)

在那之后- 是工作。用户已创建。

但是我无法登录这个帐户。怎么了?我将所有权限添加到此帐户(当然也是 CREATE SESSION)。我有错误:

ORA-01017: 无效的用户名/密码;登录被拒绝。

这到底是怎么回事?

Phi*_*lᵀᴹ 8

如果要创建可以管理任何可插入数据库的用户,请在用户名前加上C##.

例如:

create user c##name identified by password;
Run Code Online (Sandbox Code Playgroud)


小智 2

您在 pdb 中创建了一个用户。您需要连接到该 pdb 才能与新创建的用户连接,因为只有该 pdb 不是普通用户时才知道该用户。要连接到正确的 pdb,您需要在连接字符串中指定正确的服务名称。