Linux Oracle故障诊断思路
一 快速定位与信息收集
二 分层排查路径
三 常见故障场景与要点
| 场景 | 关键线索 | 快速验证 | 处理要点 |
|---|---|---|---|
| 新连接被拒绝(ORA-12516/12518/12519) | 应用报连接拒绝/超时 | 统计会话与上限、按用户/模块聚合 | 临时 kill 空闲/异常会话;优化连接池;必要时调高 processes/sessions(需重启) |
| 监听不可用(TNS-12541) | 应用无法连库 | lsnrctl status、listener.log、端口占用 | 重启监听;核对 listener.ora;排查防火墙/端口 |
| 连接超时(ORA-12170/TNS-12535) | 偶发或跨网段慢 | ping/telnet/tnsping、sqlnet.ora 超时 | 调整 inbound_connect/send/recv 超时;检查网络设备/ACL |
| 认证失败(ORA-28040/ORA-01017/ORA-28000) | 升级/客户端混用后集中报错 | 查用户状态与密码版本、sqlnet 配置 | 设置 SQLNET.ALLOWED_LOGON_VERSION_SERVER;解锁/重置密码;必要时客户端升级 |
| 数据库不可用(ORA-01034/ORA-27101) | 实例未启动或共享内存异常 | sqlplus 查状态、alert.log 首错 | 依据 alert 修复根因(参数/文件/归档/空间),再启动实例 |
| 归档空间满(ORA-00257) | 写入归档失败、日志切换报错 | 查归档目录使用率与磁盘 | 清理过期归档、扩容磁盘或调整归档路径;必要时临时切换至可用磁盘 |
四 数据保护与恢复要点
五 常用命令与 SQL 速查