oracle在centos上的日志如何查看
Oracle在CentOS上的日志查看方法
1. Oracle错误日志(Alert Log)
作用:记录数据库实例的启动/关闭状态、关键错误(如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
- 直接打开文件查看历史记录(需切换至Oracle用户或使用
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>
为实例名(通常与数据库名一致)。
2. 监听器日志(Listener Log)
作用:记录客户端连接请求、监听器状态变化及连接错误(如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
- 查看特定时间段日志(如最近100行):
tail -n 100 $ORACLE_HOME/network/log/listener.log
说明:可通过lsnrctl status
命令验证监听器是否运行(需Oracle用户权限)。
3. 跟踪日志(Trace Logs)
作用:记录会话级详细操作(如SQL执行、锁等待、死锁),用于深度分析性能问题或异常行为。
路径获取方法:
- 登录SQL*Plus(以
SYSDBA
身份):sqlplus /nolog connect / as sysdba
- 执行SQL查询跟踪日志目录:
结果中的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
)。
4. 审计日志(Audit Logs)
作用:记录数据库操作(如DDL、DML、登录/登出),用于安全审计和合规性检查。
路径获取方法:
- 登录SQL*Plus,执行SQL查询审计日志目录:
结果中的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;
)。
5. 归档日志(Archive Logs)
作用:记录重做日志(Redo Logs)的内容,用于数据库恢复(如介质恢复),是归档模式下的关键日志。
路径获取方法:
- 登录SQL*Plus,执行SQL查询归档日志路径:
结果中的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”则为开启状态)。
6. 在线重做日志(Online Redo Logs)
作用:记录数据库的实时更改(如INSERT、UPDATE),用于实例恢复,是数据库运行的核心日志。
路径获取方法:
- 登录SQL*Plus,执行SQL查询在线重做日志路径:
结果中的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自动管理,无需手动修改。
注意事项
- 权限问题:查看Oracle日志需具备Oracle用户权限(或使用
sudo -u oracle
切换至Oracle用户)。 - 日志轮换:Oracle会自动轮换日志文件(如归档日志、跟踪日志),旧日志会被压缩或删除,需定期备份重要日志。
- 工具辅助:对于大规模日志分析,可使用
ELK Stack
(Elasticsearch+Logstash+Kibana)或Splunk
等工具实现集中管理和可视化。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: oracle在centos上的日志如何查看
本文地址: https://pptw.com/jishu/726661.html