您现在的位置是:首页 >学无止境 >ORACLE 10G版本数据库系统产生大量归档日志问题的分析网站首页学无止境

ORACLE 10G版本数据库系统产生大量归档日志问题的分析

还不算晕 2024-06-14 17:17:46
简介ORACLE 10G版本数据库系统产生大量归档日志问题的分析

一、服务概述

近期接到用户告知数据库归档暴增,导致生产库归档空间满,手动删除后,归档空间很快就会满。

立即登陆数据库系统,查询发现归档日志异常增长,从以前的每小时产生300M,增长到每小时产生59150M。拉取问题时段的AWR报告,将问题SQL提交给应用运维人员,应用修复相应模块功能后,故障得到解决。故障处理后,依据当时awr和问题处理过程,汇总此文档说明此次故障原因及以后的预防措施。

技术点:

1.   ORACLE 11Gr2开始,数据库AWR中的segment部分的block change小节,可以显示块变更多的表或索引信息,依据此信息结合TOP SQL部分,可以很快速的确定导致产生很多归档日志的SQL语句、程序模块信息等。

2.  在ORACLE 10G中,只能结合TOP SQL,进行分析;极端情况下还需要对REDO LOG进行LOGMNR挖掘分析,可以得到引起归档日志产生量高的SQL语句。

二、问题处理及相关日志分析

  1. 查询数据库每小时归档产生量

归档查询发现,LIS数据库在20220311 22:00:00以后产生的归档量大幅增长,不在正常范围内,拉取22:00:00-23:00:00的AWR报告进行分析,查出产生大量归档的SQL。

  1. AWR报告分析

通过对数据库AWR报告分析查看,查找update或者delete执行很多次的SQL。

首先定位问题发生的时间点(根据日志切换频率)

 收集正常及异常时刻的AWR,进行对比:

正常时间点:

 

问题时间点:

 

 AWR TOP SQL分析:

 

 

在3600秒取样时间内,sql_id2rmbgyhxhp4m3的语句执行27820次,结合客户反馈,将此SQL反馈给应用开发商,很快排查出问题,由于采样编码设置的最大值为999,当日采样人员过多,超过上限导致程序混乱,产生大量update,导致归档暴增,应用采取加模组方式暂时解决,后续修改采样编码上限。

三、总结与后续处理建议

  1. 故障分析总结

归档日志暴增故障分析:

排查归档日志增长原因,发现归档大量产生的原因是问题SQL导致,正常的SQL在出现异常执行时,也会产生问题,出现大量的归档,应该对SQL执行次数进行监控,出现异常执行次数时, 立即处理

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。