在 Linux 上排查 Oracle 数据库问题,通常可以按“系统 → 监听 → 实例 → 日志 → SQL”这样一层层来。下面给你一套实用排错思路 + 常用命令。
top
free -m
df -h
iostat -x 1
重点关注:
/u01 常见)id oracle
env | grep ORACLE
确认:
ORACLE_HOMEORACLE_SIDoracleps -ef | grep pmon
有 ora_pmon_<SID> 说明实例在。
sqlplus / as sysdba
select status from v$instance;
状态应为:
OPENSTARTED / MOUNTED,说明没完全起来lsnrctl status
常见错误:
TNS-12541: No listenerTNS-12545: Connect failedlsnrctl start
tnsping ORCL
sqlplus user/pass@ORCL
tail -f $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log
或直接:
find /u01 -name alert_*.log
常见错误:
ORA-00600ORA-07445ORA-01157ORA-01219startup
看报错:
tnsnames.ora 配置错 ✅systemctl status firewalld
select tablespace_name, used_percent from dba_tablespace_usage_metrics;
select * from v$lock where block=1;
ps -ef | grep ora_
lsnrctl status
sqlplus / as sysdba
tail -f alert.log
df -h
如果你现在有具体报错信息(如 ORA-xxxxx 或连接失败提示),可以直接贴出来,我可以帮你精准定位。