【翻譯自mos文章】使用buffer memory 參數來調整rman的效能。,mosrman

來源:互聯網
上載者:User

【翻譯自mos文章】使用buffer memory 參數來調整rman的效能。,mosrman

使用buffer memory 參數來調整rman的效能。
本文翻譯自mos文章:RMAN Performance Tuning Using Buffer Memory Parameters (Doc ID 1072545.1)

rman 效能調整的目的是分辨一個特定的backup or  restore job的瓶頸。
並使用使用rman命令、初始化參數 或者對physical media的調整來提高整體的效能.

由於資料庫容量持續變大,在客戶的環境中,幾十到幾百TB的資料庫很常見,
server和儲存系統也在resource, network,io方面增大容量以支援資料庫backup 和restore windows
在此種背景下(against this backdrop),rman的效能調整變得比以往都重要。


本文詳細描述了在backup和restore操作期間,rman效能調整中,與buffer memory 相關的guidelines
這些guidelines 以如下系統為目標:
the available I/O exceeds 100 MB/s, while memory, CPU, network consumption,
and tape drive throughput do not constrain overall RMAN performance.
在very high performance configurations中,這是尤為正確的,比如說Exadata。
在這些環境中,預設的rman buffer size 是不充分的(inadequate),需要加大。

本文假設讀者對rman 效能調整有一個基本的理解。
如下的串連中有rman tuning的overview:
http://download.oracle.com/docs/cd/E11882_01/backup.112/e10642/rcmtunin.htm#CACJCBDB

RMAN Buffer Usage

在備份期間,datafile blocks 被讀到 一批 input buffers之中,在該批input buffers中,
datafile blocks 被驗證(validated)、壓縮、加密, 並 拷貝到 一批 output buffers 中。
然後,該批output buffers 被寫入到 disk(DEVICE TYPE DISK)上的 backup piece 中,
或者tape(DEVICE TYPE SBT)上的 backup piece 中。
這個處理過程被描述(depict)成如下的diagram(流程圖):


相反的(Conversely),在restore時,datafile blocks從backup piece中讀取到 一批 input buffers中,
在該批 input buffers中,datafile blocks被驗證(validated)、解壓縮(uncompressed)、解密(decrypted),並拷貝到 output buffers中。
output buffers 被寫到 disk上的data file中。

預設情況下,buffers從 pga中被分配,除非 disk io slaves 或者 tape io slaves被使用。
當使用disk io slaves 或者 tape io slaves時, buffers從 sga 或者 large pool中備份分配(若是LARGE_POOL_SIZE被設定的話)

在 V$BACKUP_ASYNC_IO 和 V$BACKUP_SYNC_IO 視圖中,可以看到每個rman job 所用到的 buffer的 數量和buffer的大小。

下面的設定rman memory usage的guidelines,是安裝 Oracle 版主要組織的。

tuning guideline:
當使用下面的帶有_(底線)的參數調整 buffer size時,推薦是:
對於一個給定的操作,同時設定 input buffer 和output buffer。

Oracle Database 11g Release 11.1.0.7 and prior releases

When creating backup sets:
當create backup set時:

input buffers 基於 multiplexing的 level被分配,根據下面的chart:
 multiplexing的意思是每個channel 讀取的file 個數。
 Multiplexing = Min (MAXOPENFILES, FILESPERSET)
 Defaults: MAXOPENFILES=8, FILESPERSET=64

 表格:

 
 舉例,若是MAXOPENFILES=1,每個channel 使用16個buffers,每個buffer 1M,每一個channel分配16MB 的buffer。
 拓展:若是MAXOPENFILES=8,每個channel 使用32個buffers,每個buffer 512K,每一個channel分配16MB 的buffer。
 Tuning guideline:
 第一:input buffer的數量 可以使用如下隱含參數調整:_backup_ksfq_bufcnt
       input buffer的大小 可以使用如下隱含參數調整:_backup_ksfq_bufsz
 第二:當使用這些參數提高backup I/O的輸送量時,建議如下:
       首先調整_backup_ksfq_bufsz參數,調整為讀取一個檔案的stripe size,以測試效果確認:該設定沒有效能問題。
 第三:若是繼續需要調整,然後再設定_backup_ksfq_bufcnt 參數,設定為檔案stripe過的 disk的數量。
        在大的striped 系統中,比如ASM,該參數應該使用以達到一個效能和記憶體使用量的最佳化平衡。
       舉一個例子:在你的asm diskgroup 中若是有500個disk,
       那麼設定_backup_ksfq_bufcnt該參數為500將會為每一個rman channel分配過量的記憶體。
       一個能合理的設定,比如說32 or 64,在效能和記憶體之間提供一個更好平衡。
       
