作用:记录数据库实例的启动/关闭状态、关键错误(如ORA-)、警告及维护操作(如归档切换),是故障排查的核心日志。
默认路径:$ORACLE_BASE/diag/rdbms/<db_name>/<instance_name>/trace/alert_<instance_name>.log(例如:/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log)。
查看方法:
tail命令实时查看最新日志(推荐):tail -f $ORACLE_BASE/diag/rdbms/<db_name>/<instance_name>/trace/alert_<instance_name>.log sudo):sudo vi $ORACLE_BASE/diag/rdbms/<db_name>/<instance_name>/trace/alert_<instance_name>.log 说明:$ORACLE_BASE通常为Oracle安装用户的家目录(如/u01/app/oracle),<db_name>为数据库名(如orcl),<instance_name>为实例名(通常与数据库名一致)。
作用:记录客户端连接请求、监听器状态变化及连接错误(如TNS-12541),用于排查网络或连接问题。
默认路径:$ORACLE_HOME/network/log/listener.log(例如:/u01/app/oracle/product/19c/network/log/listener.log)。
查看方法:
tail -f $ORACLE_HOME/network/log/listener.log tail -n 100 $ORACLE_HOME/network/log/listener.log 说明:可通过lsnrctl status命令验证监听器是否运行(需Oracle用户权限)。
作用:记录会话级详细操作(如SQL执行、锁等待、死锁),用于深度分析性能问题或异常行为。
路径获取方法:
SYSDBA身份):sqlplus /nolog connect / as sysdba SHOW PARAMETER USER_DUMP_DEST; 结果中的VALUE即为跟踪日志路径(例如:/u01/app/oracle/diag/rdbms/orcl/orcl/trace)。ora_<pid>.trc):cd $ORACLE_BASE/diag/rdbms/<db_name>/<instance_name>/trace ls -lt | grep ora_*.trc # 按修改时间排序,查看最新文件 tail -f ora_<pid>.trc # 实时跟踪特定会话日志 说明:跟踪日志文件较大,建议通过tkprof工具格式化分析(如tkprof ora_12345.trc output.txt)。
作用:记录数据库操作(如DDL、DML、登录/登出),用于安全审计和合规性检查。
路径获取方法:
SHOW PARAMETER AUDIT_FILE_DEST; 结果中的VALUE即为审计日志路径(例如:/u01/app/oracle/admin/orcl/adump)。audit_*.log):cd $AUDIT_FILE_DEST tail -f audit_*.log 说明:需提前开启审计功能(如AUDIT SELECT TABLE BY scott BY ACCESS;)。
作用:记录重做日志(Redo Logs)的内容,用于数据库恢复(如介质恢复),是归档模式下的关键日志。
路径获取方法:
SHOW PARAMETER LOG_ARCHIVE_DEST; 结果中的VALUE即为归档日志路径(例如:/u01/app/oracle/archivelog)。archivelog_*.arc):cd $LOG_ARCHIVE_DEST ls -lt | grep archivelog_*.arc # 按修改时间排序,查看最新文件 说明:需确认数据库处于归档模式(执行ARCHIVE LOG LIST,若显示“Database log mode: Archive Mode”则为开启状态)。
作用:记录数据库的实时更改(如INSERT、UPDATE),用于实例恢复,是数据库运行的核心日志。
路径获取方法:
SELECT * FROM V$LOGFILE; 结果中的MEMBER列即为在线重做日志文件路径(例如:/u01/app/oracle/oradata/orcl/redo01.log)。V$LOG视图查看日志状态(如当前日志组、是否归档):SELECT GROUP#, STATUS, SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$LOG; 说明:在线重做日志文件由Oracle自动管理,无需手动修改。
sudo -u oracle切换至Oracle用户)。ELK Stack(Elasticsearch+Logstash+Kibana)或Splunk等工具实现集中管理和可视化。