问题现象
元旦在家,突然收到数据库服务器磁盘空间告警的短信,短短半小时磁盘空间增长20多G,由于过了一个多小时才到家,到家时业务已经完全瘫痪
问题定位
- 到家查看业务日志,全部是报错
java.sql.SQLException: ORA-00257: archiver error. Connect internal only, until freed.
可以确定是数据库归档出了问题
2)查看数据库归档日志,发现日志以每分钟1G的速度在增长
3)首先删掉部分归档日志保证业务恢复正常
4)查询归档日志大小,发现最近几天每天写入200G,是平时的100倍
SELECT TRUNC(FIRST_TIME) "TIME",
SUM(BLOCK_SIZE * BLOCKS) / 1024 / 1024 / 1024 "SIZE(GB)"
FROM V$ARCHIVED_LOG
GROUP BY TRUNC(FIRST_TIME);
5)logminer查看归档日志
@?/rdbms/admin/dbmslm.sql;
@?/rdbms/admin/dbmslmd.sql;
--执行要分析的归档日志
exec sys.dbms_logmnr.add_logfile(logfilename => '/database/archive/1_98531_946428050.dbf',options => dbm