如何在同一台服务器上并存安装Oracle 11g与19c两个版本?

胖静同学_4776

胖静同学_4776

2026-07-04

1016人浏览

原创

必须为每个oracle版本独立配置oracle_home、oracle_sid、监听端口及network/admin文件,避免二进制混用和连接错误;linux需分设/u01/app/oracle/product/11.2.0/db_1与/u02/app/oracle/product/19.3.0.0/db_1,windows需区分c:\app\oracle\product\11.2.0\db_2与c:\app\oracle\product\19.0.0\db_1,监听器须命名唯一(如listener_11g/1521、listener_19c/1522),并同步设置local_listener参数,环境变量不可交叉引用。

可以,但必须让每个版本独占 oracle_home、oracle_sid、监听端口和 network/admin 配置文件,否则 sqlplus、lsnrctl 会调用错二进制,tns-12545 或连接到错误实例是常态。

ORACLE_HOME 必须完全隔离

两个版本绝不能共用同一路径。安装程序虽不阻止你选已有路径,但实际会覆盖动态库、脚本和网络配置,导致不可逆混用。

  • Linux 示例:/u01/app/oracle/product/11.2.0/db_1(11g) vs /u02/app/oracle/product/19.3.0.0/db_1(19c),注意 /u02 应为全新挂载点或独立目录
  • Windows 示例:C:\app\oracle\product\11.2.0\db_2 vs C:\app\oracle\product\19.0.0\client_1(客户端)或 db_1(服务端)
  • 不要在全局 PATH 中硬编码任一 ORACLE_HOME\bin;改用临时设置:export ORACLE_HOME=/u02/app/oracle/product/19.3.0.0/db_1,再追加 $ORACLE_HOME/bin 到 PATH

监听器名称与端口必须全局唯一

listener.ora 不是共享文件——每个 ORACLE_HOME 下的 network/admin/listener.ora 必须独立维护。只改端口却不改监听器别名,会导致 lsnrctl start 失败。

  • 11g 监听器建议命名为 LISTENER_11G,绑定 PORT = 1521
  • 19c 监听器必须命名为 LISTENER_19C(不能也叫 LISTENER),绑定 PORT = 1522
  • 数据库内需同步执行:ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522))' SCOPE=BOTH;,否则动态注册失败,tnsping 通但 sqlplus 连不上

环境变量与用户账号要按版本切换

不同版本的 Oracle 工具(比如 sqlplus)对 ORACLE_HOME 的依赖是运行时硬绑定的,不是靠连接字符串决定的——哪怕你写对了 @my19c,只要当前 ORACLE_HOME 指向 11g,就可能因库版本冲突报错。

QuantOracle
QuantOracle

63个确定性量化金融计算器 + 10个通过MCP的复合工作流。期权定价、Greeks、奇异衍生品、风险指标、投资组合优化……

下载
  • Linux 上强烈建议为每个版本创建独立系统用户(如 oracle11、oracle19),避免 ~/.bash_profile 冲突
  • Windows 上注意注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\DEFAULT_HOME,该值决定 PL/SQL Developer 等工具默认读哪个 tnsnames.ora
  • 每个用户的 .bash_profile 或 Windows 环境变量中,只设自己的 ORACLE_HOME 和 ORACLE_SID,绝不交叉引用

tnsnames.ora 和 sqlnet.ora 不能复用

每个 ORACLE_HOME 下的 network/admin 目录必须各自维护完整的一套配置文件,包括 tnsnames.ora、sqlnet.ora,甚至 ldap.ora(如启用 LDAP)。

  • 11g 的 tnsnames.ora 里定义的连接串(如 ORCL11G)应指向其专属监听器和 ORACLE_SID
  • 19c 的 tnsnames.ora 里定义的连接串(如 ORCL19C)必须指向其监听器端口(如 PORT=1522)和对应 SID
  • 若使用 Instant Client,不同版本可解压至不同目录,仅靠切换 PATH 和设置 TNS_ADMIN 即可,反而更轻量安全

最易被忽略的是:Oracle 客户端工具启动时,直接加载当前 ORACLE_HOME 下的 libclntsh.so(Linux)或 oci.dll(Windows),跟 tnsnames.ora 里写什么无关。一旦环境变量没切干净,连错库、报 ORA-03113 或段错误都是大概率事件。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

oracle

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

940

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3052

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1016

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

909

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

474

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2796

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5212

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

807

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程