近巡检发现某个系统的日志切换特别频繁,基本一分钟左右一次,发生不能allocate新日志以及checkpoint incomplete告警,虽然业务没有反馈,但是可以想象对事务肯定是有影响的。下面我们提供下这个问题的处理思路,具体SQL我后面再给出,情况不同需要的SQL 查询脚本也不同。
1 通过查询近几天的日志切换频率,确认是随机事件还是规律发生的事件。
2 我们定位一个时间点,找变更多的段信息
3 通过AWR或者ASH或者自己的脚本确认对应的SQL,我通过AWR找到跟段对应的一个SQL一个小时执行了800多万次,是给redo造成压力的主要SQL。
4 与业务沟通,一般根据SQL的执行用户连接信息可以确认应用,根据自己单位情况。
5 修改业务逻辑消除SQL影响,如减少执行次数,停止错误JOB等。
我遇到的问题就是应用的一条SQL的循环写的有问题,业务确认修改后,问题解决。具体SQL我在下次再给出吧。