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

Oracle 11g搭建RMAN复制备库时sqlplus登录报ORA-12560错误

ORA-12560: TNS:protocol adaptor error 排查解决步骤(Windows Server 2012 R2 + Oracle 11g 备库搭建场景)

1. 校验Oracle实例服务状态

当前场景下仅安装了Oracle软件未创建数据库,Windows层面默认没有对应的Oracle实例服务,是报错的核心诱因:

  • 执行oradim命令手动创建备库对应的Windows实例服务,命令格式如下:
    oradim -NEW -SID <替换为你的备库SID> -STARTMODE auto -PFILE <替换为你的备库参数文件全路径>
  • 命令执行完成后,打开Windows服务列表,确认OracleService<你的备库SID>服务处于运行状态
  • 额外确认Oracle<ORACLE_HOME名称>TNSListener服务处于运行状态,和你之前确认的监听器启动状态做交叉校验

2. 核对系统环境变量配置

  • 检查系统级ORACLE_HOME环境变量,确认路径和Oracle 11g实际安装根目录完全一致,示例路径:C:\app\administrator\product\11.2.0\dbhome_1
  • 检查系统级ORACLE_SID环境变量,确认取值和你刚才创建的备库SID完全匹配,注意大小写敏感
  • 检查Path系统变量,确认%ORACLE_HOME%\bin路径已加入,且优先级高于其他Oracle客户端/其他版本Oracle的bin路径,避免路径冲突
  • 若系统为64位但安装的是32位Oracle,需额外确认Path中指向的是32位Oracle的bin目录
  • 环境变量修改完成后,必须重启cmd/PowerShell窗口再做测试,避免旧缓存生效

3. 校验Oracle网络配置

  • 打开%ORACLE_HOME%\network\admin\sqlnet.ora文件,确认配置了SQLNET.AUTHENTICATION_SERVICES= (NTS),允许本地操作系统认证登录
  • 打开%ORACLE_HOME%\network\admin\listener.ora文件,添加备库的静态注册配置,示例如下:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = <替换为你的备库全局数据库名>)
      (ORACLE_HOME = <替换为你的ORACLE_HOME全路径>)
      (SID_NAME = <替换为你的备库SID>)
    )
  )
  • 配置修改完成后执行lsnrctl reload重载监听器配置,再执行lsnrctl status确认备库SID已经处于READY状态

4. 登录验证

所有配置调整完成后,重新打开cmd窗口执行sqlplus / as sysdba即可正常登录到空闲实例,继续后续RMAN duplicate备库搭建操作。如果不想修改系统级环境变量做临时测试,可在cmd窗口先执行set ORACLE_SID=<你的备库SID>,再执行登录命令验证。


内容的提问来源于stack exchange,提问作者Zedan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:45:04