温馨提示×

linux oracle怎样查日志

小樊
45
2026-10-21 23:47:25
栏目: 云计算

在 Linux 上查看 Oracle 数据库日志,通常分为几类:alert 日志、监听日志、trace 文件、归档/重做日志。下面按常用场景说明。


一、查看 Oracle Alert 日志(最常用)

1️⃣ 找到 alert 日志位置

# 以 oracle 用户执行
su - oracle

查看参数:

sqlplus / as sysdba
SQL> show parameter background_dump_dest;

一般路径类似:

$ORACLE_BASE/diag/rdbms/<dbname>/<instancename>/trace/alert_<instancename>.log

2️⃣ 实时查看 alert 日志

tail -f alert_<instancename>.log

3️⃣ 搜索错误

grep ORA- alert_<instancename>.log

二、使用 ADRCI 工具(11g+ 推荐)

adrci

常用命令:

show alert -tail 100
show problem
show incident

三、监听日志(Listener Log)

1️⃣ 找到监听日志

lsnrctl status

路径通常类似:

$ORACLE_BASE/diag/tnslsnr/<hostname>/listener/trace/listener.log

2️⃣ 查看监听日志

tail -f listener.log

四、Trace 文件(会话/错误追踪)

路径:

$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 日志


如果你愿意,可以告诉我:

  • Oracle 版本(10g / 11g / 19c)
  • 是想查 启动问题 / 连接问题 / 性能问题
  • 是否是 RAC / 单实例

我可以给你更精确的命令。

0 踩