ORACLE归档日志暴增排查思路
接到客户反馈,这段时间归档日志每天产出200G,左右,非常耗费带宽跟资源。
-
存储同步
/arch 用来存放归档日志,2分钟400MB,全天日志量200GB
/backup/rman_backup用来存放数据库增量和归档日志备份,
从存储复制角度来看,数据库所在磁盘加上归档日志就能实现数据库的恢复,备份策略和存储同步可以分开来规划。把备份的文件单独存放在NFS或者磁带上,把归档日志(压缩之后的备份),单独进行存储同步,以485/82,约6倍的压缩比,可以把每天200G的归档日志压缩到50G以下,会大大减少带宽占用。 -
日志分析
检查每天的日志生成,非常均匀,分析8:00-9:00,一个小时内的AWR报告,发现如下:
每秒的redo size约为4MB,每小时就是15GB
-
检查日志来源于哪个对象,检查Segments by DB Blocks Changes
-
总结
语句来自于:
update AUTOPICK_LOG SET LOG_FILE_IND =‘T’ WHERE LOG_ID <= :1
而该表总共约80万行记录,120M内容,
在1小时内,对数据块的改变达到了4123 7664个数据块,所以还是要分析下业务3问题总结
调整备份策略,至压缩方式。
调整归档和备份的目录,不必全部都用于存储复制。
检查对应的SQL,避免产生不必要的redo日志。