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

      目前客户数据库出现归档日志异常:每分钟产生大量归档日志,导致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个月,貌似还得经历较长的等待。

 

      

      

 

 

 

你可能感兴趣的:(sql,活动)