以下是CentOS上Oracle故障排查的核心步骤,涵盖服务、日志、资源等关键环节:
检查服务与监听器状态
sudo systemctl status oracle.service,未运行则启动sudo systemctl start oracle.service。lsnrctl status,未运行则启动sudo lsnrctl start。查看错误日志
tail -f $ORACLE_BASE/diag/rdbms/db_name/instance_name/trace/alert_instance_name.log。/u01/app/oracle/oradata/orcl/listener/log/listener.log。验证环境变量与权限
ORACLE_HOME和PATH正确:echo $ORACLE_HOME、echo $PATH。ls -l $ORACLE_HOME。排查系统资源与网络
top(CPU/内存)、df -h(磁盘空间)。ping 数据库服务器IP、telnet IP 端口(默认1521)。使用Oracle诊断工具
SHOW PARAMETERS检查参数,或SELECT * FROM v$instance查看实例状态。ADMINISTER DIAGNOSTIC命令收集诊断数据。检查配置文件与版本
listener.ora、tnsnames.ora(路径:$ORACLE_HOME/network/admin/)。sqlplus / as sysdba执行SELECT * FROM v$version,确认补丁已应用。处理常见问题场景
sudo firewall-cmd --add-port=1521/tcp)、SELinux(临时禁用sudo setenforce 0)。RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'。@?/rdbms/admin/awrrpt.sql。提示:若以上步骤无法解决,建议通过Oracle官方文档(MOS)或社区论坛提交错误日志获取针对性支持。