67

我正在尝试从带有 9i (v9.2.0.1) 客户端的 PC 连接到 11g (v11.2.0.1.0) 上的架构。它似乎可以很好地连接到某些模式,但不是这个 - 它ORA-01017 Invalid Username/Password每次都会返回错误。

用户名和密码绝对正确 - 谁能想到这不起作用的原因?

9i 和 11g 之间是否存在根本性的不兼容?

4

17 回答 17

52

用户名和密码肯定不正确。Oracle 11g 凭据区分大小写。

尝试 ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; 并更改密码。

http://oracle-base.com/articles/11g/case-sensitive-passwords-11gr1.php

于 2013-01-23T10:15:53.100 回答
17

对于 oracle 版本 12.2.x,用户无法使用不区分大小写的密码登录,即使 SEC_CASE_SENSITIVE_LOGON = FALSE 如果用户的 PASSWORD_VERSIONS 不是 10g。

以下 sql 应显示用户的 PASSWORD_VERSIONS。

select USERNAME,ACCOUNT_STATUS,PASSWORD_VERSIONS from dba_users;
USERNAME          ACCOUNT_STATUS    PASSWORD_VERSIONS 
---------------   --------------    -----------------
dummyuser         OPEN              11G 12C

使 PASSWORD_VERSIONS 与 10g 兼容

在数据库的 sqlnet.ora 中添加/修改行以使 SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 重新启动数据库 更改/过期现有用户的密码 创建的新用户在上述步骤之后也将具有相同的设置 PASSWORD_VERSIONS 应该是这样的

select USERNAME,ACCOUNT_STATUS,PASSWORD_VERSIONS from dba_users;
USERNAME          ACCOUNT_STATUS    PASSWORD_VERSIONS 
---------------   --------------    -----------------
dummyuser         OPEN              10G 11G 12C
于 2017-07-27T05:22:37.417 回答
16

前段时间我有一个类似的问题。您必须小心使用引号和双引号。建议使用管理员凭据重置用户密码。

ALTER USER user_name IDENTIFIED BY new_password;

但不要在两个参数中使用双引号。

于 2016-01-14T15:55:31.110 回答
12

如果一切都失败了,请尝试将密码重置为相同的内容。我遇到了这个错误并且无法解决它,但只需将密码重置为相同的值即可解决问题。

于 2013-09-03T09:34:19.790 回答
4

您可以使用 sqlplus 连接到 Oracle 数据库:

sqlplus "/as sysdba"

然后创建新用户并分配权限。

grant all privileges to dac;
于 2016-03-26T17:51:13.743 回答
3

我不是专家。如果在 Oracle 11g 中尝试从 SQL Developer 连接 HR 模式时遇到 ORA-01017 请尝试按如下方式解锁 HR

更改由 hr DEFAULT 标识的用户 HR DEFAULT 表空间用户临时表空间临时帐户解锁;

于 2014-01-09T10:00:36.437 回答
3

我遇到了同样的错误,但是当我连接时,脚本中的其他先前语句之前运行良好!(因此连接已经打开,并且一些成功的语句在自动提交模式下运行良好)该错误可以重现几分钟。然后它就消失了。我不知道是否有人或某些内部机制在这段时间内做了一些维护工作或类似的工作——也许吧。

我的环境的更多事实:

  • 11.2
  • 连接为:sys as sysdba
  • 所涉及的操作...读取all_tablesall_views并授予对它们的选择以供其他用户使用
于 2016-10-11T12:48:51.217 回答
2

我遇到了同样的问题,并在用户名和密码周围加上了双引号,它起作用了:使用“TEST”创建由“opps”标识的公共数据库链接“opps”;

于 2013-10-18T17:33:28.867 回答
2

Oracle 11 G 和 12 C 版本建议使用更复杂的密码,虽然在用户创建过程中没有问题。密码必须是字母数字并带有特殊字符。

验证用户的密码版本和状态:

select * from dba_users where username = <user_name>;

在 11G 12C 的情况下修改如下:

alter user <user_name> identified by Pass2019$;

