如何解决Oracle启动ORA-00119错误_网络服务名与listener相关性

张开发
2026/5/6 7:48:47 15 分钟阅读
如何解决Oracle启动ORA-00119错误_网络服务名与listener相关性
ORA-00119本质是LOCAL_LISTENER参数值虽语法正确但无法实际连接需确保其指向的地址可解析、监听已启动且端口可达推荐硬编码地址而非依赖tnsnames.ora。ORA-00119 错误本质是 LOCAL_LISTENER 参数“说得出连不上”不是语法写错而是 oracle 启动时真去尝试连接 local_listener 指定的地址——结果发现名字查不到、监听没起来、端口不通、ip 绑错网卡甚至 tnsnames.ora 根本没被读到。所以报错里常连带 ora-00132: syntax error or unresolved network name listener_orcl这其实是“查无此名”的委婉说法。关键判断点SHOW PARAMETER LOCAL_LISTENER 看到的值必须能被 Oracle 实际解析并建立 TCP 连接光“看着像对”没用。如果值是 LISTENER_ORCL就要确认 $ORACLE_HOME/network/admin/tnsnames.ora 里真有这个别名且其 HOST 和 PORT 与监听器实际运行一致如果值是空、(ADDRESS(PROTOCOLTCP)(HOST)(PORT1521)) 或明显缺字段基本就是参数损坏或手动改崩了 SPFILE注意Oracle 启动时默认只认 $ORACLE_HOME/network/admin/tnsnames.ora不看 $TNS_ADMIN 下的文件除非环境变量已显式设置绕过 tnsnames.ora 依赖直接写死地址最稳用 TNS 别名如 LISTENER_ORCL看似简洁但多一层解析就多一个失败点。生产环境更推荐把监听地址“硬编码”进 LOCAL_LISTENER跳过 tnsnames.ora 查找逻辑。正确格式是(ADDRESS(PROTOCOLTCP)(HOSTlocalhost)(PORT1521))注意不是 ADDRESS_LIST那是老版本写法11g 已不推荐HOST 填 localhost 或服务器真实 IP如 192.168.1.100避免用 127.0.0.1 —— 若监听器在 listener.ora 中绑定了具体网卡127.0.0.1 可能连不通确保该地址和端口与 lsnrctl status 显示的监听器 Listening Endpoints Summary... 里的完全一致修改前先 lsnrctl start 启动监听再 lsnrctl status 确认 READY 状态否则数据库启动后注册失败客户端仍连不上安全修复流程别直接 ALTER SYSTEM在库已挂起或无法启动时强行 ALTER SYSTEM SET LOCAL_LISTENER... 不仅无效还可能让实例卡在 MOUNT 状态。必须走“PFILE 中转”路径。 Fotor AI Image Generator Fotor 平台的 AI 图片生成器

更多文章