关闭和打开Oralce10g自动收集COB信息

前几天,发现平台的一支程序突然运行的很慢,经分析后,发现是数据库查询变得超级慢。
用OB9分析后,发现索引正常,没办法最后重启了数据库后,速度直接飚上来了。
但好景不长,第二天早上4点后,又变成龟速,只好找公司DBA帮忙分析问题。

最后发现是Oracle的自动统计分析Job,每天自动进行统计,然后优化器就不走索引,而走统计分析的结果。
而我们的表有较多的删除操作,很快统计分析的结果就不可靠了,结果速度很快就下来了。

最后,禁用之,搞定:)

--状态查询
select * from Dba_Scheduler_Jobs where JOB_NAME ='GATHER_STATS_JOB'

--sysdba
--关闭
exec dbms_scheduler.disable('SYS.GATHER_STATS_JOB');

--sysdba
--启用
exec dbms_scheduler.enable('SYS.GATHER_STATS_JOB');

Leave a Reply

Your email address will not be published. Required fields are marked *

*