案例描述:客户反应数据库归档日志生成过快,导致磁盘空间占满,引起数据库宕机。问题看起来很简单,只要清理下归档日志然后重启就能解决,但这只是治标不治本的方法,显然是要找到归档日志增长异常频繁的原因。最后通过LogMiner分析归档日志发现是运维部署了频繁update的语句,停了后归档日志变为正常。下面是详细步骤
1. 通过v$archived_log视图查看最近归档日志状态
select to_char(COMPLETION_TIME, 'yyyymmdd'), count(*) from v$archived_log t
where t.COMPLETION_TIME > sysdate - 20
group by to_char(COMPLETION_TIME, 'yyyymmdd') order by to_char(COMPLETION_TIME, 'yyyymmdd');
2. 查看今天的归档日志情况,看到8点左右归档日志增长最大 select to_char(FIRST_TIME, 'yyyymmddhh24'), count(*) fromsys.v_$archived_log t
where t.FIRST_TIME > trunc(sysdate)
groupby to_char(FIRST_TIME, 'yyyymmddhh24')
orderby to_char(FIRST_TIME, 'yyyymmddhh24')
3. 查看今天八点的归档日志的路径
selectname, COMPLETION_TIME, t.FIRST_TIME, t.RESETLOGS_TIME fromsys.v_$archived_log t
where to_char(FIRST_TIME, 'yyyymmddhh24') = 2015081108 orderby t.FIRST_TIME desc;
4. 打开
toad,连接数据库,打开日志分析工具
(database?diagnose?logminer)
logminer
5. 点击next

