鸡肋 -- ORACLE10g自动收集CBO统计信息(ZT)

链接:
从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息。

这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启。调用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC收集统计信息。该过程首先检测统计信息缺失和陈旧的对象。然后确定优先级,再开始进行统计信息。

可以通过以下查询这个JOB的运行情况:

select * from Dba_Scheduler_Jobs where JOB_NAME ='GATHER_STATS_JOB'

其实同在10点运行的Job还有一个AUTO_SPACE_ADVISOR_JOB:

SQL> select JOB_NAME,LAST_START_DATE from dba_scheduler_jobs;

JOB_NAME LAST_START_DATE
------------------------------ ----------------------------------------
AUTO_SPACE_ADVISOR_JOB 04-DEC-07 10.00.00.692269 PM +08:00
GATHER_STATS_JOB 04-DEC-07 10.00.00.701152 PM +08:00
FGR$AUTOPURGE_JOB
PURGE_LOG 05-DEC-07 03.00.00.169059 AM PRC

然而这个自动化功能已经影响了很多系统的正常运行,晚上10点对于大部分生产系统也并非空闲时段。
而自动分析可能导致极为严重的闩锁竞争,进而可能导致数据库Hang或者Crash。

所以建议最好关闭这个自动统计信息收集功能:

exec DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB');

自动化永远而严重的隐患相伴随!

-The End-

tolywang 发表于:2008.06.20 09:37 ::分类: ( Oracle10g RAC ) ::阅读:(41次) :: 评论 (2) :: 引用 (0)
comment_icon1.gif re: 鸡肋 -- ORACLE10g自动收集CBO统计信息(ZT) [回复]

附:

留言 (7)
这个东西在10.2.0.2有严重的bug,经常会导致mutex竞争。被它搞过很多次。

Posted by: 玉面飞龙 at December 5, 2007 3:50 PM

看来被害过的都深有感触啊!10.2.0.3也一样有严重Bug

Posted by: eygle at December 5, 2007 3:54 PM

mark一下

Posted by: chriszhang at December 5, 2007 4:12 PM

只能相信自已为某个特定目的写的自动化角本. 象这种统吃的自动化角本, 不适合的.

Posted by: anysql at December 5, 2007 4:20 PM

俺也被害过一次,那个惨呀.结果停掉后,手工分析一切OK了

Posted by: yxyup at December 5, 2007 7:43 PM

有错别字,多加了个R,
Exec DBMS_SCHERDULER.DISABLE('GATHER_STATS_JOB');
应该是SCHEDULER

tolywang 评论于:2008.06.20 10:03
[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12753752/viewspace-1010338/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12753752/viewspace-1010338/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值