db_file_multiblock_read_count 的自動調整

來源:互聯網
上載者:User

轉之Eygle的文章:http://www.eygle.com/archives/2009/03/db_file_multiblock_read_count_auto.html

 

 

關於這個參數,經過幾多變化,在Oracle10gR2中終於修成了正果,實現了自動調整。

很久以前演過過這個參數,有過這樣的記敘: 初始化參數db_file_multiblock_read_count 影響Oracle在執行全表掃描時一次讀取的block的數量.

 

db_file_multiblock_read_count的設定要受OS最大IO能力影響,也就是說,如果你系統的硬體IO能力有限,即使設定再大的db_file_multiblock_read_count也是沒有用的。

理論上,最大db_file_multiblock_read_count和系統IO能力應該有如下關係:

Max(db_file_multiblock_read_count) = MaxOsIOsize/db_block_size

當然這個Max(db_file_multiblock_read_count)還要受Oracle的限制,
目前Oracle所支援的最大db_file_multiblock_read_count 值為128.

我們可以通過db_file_multiblock_read_count來測試Oracle在不同系統下,單次IO最大所能讀取得資料量

 

這個參數的設定可能影響到CBO最佳化器的執行計畫選擇,所以Oracle通常預設設定為16,不推薦設定高於32的值。


引用一段Kamus同學的描述: db_file_multiblock_read_count曾經是一個經過熱烈討論的初始化參數。該參數只有在對錶或者索引進行Full Scan的時候才起作用。

 

在Oracle10gR2以前的版本中,DBA必鬚根據db_block_size參數,以及應用系統的特性,來調整db_file_multiblock_read_count參數。該參數值將影響CBO在該產生何種SQL執行計畫上的判斷。

我們知道如下的公式,其中max I/O chunk size跟作業系統有關,但是Oracle文檔中也指出大多數作業系統上該值為1M。

db_file_multiblock_read_count = max I/O chunk size / db_block_size

在Oracle10gR2之後的版本(10gR2和11g)中,Oracle資料庫已經可以根據系統的IO能力以及Buffer Cache的大小來動態調整該參數值,Oracle建議不要顯式設定該參數值。

 

在我的一個11.1.0.7的環境中,這個值被自動調整為73:
SQL> select * from v$version;

 

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
PL/SQL Release 11.1.0.7.0 - Production
CORE    11.1.0.7.0      Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production

SQL> show parameter multi

NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_multiblock_read_count        integer    73
parallel_adaptive_multi_user        boolean    TRUE

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.