Oracle修改統計資訊收集計畫時間

2022-07-01 23:03:09 字數 2359 閱讀 2653

一、查詢收集統計資訊計畫

select * from dba_scheduler_windows t1,dba_scheduler_wingroup_members t2  where t1.window_name=t2.window_name and t2.window_group_name in ('maintenance_window_group','bsln_maintain_stats_sched');

或select t1.window_name,t1.repeat_interval,t1.duration from dba_scheduler_windows t1,dba_scheduler_wingroup_members t2 where t1.window_name=t2.window_name and t2.window_group_name in ('maintenance_window_group','bsln_maintain_stats_sched');

以下是預設是統計資訊收集時間

二、修改集統計資訊計畫的開始時間

begin

dbms_scheduler.set_attribute(

name=>'"sys"."tuesday_window"',

attribute=>'repeat_interval',

value=>'freq=daily;byday=tue;byhour=9;byminute=0; bysecond=0');

end;

三、修改收集統計資訊計畫的持續時間

begin

dbms_scheduler.set_attribute(

name=>'"sys"."tuesday_window"',

attribute=>'duration',

value=>numtodsinterval(1200, 'minute'));

end;

numtodsinterval中也可以用 小時hour為單位

關閉單個排程視窗

begin

dbms_auto_task_admin.disable(client_name => 'auto optimizer stats collection',

operation => null,

window_name => 'monday_window');

end;

開啟單個排程視窗

begin

dbms_auto_task_admin.enable(client_name => 'auto optimizer stats collection',

operation => null,

window_name => 'monday_window');

end;

關閉所有時間排程視窗

begin

dbms_auto_task_admin.disable (

client_name => 'auto optimizer stats collection',

operation => null,

window_name => null);

end;

/

然而我們在生產中會經常發現,自動收集統計資訊會漏掉很多表,我們就需要用到手動收集統計資訊、建立計畫任務自動執行

四、查詢表的統計資訊,手動收集統計資訊

在oracle中,存在執行計畫不准的情況,懷疑表的統計資訊是否收集,需要以下操作:

select table_name,num_rows,blocks,last_analyzed from user_tables where table_name='emp';

說明:

-- table_name:展示表名 --num_rows:最後一次統計時的行數 --blocks:非當前塊數,最後一次統計時的塊數 --last_analyzed :最後一次統計的時間

--上述欄位為null說明未統計

手動收集統計資訊,並再次檢視:

exec dbms_stats.gather_table_stats(ownname=>'meta',tabname=>'emp',estimate_percent=>10,method_opt=>'for all indexed columns');

Oracle統計資訊收集

統計資訊收集 1 建立分析表 cd oracle home rdbms admin sqlplus as sysdba utlxplan.sql 2 為了方便,可以建立乙個同義表 預設情況下只有sys使用者可以使用 sql create public synonym plan tables for ...

Oracle 收集物件統計資訊

一.概述 oracle9i之前,由dba負責收集物件統計資訊。預設情況下,資料庫不提供物件統計資訊。到了oracle10g,在建立資料庫的時候,就建立了乙個定期收集物件統計資訊的作業並進行排程。以便擁有最新的物件統計資訊,因為表時刻都在變化,假如某一時刻插入了資料,物件統計資訊也需要更新的。二.收集...

Oracle統計資訊收集失敗案例

摘要 有個資料庫顯示作業按照正常時間點執行,但是統計資訊並未更新,導致資料庫統計資訊陳舊,產生大量錯誤的執行計畫。查詢是否被鎖 解決方法 execute dbms scheduler.close window saturday window 再次檢視作業狀態 select window name,a...