Ubuntu 上 Oracle 日志管理实操指南
一 日志位置与快速查看
/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log。tail -f /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.logtail -f /u01/app/oracle/diag/rdbms/orcl/orcl/trace/ora_1234.trcadrci 进入后执行 show alert -tail 100 等命令。tail -f $ORACLE_HOME/network/log/listener.log 实时查看。二 数据库内日志模式与归档管理
SELECT log_mode FROM v$database;ALTER DATABASE ARCHIVELOG;(需以 SYSDBA 身份执行,并在合适维护窗口进行)SELECT dest_name, status, destination FROM v$archive_dest;ALTER SYSTEM ARCHIVE LOG ALL;RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;RMAN> DELETE NOPROMPT ARCHIVELOG ALL BACKED UP 1 TIMES TO DISK;三 系统级日志轮转与清理
sudo vim /etc/logrotate.d/oracle/u01/app/oracle/diag/rdbms/*/*/trace/*.log
/u01/app/oracle/diag/rdbms/*/*/trace/alert_*.log
/u01/app/oracle/network/log/*.log {
daily
size 100M
rotate 7
compress
missingok
notifempty
copytruncate
create 0640 oracle oinstall
}
sudo logrotate -d /etc/logrotate.d/oracle(干跑),sudo logrotate -f /etc/logrotate.d/oracle(强制执行)。rm 正在写入的 Oracle 日志文件,优先使用 copytruncate 或让 Oracle 切换到新日志。四 集中监控与故障排查
tail -n 200 alert_<sid>.log 定位 ORA- 错误与时间线;tail -f $ORACLE_HOME/network/log/listener.log 检查连接与监听状态;df -h、free -m、top;ps -ef | grep pmon、lsnrctl status;必要时用 adrci 深入分析。五 安全与维护建议