fast_start_mttr_target & log_checkpoint_timeout

tolywang發表於2009-06-09


fast_start_mttr_target 

從9i開始引入了fast_start_mttr_target這麼一個引數,用於表示資料庫發生Instance Recovery的時間,以秒為單位。這個引數我們從字面上也比較好理解,其中的mttr是mean time to recovery的簡寫,如上例中的情況我們可以將fast_start_mttr_target設定為600。注意當設定了fast_start_mttr_target後, fast_start_io_target這個引數將不再生效,從9i後 fast_start_io_target這個引數被Oracle廢除了。

log_checkpoint_interval
Oracle8.1版本後log_checkpoint_interval指的是兩次checkpoint之間作業系統資料塊的個數。checkpoint時Oracle把記憶體裡修改過的資料塊用DBWR寫到物理檔案,用LGWR寫到日誌和控制檔案(在8i的時候lgwr程式在兼有ckpt程式的作用,呵呵。為了減輕我們本來就可能在高壓情況下疲於奔命的LGWR兄弟的負擔,Oracle引入了ckpt來更新我們的控制檔案和資料檔案頭的SCN資訊)。   
一般UNIX作業系統的資料塊為512bytes。   
從效能最佳化的角度來說,建議log_checkpoint_interval=redologfilesizebytes / 512bytes,根據我們的online redo file的大小來指定我們資料塊的個數.


log_checkpoint_timeout
   
Oracle8.1版本後log_checkpoint_timeout指的是兩次checkpoint之間時間秒數(單位是秒)。   
Oracle建議不用這個引數來控制,因為事務(transaction)大小不是按時間等量分佈的(事務的長短並不是最重要的,重要的是我們的業務邏輯和資料的完整性)。那麼我們用log_checkpoint_interval引數控制會更好一些。   
 我們可以透過log_checkpoint_timeout=0來禁用此引數或者按預設的900。   

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