现在测试连接!

于 2019-01-22T17:59:12.900 回答
1

我最近在使用 Oracle 12c 时也遇到了类似的问题。在我更改了使用的 ojdbc jar 的版本后,它得到了解决。将 ojdbc14 替换为 ojdbc6 jar。

于 2020-09-23T08:27:05.453 回答
1

我有一个类似的问题。我使用的 id/pw 是正确的,但我ORA-01017 Invalid Username/Password只连接了一个特定的连接。

事实证明,我在 Oracle SQL Developer 中的连接设置在“代理用户”选项卡中打开了“使用数据库代理身份验证”。我有一段时间没有注意到这一点。

在此处输入图像描述

在我取消选中该选项后,它工作正常。

于 2021-04-06T22:12:25.877 回答
0

关于 Oracle 的 OTN 的提示 = 当您尝试连接时不要在 TOAD 中输入您的密码,并让它弹出 一个输入密码的对话框在那里输入密码,它将起作用。不确定他们在 TOAD 中使用密码做了什么,但这是一种解决方法。它与 11g 中区分大小写的密码有关。我认为如果您将密码更改为全部大写,它将适用于 TOAD。 https://community.oracle.com/thread/908022

于 2015-06-29T08:57:03.047 回答
0

通过代理用户通过 odp.net 连接时,我也收到了相同的 sql 错误消息。

我的错误是我的用户是用引号创建的(例如“rockerolf”),然后我还必须在连接字符串中将我的用户指定为 User Id=\"rockerolf\"..

最后我最终删除了带引号的用户并创建了一个没有..

掌心

于 2016-02-29T12:05:30.903 回答
0

我知道这篇文章是关于 11g 的,但是如果你决定使用那个,那么 12c 客户端中的一个关于它如何加密密码的错误可能是造成这个错误的罪魁祸首:

  • 没有密码区分大小写的问题(即您尝试ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE并重置密码但仍然无效),
  • 在连接字符串中为密码加上引号,但仍然无济于事,
  • 您已经验证了所有的环境变量(ORACLE_HOME, PATH, TNS_ADMIN),并且TNS_ADMIN注册表字符串HKLM\Software\Oracle\KEY_OraClient12Home已经到位,
  • 您已验证您的连接字符串和用户名/密码组合在网络管理器中有效,并且
  • 您可以使用相同的凭据使用 SQL*Plus、Oracle SQL Developer 进行连接。

所有基本检查。

修复:尝试在注册表 (regedit) 中设置HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled0禁用 FIPS。

Oracle.ManagedDataAccess 和 ORA-01017:用户名/密码无效;登录被拒绝

ORA-01005 与 ODP.Net 连接时出错

https://community.oracle.com/thread/2557592?start=0&tstart=0

https://dba.stackexchange.com/questions/142085/ora-01017-invalid-username-passwordlogon-denied/142149#142149

于 2016-06-24T14:26:28.813 回答
0

我最近在使用 Oracle 12c 时遇到了类似的问题。我使用小写密码创建了一个新用户,并且能够从数据库服务器正常登录,但所有客户端都失败并出现 ORA-01017。最终修复结果很简单(将密码重置为大写),但需要付出很多令人沮丧的努力才能到达那里。

于 2017-09-22T21:07:02.747 回答
0

凭据可能是正确的,而其他一些错误。我将我的可插拔数据库连接字符串基于其容器 DB。而不是原来的parent.example.com 服务名称,正确的似乎是pluggable.example.com.

于 2017-11-06T15:10:59.327 回答
0

在我的情况下,使用 oracle 数据库tableplus build 373 on my m1 device 在另一个文本编辑器中copy and paste输入用户名和密码,在 tableplus 中输入用户名和密码。当我键入时in tableplus the text automatically changes to lowercase。因为我对 sqldeveloper 没有任何问题,但是在尝试 tableplus 时它总是拒绝,现在我已经解决了。我不知道为什么它在应用程序或其他方面存在问题,但我已经通过诀窍解决了。

于 2021-06-29T00:42:09.693 回答