Oracle 11g 的维修窗口时间段内,会自动收集为查询优化器使用的统计信息。
Automatic Optimizer Statistics Collection:
该维修窗口默认周一到周五,每天晚上10点执行,持续4小时;周六到周日,早上6点开始,持续20小时。
在维修窗口期间会造成业务系统的数据库查询操作和修改操所,全部阻塞挂起。
目前已统一将维修窗口时间段调整为每天凌晨3点,持续2小时;但因为业务系统24小时都有人使用,所以想进步一减少维修窗口期间数据阻塞对业务系统的影响,就有下面几个问题。请高手回答下!有如下几个问题:
1、为什么会阻塞,维修窗口干的上面事情会造成相关操作阻塞?
2、该数据统计信息任务关闭的话,对业务系统的性能有何影响?
3、如果不关闭数据统计信息任务,如何减少其对业务系统的影响?请Oracle高手指导,多谢!
Automatic Optimizer Statistics Collection:
该维修窗口默认周一到周五,每天晚上10点执行,持续4小时;周六到周日,早上6点开始,持续20小时。
在维修窗口期间会造成业务系统的数据库查询操作和修改操所,全部阻塞挂起。
目前已统一将维修窗口时间段调整为每天凌晨3点,持续2小时;但因为业务系统24小时都有人使用,所以想进步一减少维修窗口期间数据阻塞对业务系统的影响,就有下面几个问题。请高手回答下!有如下几个问题:
1、为什么会阻塞,维修窗口干的上面事情会造成相关操作阻塞?
2、该数据统计信息任务关闭的话,对业务系统的性能有何影响?
3、如果不关闭数据统计信息任务,如何减少其对业务系统的影响?请Oracle高手指导,多谢!
不会阻塞。表收集统计信息的时候 增删改查甚至加字段,删字段 都不会被阻塞。只是收集统计信息的时候比较占IO,所以一般都是配置数据库闲时跑维护任务。
2、该数据统计信息任务关闭的话,对业务系统的性能有何影响?
oracle 现在是CBO 优化器对sql进行优化,依靠收集的统计信息分析得出最优的执行计划。如果你把统计信息的维护任务关闭了,业务表的统计信息都是过时的不准确的,cbo得出的执行计划就不会是最优的。比如该走索引的,执行计划走成全表了,sql性能自然会受影响。
3、如果不关闭数据统计信息任务,如何减少其对业务系统的影响?
统计信息任务还是有必要打开的。调到业务闲事执行就好了。
卡的时候你参考我博客的监控下什么等待事件了。