1. 程式人生 > >Oracle快速收集全庫統計資訊

Oracle快速收集全庫統計資訊

--設定並行收集
exec dbms_stats.set_global_prefs('CONCURRENT','TRUE');
 
--開始收集全庫統計資訊
begin
dbms_stats.gather_database_stats(
ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'for all indexed columns', cascade=>true, degree=>120);
end;
/
 
--關閉並行收集
exec dbms_stats.set_global_prefs('CONCURRENT','FALSE');

注意degree的值並不是設定越高就越快,同時要根據實際CPU具體情況來設定。

本文來自同事的經驗分享,這裡主要用到dbms_stats包的set_global_prefs和gather_database_stats過程。詳見官檔描述:

https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_stats.htm