Oracle自动收集统计信息JOB失败解决

Oracle自动收集统计信息JOB总是失败,原因大都因为数据量较大,在预计的时间窗口内统计信息未收集完毕。[@more@] 1、查看JOB运行状态

SELECT LOG_ID, JOB_NAME, STATUS, ADDITIONAL_INFO
FROM DBA_SCHEDULER_JOB_LOG
WHERE JOB_NAME = 'GATHER_STATS_JOB'
ORDER BY 1

ADDITIONAL_INFO原因基本为:REASON="Stop job called because associated window was closed"

2、查看下dbms_stats默认的参数设定

SELECT SNAME AS PARAMETER, NVL(SPARE4, SVAL1) AS DEFAULT_VALUE
FROM SYS.OPTSTAT_HIST_CONTROL$

3、用如下命令可以调整一下参数设定

SQL> execute dbms_stats.set_param(pname => 'CASCADE', pval =>'TRUE');

eg:
SQL> execute dbms_stats.set_param(pname => 'DEGREE', pval =>2);
SQL> execute dbms_stats.set_param(pname => 'ESTIMATE_PERCENT', pval =>2);


4、其它说明
GATHER_STATS_JOB默认ESTIMATE_PERCENT是AUTO,由ORACLE自动选取大小,在实际中这个选取的基本是100%,如果数据量大,在规定的时间窗口自然收集不完。经过上面的参数调整实际观测可以很好解决问题。

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

转载于:http://blog.itpub.net/717880/viewspace-1060061/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值