RMAN的IO記憶體緩衝區
備份資料庫時,輸入記憶體緩衝區的大小和數目取決於實際執行的備份命令,事實上主要取決於在一個備份中多路複用的檔案數。多路複用指的是在同一個備份片中備份其資料塊的檔案數。為了保持合理的記憶體分配,根據一起備份的檔案數,分配記憶體緩衝區大小時需要應用下面的規則:
如果備份集內的檔案數小於或等於4個,RMAN會為每個檔案分配4個大小為1MB的緩衝區,緩衝區總和小於或等於16MB;
如果備份集內的檔案數多於4個但少於或等於8個,RMAN會為每個檔案分配4個大小為512KB的緩衝區,緩衝區總和確保少於或等於16MB;
如果備份集內的檔案數多於8個,RMAN會為每個檔案分配4個大小為128KB的緩衝區,確保每個要備份的檔案佔用512KB的緩衝區記憶體。
如果備份到磁碟,RMAN會為每個透過道分配4個1MB的輸出緩衝區;
如果備份到磁帶,RMAN會為每個透過道分配4個256KB的輸出緩衝區。
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 – Production
SQL> select set_count, device_type, type,filename, buffer_size, buffer_count from v$backup_async_io order by set_count,type;
SET_COUNT DEVICE_TYPE TYPE FILENAME BUFFER_SIZE BUFFER_COUNT
---------- ----------------- --------- ----------------- ----------- ------------
1 20 DISK AGGREGATE 0 0
2 20 DISK INPUT …/fda_idx_02.dbf 1048576 4
3 20 DISK INPUT …/fda_idx_01.dbf 1048576 4
4 20 DISK INPUT …/sysaux01.dbf 1048576 4
5 20 DISK INPUT …/undotbs01.dbf 1048576 4
6 20 DISK OUTPUT …/s20_1.dbf 1048576 4
7 21 DISK AGGREGATE 0 0
8 21 DISK INPUT …/oratext01.dbf 524288 6
9 21 DISK INPUT …/system01.dbf 524288 6
10 21 DISK INPUT …/users_01.dbf 524288 6
11 21 DISK INPUT …/fda_data_02.dbf 524288 6
12 21 DISK INPUT …/fda_data_01.dbf 524288 6
13 21 DISK OUTPUT …/s21_1.dbf 1048576 4
14 22 DISK AGGREGATE 0 0
15 22 DISK INPUT …/snapcf_orcl.f 1048576 16
16 22 DISK OUTPUT …/s22_1.dbf 1048576 4
17 23 DISK AGGREGATE 0 0
18 23 DISK INPUT …/snapcf_orcl.f 1048576 16
19 23 DISK OUTPUT …/o1_mf_s_%u_.bkp 1048576 4
實際測試情況是:
如果備份集內的檔案數是1個,RMAN會分配大小為1MB的緩衝區,每個檔案會佔用16個緩衝區;
如果備份集內的檔案數是4個,RMAN會分配大小為1MB的緩衝區,每個檔案會佔用4緩衝區;
如果備份集內的檔案數是5個,RMAN會分配大小為512KB的緩衝區,每個檔案會佔用6緩衝區;
如果備份集內的檔案數是9個,RMAN會分配大小為512KB的緩衝區,每個檔案會佔用4個緩衝區。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/81227/viewspace-700567/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 記憶體緩衝區研究----第一課記憶體
- Oracle調整緩衝區快取記憶體Oracle快取記憶體
- C 標準庫IO緩衝區和核心緩衝區的區別
- 調整緩衝區快取記憶體(Buffer Cache)的效能(轉)快取記憶體
- 調整緩衝區快取記憶體(Buffer Cache)的效能(1)快取記憶體
- 調整緩衝區快取記憶體(Buffer Cache)的效能(2)快取記憶體
- 調整緩衝區快取記憶體(Buffer Cache)的效能(3)快取記憶體
- Oracle效能最佳化調整--調整緩衝區快取記憶體Oracle快取記憶體
- IO流上:概述、字元流、緩衝區(java基礎)字元Java
- java.IO緩衝流.studyJava
- 緩衝區分析
- Java IO之有緩衝的文字輸入Java
- Java IO之有緩衝的文字輸出Java
- Java NIO 緩衝區學習筆記Java筆記
- 第十三篇:帶緩衝的IO( 標準IO庫 )
- 記憶體與IO,磁碟IO,網路IO記憶體
- Java NIO:緩衝區Java
- getchar緩衝區
- PHP的輸出緩衝區PHP
- RMAN 對記憶體的使用記憶體
- 記憶體碎片與緩解記憶體
- Java NIO 之緩衝區Java
- Unity深度緩衝區指令Unity
- Java整數緩衝區Java
- nginx 緩衝區構造Nginx
- stdio流緩衝區
- io記憶體,io埠,彙編 in out 指令記憶體
- 無緩衝檔案IO和目錄操作
- webGL 緩解記憶體壓力Web記憶體
- Kafka 如何最佳化記憶體緩衝機制造成的頻繁 GC 問題?Kafka記憶體GC
- Node.js Buffer(緩衝區)Node.js
- JavaScript WebGL 幀緩衝區物件JavaScriptWeb物件
- Linux 命令 管道 緩衝區Linux
- log buffer(日誌緩衝區)
- Java NIO 之 Buffer(緩衝區)Java
- Java NIO2:緩衝區Java
- 動態更新——緩衝區物件物件
- 緩衝區溢位實驗