Oracle中的redo copy latch
首先我們需要清楚一點,log buffer中的內容是通過server process將PGA中的redo資訊copy過去的。那麼在copy之前,server process是需要得到一個redo copy latch,這個latch表明server process正在將redo寫入到log buffer中,在此過程中,LGWR出於某種原因在要將log buffer內容寫入log file之前,應該先等待server process將redo資訊copy到log buffer後並釋放了redo copy latch後進行,也就是說LGWR在寫出之前,需要訪問Latch Recovery Area檢查redo copy latch,以確認目標redo並未處於寫入狀態。此過程LGWR僅需要檢查redo copy latch,不需要持有。
其次需要清楚的是,serve process在獲得redo copy latch後,還不能繼續工作,這個時候他還需要獲得一個latch,就是redo allocation latch,這個latch用來在log buffer中分配redo空間以備儲存我們的redo資訊,空間分配完成後呢,就可以釋放redo allocation latch,然後server process就可以將PGA中的redo資訊寫入我們的log buffer,然後再釋放redo copy latch
有一個隱藏的初始化引數_log_simultaneous_copies,表明允許同時獲得redo copy latch的數量。
在Oracle 8.1.3開始呢,這個引數預設是2倍cpu的數量。而且是一個隱含引數。
同時我們也可以,通過以下語句來查詢redo copy latch
col name for a22
select addr,latch#,child#,name,gets,immediate_gets,immediate_misses
from v$latch_children where name='redo copy';
在某種情況下會觸發LGWR寫日誌,那麼首先都是在完成redo copy以後,程式才通知LGWR執行寫出,在寫出前首先還是需要獲得redo writing latch去檢查LGWR是否已經被啟用或者是已經被使用,如果是這樣的話,redo writing latch就被釋放了。
在redo copy過程中,程式在以log file sync時間處與等待。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12361284/viewspace-880/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle中copy from的用法Oracle
- 深入理解Oracle中的latchOracle
- Oracle中latch和lock的區別Oracle
- Oracle Latch及latch衝突Oracle
- 用JAVA實現Undo、Redo,Copy、Paste、Cut (轉)JavaAST
- Oracle中undo 如何產生RedoOracle
- Oracle Latch & LockOracle
- Oracle KSL Latch 管理層 與 Latch管理Oracle
- 【REDO】Oracle redo undo 學習Oracle Redo
- oracle的redo和undoOracle
- ORACLE LOCK,LATCH,PINOracle
- Oracle Latch 說明Oracle
- [Oracle Script] check latchOracle
- oracle latch優化Oracle優化
- 【REDO】Oracle redo內部結構Oracle Redo
- 【REDO】Oracle redo advice-sqlOracle RedoSQL
- Oracle Redo and UndoOracle Redo
- oracle 11g latch之v$latch系列二Oracle
- oracle 11g latch之v$latch系列三Oracle
- 從Undo, Redo, DataFile看Oracle中的事務過程Oracle
- Redo Log之一:理解Oracle redo logOracle Redo
- 修改oracle redo log的大小Oracle Redo
- Rust中的Copy和CloneRust
- Objective-C中的CopyObject
- [Oracle Script] latch holderOracle
- ORACLE鎖存器(LATCH)Oracle
- Oracle redo解析之-1、oracle redo log結構計算Oracle Redo
- look-into-oracle-redoOracle
- Oracle REDO損壞Oracle Redo
- oracle redo log operationOracle Redo
- 在tmux中copyUX
- Oracle的redo 和undo的區別Oracle
- Copy of a Copy of a Copy
- SGA中Latch 的分類和查詢--結合v$latch檢視
- 基於oradebug poke分析不同redo相關latch獲取的先後次序
- latch free 中 cache buffer chain 的整理AI
- oracle 線上調整redoOracle
- Oracle redo log重組Oracle Redo