Oracle 11g快速收集全庫統計信息


環境:Oracle 11.2.0.4
采用並行的方式,快速收集全庫統計信息,多用於跨版本升級之后,對全庫的統計信息重新進行快速收集:

--開啟計時
set timing on

--設置並行收集
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過程。詳見官檔描述:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM