使用Oracle11g客户端连接Oracle19C服务器

问题描述 投票:0回答:4

全部

我正在尝试连接到 Oracle 19C 数据库。我安装了两个 Oracle 客户端(11g 和 12c),因为我们需要支持遗留程序。我可以通过 12c 客户端使用 sqlplus 与任何用户进行连接,没有任何问题。但是如果我对任何用户使用 11g (11.2.0) 客户端。我总是得到:

ERROR:
ORA-01017: invalid username/password; logon denied

两个客户端都有完全相同的 sqlnet.ora 和 tnsnames.ora 文件,因此两个客户端都指向同一个数据库。

有什么想法吗?我需要在 19c 服务器中设置一些特定配置吗?或者我需要在 11g 客户端中进行一些更改吗?这可能吗?

谢谢你。

oracle oracle11g oracle12c oracle19c ora-01017
4个回答
8
投票

查看不同 Oracle 版本的客户端/服务器互操作性支持矩阵(文档 ID 207303.1)

  • #9 - 仅限 11.2.0.3 或 11.2.0.4。对于 Oracle 自治事务处理和 Oracle 自治数据仓库,存在额外的限制,11.2.0.4 是支持的最低客户端版本。

通常安装多个 Oracle 客户端(即 32 位和 64 位各一个)是一个坏主意。

对于某些组件,例如“Oracle OleDB Provider”甚至不可能安装多个版本(同样,32 位和 64 位各一个)。这是旧的 Windows COM 架构的限制。

对于其他组件,它可能有效,但是您需要相应地设置

%PATH%
环境变量,使其指向安装当前所需版本的正确文件夹。


1
投票

我无法使 11 客户端(ODP.Net + Instant Client 11.2)连接到 19 DB,无论我对 sqlnet.ora 文件进行了有关安全性等的任何更改,无论是在服务器还是客户端。我总是收到一条关于不可能协商协议的神秘消息。

安装 Instant Client 19 时没有任何问题,只是密码现在区分大小写。我还可以将此新客户端与运行 11.2 软件的旧数据库一起使用。


0
投票

我已使用 ODAC 11.2.0 连接到 Oracle 19C 版本 19.0.0.0.0,没有任何问题。但如果您想连接到 oracle 19C 更高版本,则需要拥有 ODAC 11.0.3 或更高版本。仍在寻找使用 ODAC 11.0.2 连接到更高版本的 Oracle 19C 版本的方法。


-1
投票

添加到sqlnet.ora

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11
SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

在11客户端修改密码

© www.soinside.com 2019 - 2024. All rights reserved.