linux

Linux Oracle如何进行故障排除

小樊
43
2025-12-24 10:00:05
栏目: 云计算

Linux Oracle故障排除实战手册

一 快速定位流程

二 常见故障场景与处置要点

症状/错误码 快速检查 处置要点
监听未启动/端口不通(TNS-12541、ORA-12560) lsnrctl status;`ps -ef grep tnslsnrnetstat -an
连接超时(ORA-12170、TNS-12535) ping <IP>telnet <IP> 1521tnsping <服务名>;检查 sqlnet.ora 超时 调整 SQLNET.INBOUND_CONNECT_TIMEOUT/SQLNET.SEND_TIMEOUT/SQLNET.RECV_TIMEOUT(如 120 秒);排查网络设备/防火墙会话超时
连接数上限(ORA-12516/12518/12519) SELECT COUNT(*) FROM v$session;SHOW PARAMETER processes; SHOW PARAMETER sessions;;按用户/模块统计 终止无用 INACTIVE 会话:ALTER SYSTEM KILL SESSION 'sid,serial#';适度调大 processes/sessions(需重启);应用侧优化连接池与泄漏
认证协议不匹配(ORA-28040) SELECT username, password_versions FROM dba_users WHERE username='xxx';sqlnet.oraSQLNET.ALLOWED_LOGON_VERSION_SERVER 服务端设置 SQLNET.ALLOWED_LOGON_VERSION_SERVER=11(或更高兼容版本);必要时重置用户密码以生成新版本密码
账号锁定/密码过期(ORA-01017、ORA-28000) SELECT username, account_status, lock_date, expiry_date FROM dba_users WHERE username='xxx'; 解锁:ALTER USER xxx ACCOUNT UNLOCK; 重置密码:ALTER USER xxx IDENTIFIED BY 新密码; 视需要调整密码策略
数据库不可用(ORA-01034、ORA-27101) sqlplus / as sysdba 查实例状态;lsnrctl status 看服务注册 启动实例 startup;若失败,立刻查看 Alert 日志 定位根因
修改 SGA/PGA 后无法启动 检查系统 OOM 与磁盘空间;free -hswapon --showgrep -i "oom|kill" /var/log/messagesdf -h 临时扩容 Swap 恢复实例;将内存管理改为手工并下调 sga_target/pga_aggregate_target,遵循 SGA+PGA ≤ 物理内存的约 80% 的经验值,再逐步调优

三 日志与诊断工具

四 系统资源与环境检查

五 安全与变更建议

0
看了该问题的人还看了