【问题标题】:Oracle 19.3.0.0.0 Password authentication failedOracle 19.3.0.0.0 密码认证失败
【发布时间】:2019-12-06 20:21:13
【问题描述】:

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

原因是 ORA-01017: bad password.

我在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.

【问题讨论】:

  • 你连接数据库的连接字符串是什么?
  • sqlplus sys@localhost:1521/ftr_showcase as sysdba 太好了! sqlplus other_user@localhost:1521/ftr_showcase 不好
  • 您是否可以在 ftr_showcase 以外的数据库中创建 other_user,例如 ORCLPDB1?

标签: oracle security connect oracle19c


【解决方案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.

更改数据库后可以使用。

必须在 sqlnet.ora 中设置 SQLNET.ALLOWED_LOGON_VERSION_SERVER=11 才行! 但是为什么默认值不好呢?

而且很奇怪,但是“test”可以带引号。没有引号的密码是 10170 错误密码。

【讨论】:

  • 在命令之后我也用 sys 输入密码。而且它也不能通过 connect 命令起作用。
  • 你试过了吗:sqlplus user/pwd@hostname:port/service_name ?
  • 是的,但是说密码错误...创建会话权限就够了吗?
  • 没有意义,执行以下操作: sqlplus / as sysdba create user c##test identify by "test";将创建会话授予 c##test container=all;然后显示 pdbs conn c##test/test@localhost:1521/ftr_showcase
  • Sys 用户无需密码即可连接... 像 postgresql ident 一样?喜欢不工作密码检查!!!
猜你喜欢
  • 2013-01-11
  • 2021-01-03
  • 2014-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
  • 2018-04-21
相关资源
最近更新 更多