Oracle故障紧急救援:远程搞定ORA-12224监听器罢工全记录
(2025年8月最新动态:据多地DBA反馈,近期Oracle监听器异常频发,尤其云环境迁移后旧配置冲突成主要诱因)
开头暴击:半夜告警响了
"凌晨3点,企业微信突然炸了——'生产库连不上了!' 打开日志一看,满屏ORA-12224: TNS:no listener,血压瞬间飙升…" 这种场景DBA太熟悉了,别慌,跟着这份实战指南,远程也能快速灭火。
先搞明白敌人在哪
这个报错直白得很:客户端嗷嗷叫着要连接,但监听器压根没上班(或者压根没听见),常见作妖原因有:
LSNRCTL
服务意外崩溃 listener.ora
文件被篡改或路径错误 远程修复六连招(亲测有效)
▌第一式:快速探针
连上服务器先敲这个(Linux/Windows通用):
lsnrctl status
如果返回TNS-12541: TNS:no listener
,直接确诊监听器宕机。
▌第二式:强制唤醒
lsnrctl start
若启动失败,八成是配置文件有问题,接着往下看。
▌第三式:配置文件捉虫
定位listener.ora
(默认在$ORACLE_HOME/network/admin
),重点检查:
LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 你的实际IP)(PORT = 1521)) )
⚠️ 云服务器特别注意:HOST别用localhost,必须写内网IP或域名!
▌第四式:端口争夺战
netstat -ano | grep 1521 # Linux netstat -ano | findstr 1521 # Windows
如果端口被其他进程占用(比如某不知名JAVA服务),记下PID直接kill -9
伺候。
▌第五式:防火墙补漏
临时放行测试(生产环境谨慎):
firewall-cmd --add-port=1521/tcp --permanent # CentOS netsh advfirewall firewall add rule name="Oracle" dir=in action=allow protocol=TCP localport=1521 # Windows
▌第六式:终极重启术
lsnrctl stop lsnrctl start
别笑!Oracle经典疗法"重启大法"依然能解决80%玄学问题。
避坑指南(血泪经验)
sqlnet.ora
中过时的加密协议配置 预防性维护清单
lsnrctl status
检查 listener.ora
副本 tnsping
工具预检测连接(比直接连库更安全) 最后唠叨
遇到ORA-12224别急着重装Oracle!按这个流程走,20分钟内基本能恢复,曾经有客户为此等原厂支持3天,结果发现只是配置里多了个空格… (摊手)
(注:本文方法适用于Oracle 11g至21c版本,特殊环境需调整,2025年8月整理自实战案例及MOS文档)
本文由 苦天泽 于2025-08-04发表在【云服务器提供商】,文中图片由(苦天泽)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/535080.html
发表评论