RMAN處理split block問題
Oracle 10.2.0.4.0 , Linux AS 5.4
預設情況下, RMAN 備份會有下面的簡單幾個過程 :
1. RMAN 將需要備份的資料檔案的所有資料塊(Oracle block, 不管是否已格式化,是否有資料) 讀入輸入緩衝區
(PGA的一部分) , 這個過程是以Oracle block為最小單位進行的, 不存在OS Block級別的複製或備份, 那
麼這個過程是不會產生所謂的"split block " 的 ?
2. 隨後一個重要過程是Memory-To-Memory 過程, 也就是輸入緩衝區寫滿後寫入輸出緩衝區 (預設也是PGA
的一部分) , 這個過程中會有一些事情要做。 Oracle 10.2.0.2.0 首先判斷oracle block是否被使用過(
頭資訊是否為零), 如果資料塊未被使用過, 就不會發生到輸出緩衝區的寫操作,同時丟棄此資料塊, 如果
使用過, 然後判斷是否存在資料 (估計也是判斷頭資訊), 如果存在就會在這個資料塊上執行檢驗和checksum
操作 。 最後判斷Oracle block頭和腳註是否匹配, 判斷是否是split block, 如果不是就寫入輸出緩衝區,
如果是split block, 那麼重新將block備份到輸入緩衝區 。
這裡有個問題: 寫入輸入緩衝區的Oracle block 不會存在split block (如果存在,是如何產生的?), 這些
block在session特定的pga中存放, 那麼後面做Memory-To-Memory 過程中為何還要判斷 split block ?
3. 寫入輸出緩衝區的Oracle block達到一定程度 (滿了) , 會寫入備份位置 (假設為磁碟) 。
預設情況下, RMAN 備份會有下面的簡單幾個過程 :
1. RMAN 將需要備份的資料檔案的所有資料塊(Oracle block, 不管是否已格式化,是否有資料) 讀入輸入緩衝區
(PGA的一部分) , 這個過程是以Oracle block為最小單位進行的, 不存在OS Block級別的複製或備份, 那
麼這個過程是不會產生所謂的"split block " 的 ?
2. 隨後一個重要過程是Memory-To-Memory 過程, 也就是輸入緩衝區寫滿後寫入輸出緩衝區 (預設也是PGA
的一部分) , 這個過程中會有一些事情要做。 Oracle 10.2.0.2.0 首先判斷oracle block是否被使用過(
頭資訊是否為零), 如果資料塊未被使用過, 就不會發生到輸出緩衝區的寫操作,同時丟棄此資料塊, 如果
使用過, 然後判斷是否存在資料 (估計也是判斷頭資訊), 如果存在就會在這個資料塊上執行檢驗和checksum
操作 。 最後判斷Oracle block頭和腳註是否匹配, 判斷是否是split block, 如果不是就寫入輸出緩衝區,
如果是split block, 那麼重新將block備份到輸入緩衝區 。
這裡有個問題: 寫入輸入緩衝區的Oracle block 不會存在split block (如果存在,是如何產生的?), 這些
block在session特定的pga中存放, 那麼後面做Memory-To-Memory 過程中為何還要判斷 split block ?
3. 寫入輸出緩衝區的Oracle block達到一定程度 (滿了) , 會寫入備份位置 (假設為磁碟) 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-701871/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN備份時候記憶體區域的使用及split block處理問題記憶體BloC
- 熱備份與RMAN備份中split block的處理BloC
- rman建立catalog過程及問題處理
- Oracle RMAN備份中對壞塊(corrupt block)的處理OracleBloC
- RMAN-06207 & RMAN-06208 問題處理
- 熱備或RMAN備份期間 fractured (split) block 的檢測BloC
- split用法與影像預處理
- Oracle索引分裂(Index Block Split)Oracle索引IndexBloC
- corrupted block的一次處理和古舊版本的PL/SQL Developer問題BloCSQLDeveloper
- oracle corrupt block壞塊處理OracleBloC
- 處理問題的方法
- perl中文處理問題
- 漢字處理問題?
- xml處理的問題XML
- 貨品問題處理
- [git] git問題處理Git
- 一次不完全恢復中途Kill rman後的問題處理+壞塊處理過程
- 分割槽表split操作及maxvalue處理
- BAD Block 壞塊的處理BloC
- HBASE-使用問題-split region
- golang json處理問題GolangJSON
- 併發問題處理方式
- ASMCMD處理問題一則ASM
- mysql的處理能力問題MySql
- mysql問題處理兩則MySql
- Oracle啟動問題處理Oracle
- mysql 問題處理二則MySql
- Oracle壞塊問題處理Oracle
- 資料處理--pandas問題
- RMAN恢復之RMAN-06555處理
- 【BLOCK】Oracle壞塊處理命令參考BloCOracle
- block 對外部引用變數的處理BloC變數
- 如何處理 No DMARC Record Found 問題
- PHP 開發版本問題處理PHP
- MySQL:亂碼問題處理流程MySql
- JVM問題分析處理手冊JVM
- Linux 問題處理集錦Linux
- 處理SQLServer errorlog滿問題SQLServerError