You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows机器安装Oracle 11g与12c并配置不同端口(保留现有11g)

嘿,我来帮你搞定同一台Windows机器上Oracle 11g和12c共存的两种场景,一步步给你说清楚:

场景一:全新安装Oracle 11g + 12c,使用不同端口

咱先从全新安装的情况说起,步骤很清晰:

  • 先装Oracle 11g,默认用1521端口就行,按照安装向导正常走,选「创建和配置数据库」或者之后手动建库都可以。装完记得用SQL*Plus测试下连接,确保11g正常运行。
  • 接下来装Oracle 12c,重点是改端口避免冲突:
    • 启动12c安装程序,走到「数据库配置」步骤时,点击「端口配置」,把监听端口改成非1521的(比如1522),EM管理端口也顺手改了(默认1158,改成1159就行)。
    • 要是你选择先装软件再建库,那安装软件的时候不用改端口,等用DBCA建库时,指定监听端口为1522就行。另外,建议给12c单独建个监听(比如命名为LISTENER_12C),和11g的默认LISTENER分开,这样更稳妥。
    • 装完后,配置tnsnames.ora文件(两个Oracle的network\admin目录下都要配置),添加两个数据库的连接串:
      ORCL11G =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
          (CONNECT_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = orcl11g)
          )
        )
      
      ORCL12C =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
          (CONNECT_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = orcl12c)
          )
        )
      
    • 最后用SQL*Plus分别测试两个连接串,确保都能正常连上。
场景二:保留现有Oracle 11g,安装Oracle 12c并配置不同端口

这个场景得特别小心,不能搞挂现有11g数据库,步骤如下:

  • 敲黑板!第一步必须备份现有11g数据库:用expdp(数据泵)或者RMAN做个完整备份,万一安装出问题还能恢复,别嫌麻烦,这步是底线。
  • 先确认现有11g的监听端口(默认是1521),记下来,后面12c要避开这个端口。
  • 安装Oracle 12c时,选择「仅安装数据库软件」,别选「创建和配置数据库」,避免自动配置监听和11g冲突。
  • 给12c配置独立监听:
    • 打开Net Manager(或者用命令行netca),新建一个监听,命名成LISTENER_12C,端口设为1522(或者其他没被占用的端口),协议选TCP/IP。
    • 启动这个新监听,同时检查11g的默认LISTENER是不是还正常运行在1521端口,确保两个监听互不干扰。
  • 创建12c数据库:
    • 启动DBCA(数据库配置助手),选「创建数据库」,跟着向导走,在「数据库标识」步骤设置全局数据库名和SID(比如orcl12c)。
    • 到「配置选项」时,指定刚才创建的LISTENER_12C作为监听,或者手动把端口设为1522。
    • 数据库创建完成后,用SQL*Plus测试12c的连接,确认正常运行。
  • 配置tnsnames.ora:
    • 在11g的ORACLE_HOME\network\admin和12c的ORACLE_HOME\network\admin目录下,都添加上两个数据库的连接串(和场景一的示例一样),这样两边都能互相访问。
  • 后续环境变量注意事项:
    • 两个Oracle的ORACLE_HOME要完全分开,别全局设置ORACLE_HOME和PATH,建议建两个bat脚本切换环境:
      比如切换到11g的脚本:
      set ORACLE_HOME=C:\app\your_user\product\11.2.0\dbhome_1
      set PATH=%ORACLE_HOME%\bin;%PATH%
      sqlplus /nolog
      
      切换到12c的脚本:
      set ORACLE_HOME=C:\app\your_user\product\12.1.0\dbhome_1
      set PATH=%ORACLE_HOME%\bin;%PATH%
      sqlplus /nolog
      
    • 用脚本切换环境,就不会出现两个Oracle命令冲突的问题了。

内容的提问来源于stack exchange,提问作者Naveena K N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:11:20