在 Linux 上查看 Oracle 数据库日志,通常分为几类:alert 日志、监听日志、trace 文件、归档/重做日志。下面按常用场景说明。
# 以 oracle 用户执行
su - oracle
查看参数:
sqlplus / as sysdba
SQL> show parameter background_dump_dest;
一般路径类似:
$ORACLE_BASE/diag/rdbms/<dbname>/<instancename>/trace/alert_<instancename>.log
tail -f alert_<instancename>.log
grep ORA- alert_<instancename>.log
adrci
常用命令:
show alert -tail 100
show problem
show incident
lsnrctl status
路径通常类似:
$ORACLE_BASE/diag/tnslsnr/<hostname>/listener/trace/listener.log
tail -f listener.log
路径:
$ORACLE_BASE/diag/rdbms/<db>/<inst>/trace/
查看某会话 trace:
ls -ltr *.trc
tail -f <file>.trc
查看日志组:
select * from v$log;
查看归档:
archive log list;
# 系统日志
/var/log/messages
# Oracle 安装日志
$ORACLE_BASE/cfgtoollogs/
✅ 数据库起不来 → 看 alert 日志
✅ 连不上 → 看 listener.log
✅ 某 SQL 报错 → 看 trace 文件
✅ ORA- 错误 → grep alert 日志
如果你愿意,可以告诉我:
我可以给你更精确的命令。