Oracle經(jīng)驗分享:GATHER_STATS_JOB 任務 |
發(fā)布時間: 2012/8/11 17:41:22 |
應該有開發(fā)測試相關(guān)的兄弟常常發(fā)現(xiàn),某些半夜跑的報表系統(tǒng),在系統(tǒng)開始時候好好的,但是數(shù)據(jù)量越來越大的情況下,報表系統(tǒng)會越來越慢。 一般我們可以理解為sql需要優(yōu)化,存儲需要優(yōu)化等等。 這里,如果我們使用的是Oracle 10G以上版本,就要小心了,有可能是Oracle自己搞的鬼。 Oracle10g增加了一個新的任務,用來自動分析數(shù)據(jù)庫,已增加CBO執(zhí)行的正確性。這個任務就是GATHER_STATS_JOB,任務定義周一到周五的半夜執(zhí)行,和周六日全天執(zhí)行。 出發(fā)點很好,但是,大部分業(yè)務晚上常常也要跑大的查詢,或者執(zhí)行計劃改變,會引起新的性能問題。這個都是可以預見的。 下面?zhèn)渫?/p> 查看任務詳情: SELECT owner,job_name,state,last_start_date,last_run_duration,failure_count FROM dba_scheduler_jobs WHERE job_name = 'GATHER_STATS_JOB'; select PROGRAM_ACTION from dba_scheduler_programs where PROGRAM_NAME = 'GATHER_STATS_PROG'; 任務執(zhí)行歷史: SELECT log_id, job_name, status, TO_CHAR (log_date, 'DD-MON-YYYY HH24:MI') log_date FROM dba_scheduler_job_run_details WHERE job_name = 'GATHER_STATS_JOB'; 禁用任務: 在sysdba下執(zhí)行: exec DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB'); 本文出自:億恩科技【xuefeilisp.com】 |