Oracle經(jīng)驗(yàn)分享:GATHER_STATS_JOB 任務(wù) |
發(fā)布時(shí)間: 2012/8/11 17:41:22 |
應(yīng)該有開發(fā)測試相關(guān)的兄弟常常發(fā)現(xiàn),某些半夜跑的報(bào)表系統(tǒng),在系統(tǒng)開始時(shí)候好好的,但是數(shù)據(jù)量越來越大的情況下,報(bào)表系統(tǒng)會越來越慢。 一般我們可以理解為sql需要優(yōu)化,存儲需要優(yōu)化等等。 這里,如果我們使用的是Oracle 10G以上版本,就要小心了,有可能是Oracle自己搞的鬼。 Oracle10g增加了一個新的任務(wù),用來自動分析數(shù)據(jù)庫,已增加CBO執(zhí)行的正確性。這個任務(wù)就是GATHER_STATS_JOB,任務(wù)定義周一到周五的半夜執(zhí)行,和周六日全天執(zhí)行。 出發(fā)點(diǎn)很好,但是,大部分業(yè)務(wù)晚上常常也要跑大的查詢,或者執(zhí)行計(jì)劃改變,會引起新的性能問題。這個都是可以預(yù)見的。 下面?zhèn)渫?/p> 查看任務(wù)詳情: 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'; 任務(wù)執(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'; 禁用任務(wù): 在sysdba下執(zhí)行: exec DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB'); 本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |