0

我制作了一个 PDB,我可以通过 sys 作为 sysdba 连接到这个 PDB,但是我无法连接我自己的普通用户或本地用户。

原因是 ORA-01017:密码错误。

在我在 sqlnet.ora 中设置后:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

并且密码以引号开始结束,然后工作。

创建用户和登录用户的命令:

create user c##test identified by "test" container=all;
grant create session to c##test container=all;
alter pluggable database FTR_SHOWCASE open;
conn c##test/"test"@localhost:1521/FTR_SHOWCASE

为什么?如何将 SQLNET.ALLOWED_LOGON_VERSION_SERVER 升级到 12。我可以设置不带引号的密码吗?

会不会是编码问题?

谢谢。

H。

4

1 回答 1

1

使用 EZCONNECT 连接数据库时,您需要为用户提供密码:

sqlplus user/pwd@hostname:port/service_name

或者您需要在 tnsnames.ora 中为您的 pdb 声明一个别名并使用以下命令进行连接:

sqlplus user@alias

在您的第一个示例中,它可以工作,因为 oracle 使用 os 身份验证来连接您。

测试:

SQL> create pluggable database FTR_SHOWCASE from PDBINV;

Pluggable database created.

SQL> create user c##test identified by "test" container=all;

User created.

SQL> grant create session to c##test container=all;

Grant succeeded.

SQL> alter pluggable database FTR_SHOWCASE open;

Pluggable database altered.

SQL> conn c##test/"test"@localhost:1521/FTR_SHOWCASE
Connected.

它在数据库更改后起作用。

A 必须在 sqlnet.ora 中设置 SQLNET.ALLOWED_LOGON_VERSION_SERVER=11 然后就可以了!但是为什么默认值不好呢?

而且很奇怪,但是“test”加引号就好了。没有引号的密码是 10170 错误密码。

于 2019-12-06T20:31:55.680 回答