Oracle 12C 擴充套件統計資訊是否自動收集? (文件 ID 2102495.1)

mosdoc發表於2016-12-04

適用於:

Oracle Database - Enterprise Edition - 版本 12.1.0.1 和更高版本
本文件所含資訊適用於所有平臺

目標

本文旨在解釋 Oracle 12C 是否自動收集擴充套件統計資訊?
 

解決方案

是的。

從 Oracle 12c 開始,列組統計資訊作為自適應查詢最佳化的一部分被自動建立。關於這方面的補充資訊,以及其它自適應查詢最佳化的功能,請參照 12C 白皮書 。

自適應查詢最佳化的所有功能,可以使用 OPTIMIZER_ADAPTIVE_FEATURES 引數禁用。這個引數可以從系統或會話級別禁用:

SQL> alter system set OPTIMIZER_ADAPTIVE_FEATURES=false;

or

SQL> alter session set OPTIMIZER_ADAPTIVE_FEATURES=false;

但是,現在客戶可以打小補丁Patch#21171382,它會在DBMS_STATS包中增加一個AUTO_STAT_EXTENSIONS的選項。 這個補丁只能打在12c版本上,並且已經包含在12.2中。  這個補丁在DBMS_STATS包中增加了一個AUTO_STAT_EXTENSIONS的選項,可以關閉自動收集擴充套件統計資訊的功能。這個引數可以控制是否在自動/手工收集統計資訊時建立擴充套件統計資訊,它可以被設定為:


ON: 根據列在謂語中的使用情況,在收集統計資訊時自動收集擴充套件統計資訊。

OFF: 擴充套件統計資訊並不會自動被收集。在使用create_extended_stats API時或者在method_opt顯式指定收集擴充套件統計資訊時才會被收集。預設值為OFF。

 

標準的最佳化器統計資訊仍然需要手動或透過自動排程收集。參考:

Document 1226841.1 How To: Gather Statistics for the Cost Based Optimizer

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31393455/viewspace-2129697/,如需轉載,請註明出處,否則將追究法律責任。

相關文章