温馨提示×

linux oracle怎么查日志

小樊
34
2026-09-13 11:49:29
栏目: 云计算

Linux 上查看 Oracle 日志,通常分为 Oracle 自身日志操作系统 / 监听日志 两类。下面按常见场景给你总结:


一、Oracle 数据库主要日志位置

1️⃣ 查看报警日志(Alert Log)✅ 最常用

Alert Log 记录数据库启动、关闭、报错等关键信息。

方法一:通过 SQL 查路径

SQL> show parameter background_dump_dest;

或(11g/12c+):

SQL> select value from v$diag_info where name='Diag Trace';

常见路径示例:

/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log

查看日志

tail -f alert_orcl.log

less alert_orcl.log

2️⃣ 监听日志(Listener Log)

记录客户端连接、监听启动等信息。

查监听日志路径

lsnrctl status

常见路径:

$ORACLE_HOME/network/log/listener.log

查看监听日志

tail -f $ORACLE_HOME/network/log/listener.log

二、Oracle 各类日志说明

日志类型 说明 位置
Alert Log 数据库核心日志 diag/rdbms/…/trace
Listener Log 监听连接日志 $ORACLE_HOME/network/log
Trace File 后台进程错误 diag/rdbms/…/trace
Audit Log 审计日志 diag/rdbms/…/audit
Alert XML 新版本格式 diag/rdbms/…/alert

三、常用排查命令

查看最近错误

grep -i "ORA-" alert_orcl.log | tail -50

实时查看日志

tail -f alert_orcl.log

查找某个时间段的错误

sed -n '/2026-01-21 10:00/,/2026-01-21 11:00/p' alert_orcl.log

四、不同 Oracle 版本差异

  • 10g 及以前
    $ORACLE_BASE/admin/ORACLE_SID/bdump/alert_ORACLE_SID.log
    
  • 11g / 12c / 19c
    $ORACLE_BASE/diag/rdbms/ORACLE_SID/ORACLE_SID/trace/alert_ORACLE_SID.log
    

五、如果你不知道 SID

ps -ef | grep pmon

echo $ORACLE_SID

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

  • Oracle 版本(10g / 11g / 19c)
  • 想查哪种日志(启动失败 / 连接不上 / 性能问题)

我可以直接给你对应命令

0