在CentOS中分析SQL*Plus日志可从以下方面入手:
定位日志文件
-- 查看当前数据库日志文件路径
SELECT * FROM v$logfile;
-- 查看告警日志路径
SHOW PARAMETER background_dump_dest;
/u01/app/oracle/diag/rdbms/实例名/trace/
(需根据实际安装路径调整)。基础日志查看
cat
、less
、tail
命令查看日志内容,如:tail -f alert_实例名.log # 实时查看告警日志
grep "ORA-" *.log # 筛选错误信息
结构化分析技巧
awk
提取时间戳、错误码等,例如:awk '/ORA-/ {print $1, $2, $10}' alert.log # 提取日期、时间和错误信息
wc -l
统计日志行数,或结合sort/uniq
去重统计错误类型。工具化分析
自动化与监控
# 示例:每日统计错误日志并发送邮件
#!/bin/bash
LOG_FILE="/path/to/alert.log"
ERROR_COUNT=$(grep "ORA-" $LOG_FILE | wc -l)
echo "今日错误数:$ERROR_COUNT" | mail -s "SQL*Plus日志分析" admin@example.com
logrotate
定期轮转日志,避免文件过大。注意:SQL*Plus本身无独立日志,需结合数据库告警日志(alert.log)和跟踪日志(trace文件)分析,操作前确保有足够权限。