文章目录
前言
在实际工作中发现一个问题,在工作日导出的下午2点awr报告中,发现存在 call dbms_stats.gather_database_stats_job_proc ( ) 明显是一个数据库自动化的任务,经过查询是统计信息任务,比较奇怪的是统计信息怎么会在下午2点进行运行呢?
提示:以下是本篇文章正文内容,下面案例可供参考
一、统计信息窗口期调查
通过sql查询窗口期为以下内容:
周一至周五晚上22点运行,窗口期是4小时。
周六至周日早上6点运行,窗口期是20小时。
(2月3日是周五,应22点开始运行任务,却在下午2点awr中体现)
二、时区调查
时区是东8时区,属于中国时区。
三、查询alert记录
发现了其他时间的两点同样运行了,特别奇怪!!!
四、why Database Statistic Collection Job is running two times inside a Maintenance Window?
如果维护窗口很长,则除自动SQL调优顾问之外的所有自动维护任务都是每四小时重新启动一次。虽然可以解释周六日运行的情况,但仍无法解释工作日的问题。
五、Default Scheduler Timezone Value In PDB$SEED Different Than CDB
六、总结
写到这里大家就明白为什么了,一个官方没有发布的小情况,可能在Oracle看来这还不是一个BUG吧,可能大家99.9%的业务系统没有因此问题受到影响,但我好像是那0.01%。因为业务高峰时期运行统计任务导致硬解析太多,以上供各DBA参考,但最重要的是优化SQL哦,避免更多的硬解析或者解析失败的情况。