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