當從image copy中create or restoring時:
 input buffer的 size為1MB/buffer
 input buffer的 number為4 buffers
Tuning guideline:
 第一:input buffer size for image copies 可以使用 _db_file_direct_io_count參數來增大。
 
When creating backup sets or image copies:
output buffers 依據device type被分配:
表格

Tuning guideline:
第一:對 disk backup,output buffer size(大小) 應該使用_db_file_direct_io_count來增大。
第二:請注意_db_file_direct_io_count 會控制 其他的資料庫io操作,不僅僅rman,因此該調整應該需要仔細的測試。
第三:對 SBT backup, output buffer size(大小) 應該使用BLKSIZE channel 參數來增大。
第四:注意BLKSIZE 適用於Oracle Secure Backup。在OSB中,buffer sizes 被自動計算以用來最佳化傳輸速度。

When restoring from backup sets:
 output buffer的 size為128KB/buffer
 output buffer的 number為4 buffers
Tuning guideline:
第一:output buffer的number (數量) 可以使用 _backup_ksfq_bufcnt參數來增大。
第二:output buffer的size (大小)   可以使用 _backup_ksfq_bufsz參數來增大。
第三:Note that the default buffer sizes for restoring files are smaller than what are used when backing up those same files.
These buffers should be increased to match the corresponding backup if restore times are significantly slower than the corresponding backups.
 
 
When restoring from image copies:
預設的output buffer size 是1MB/buffer
預設的output buffer number 是4 buffers

Tuning guideline:
第一:output buffer size 可以使用_db_file_direct_io_count來增大。

Oracle Database 11g Release 11.1.0.7 + Patch 8369105 (also in Exadata V1 Bundle Patch 2)

Input and output buffers are allocated and tuned largely the same as in the preceding section,
with the exception of the following changes:
第一:When restoring from backup sets, the default output buffer size is increased from 128 KB to 1 MB.
第二:_db_file_direct_io_count is not used to adjust any RMAN buffer sizes. This means that RMAN buffer sizes can be adjusted without affecting any other database I/O.
第三:_backup_ksfq_bufcnt can be used to adjust the number of input and output buffers for all operations using DISK channels.

Oracle Database 11g Release 2
All RMAN I/O operations with ASM files select an optimal buffer size and count based on the allocation unit (AU) size and disk count of the ASM disk group.

Additional parameters are introduced to give more fine-grained control over RMAN buffer allocations. Although these parameters are supported for all RMAN operations, they are primarily intended for use in non-ASM systems, since RMAN operations in ASM will automatically select an optimal buffer configuration.

第一:_backup_seq_bufsz/_backup_seq_bufcnt
  o These parameters set the buffer size and count for both creating and restoring backup pieces using SBT channels with third-party media managers.
  o Note that these parameters are not needed when using Oracle Secure Backup, as the optimal buffer size is automatically selected.

第二:_backup_disk_bufsz/_backup_disk_bufcnt
  o These parameters set the buffer size and count for both creating and restoring backup pieces using DISK channels.

第三:_backup_file_bufsz/_backup_file_bufcnt
  o These parameters set the input buffer size and count for all backup operations, and the output buffer size and count for all restore operations.

第四:
Note that _backup_ksfq_bufsz and _backup_ksfq_bufcnt are still supported in Oracle Database 11g Release 2 for compatibility reasons, but it is recommended that you tune the RMAN buffer sizes instead using the above parameters.

相關文章

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.