以下是CentOS上Oracle故障排查的核心技巧,涵盖日志分析、状态检查、工具使用等关键环节:
服务与监听器状态
systemctl status oracle,未运行则启动:systemctl start oracle。lsnrctl status,未启动则执行lsnrctl start。日志文件分析
$ORACLE_BASE/diag/rdbms/<db_name>/<instance_name>/trace/alert_<instance_name>.log,使用tail -f实时查看或grep "ORA-"过滤错误。$ORACLE_HOME/listener/log/listener.log,排查网络连接问题。adrci工具查看:adrci show alert。资源使用情况
top、free -h、df -h、iostat,确保无资源耗尽。网络连通性
ping测试客户端到服务器的网络延迟,traceroute定位网络跳数和丢包点。systemctl stop firewalld,或放行Oracle端口(默认1521)。参数配置验证
SHOW PARAMETERS,重点关注SGA_TARGET、PGA_AGGREGATE_TARGET等内存参数。SELECT * FROM v$parameter WHERE isdefault = 'FALSE'识别修改过的参数。表空间与数据文件
SELECT tablespace_name, used_space, free_space FROM dba_tablespace_usage_metrics,确保无空间不足。SELECT file_name, status FROM dba_data_files,确认文件存在且为AVAILABLE。AWR与ASH报告
@ORACLE_HOME/rdbms/admin/awrreport.sql,分析性能瓶颈(如SQL执行慢、等待事件)。SELECT * FROM v$active_session_history,定位活跃会话和资源占用。SQL*Plus与RMAN
SELECT * FROM v$session_event查看会话等待事件,SELECT * FROM v$sql分析慢SQL。RMAN> DELETE EXPIRED ARCHIVELOG ALL。用户权限验证
chown -R oracle:oinstall $ORACLE_HOME。echo $ORACLE_HOME、echo $PATH,确认指向正确路径。依赖包检查
rpm -qa | grep oracle确认安装包完整,缺失时通过yum install补充(如oracle-database-preinstall)。操作建议:优先通过日志定位错误代码(如ORA-),再结合工具逐步排查资源、配置或软件问题。复杂故障可联系Oracle技术支持获取针对性解决方案。