日期:2014-05-16  浏览次数:20459 次

数据库归档日志量剧增故障处理

????? 目前客户数据库出现归档日志异常:每分钟产生大量归档日志,导致DATAGUARD库端空间不足,主库端空间也紧张,期间数据库出现连接不上的故障。

????? 由于之前给客户清理了下STATSPACK的数据,删除大约16000个SNAPSHORT,而删除一半的时候又取消了,怀疑是大量数据删除及大事务回滚造成产生大量的REDO数据(心慌啊!!)

????? 查看当前回滚段的使用情况:

?

??????select usn,rssize,xacts from v$rollstat;

???

????? 其中6和9号回滚段长时间处于活动状态

?????

??????唉,数据回滚太费资源了吧,于是我干脆把PERFSTAT用户DROP,但发现问题依旧

????? 通过归档日志日期的查看,对STATSPACK的操作在当天就回滚完毕,后面出现的情况就不知道什么原因了

?

????? 于是开始查看哪个会话产生了这么多的REDO

?

?????? select statistic#,name from v$statname where name like 'redo size%';

?????????? 115?????? redo size

?????? create table t1 as select sid,value from v$sesstat where statistic#=115 order by 2;

?????? 一段时间间隔后。。。

?????? create table t2 as select sid,value from v$sesstat where statistic#=115 order by 2;

?????? 查看数据统计差异

???????select a.sid,b.value-a.value from t1 a,t2 b where a.sid=b.sid order by 2;

?????

?????? 经过多次查询发现会话75就是罪魁祸首

??????

?????? select a.sid,a.serial#,b.sql_text from v$session a,v$sql b

?????? where a.sid=75 and a.sql_hashvalue=b.hash_value;

?

?????? 查到相应的语句,和开发的进行沟通后发现目前正常进行业务数据恢复,要1年的数据,而目前只恢复的1个月,貌似还得经历较长的等待。

?

??????

??????

?

?

?