CentOS 上 Oracle 故障排查技巧
一 快速定位路径与日志
二 连接类故障排查
三 实例与启动类故障
四 SQL*Plus 与客户端常见报错
五 高频错误速查表
| 症状 | 快速检查 | 常见根因 | 处理要点 |
|---|---|---|---|
| TNS: 无监听程序 | lsnrctl status;telnet 主机 1521 | 监听未起/端口未放行 | lsnrctl start;firewall-cmd 放行 1521 |
| TNS: 无法解析服务名 | tnsping 别名;核对 tnsnames.ora | 别名/主机/端口/SID 不一致 | 修正 tnsnames.ora 与 DNS/主机名 |
| ORA-01078/LRM-00109 | echo $ORACLE_SID;ls $ORACLE_HOME/dbs | 参数文件缺失或 SID 不符 | 对齐 ORACLE_SID 与 init/spfile 文件 |
| ORA-27125/28 | ipcs -m;free -m;df -h /dev/shm | 共享内存/内存不足或参数过小 | 调整 kernel.shmall/shmmax;扩容 /dev/shm |
| ORA-00205 | show parameter control_files | 控制文件丢失/路径错误 | 从备份恢复或重建控制文件 |
| ORA-12012/ORA-20001 周期性 | grep ORA- alert.log;查 trc | Bug 22879263 | 执行 EXEC dbms_stats.init_package(); 或升级版本 |
| 以上条目可作为现场“第一响应”清单,先恢复业务,再回溯根因。 |