RMAN備份時候記憶體區域的使用及split block處理問題
Oracle9i , 10g
Linux, Unix, Windows OS
RMAN基於備份演算法規則來編譯要備份的資料檔案列表。基於通道數和同時備份的資料檔案數, RMAN在ORACLE共享記憶體段中建立一些記憶體緩衝區, 一般是在PGA中, 不過有時候記憶體緩衝區會被推入SGA。 通道服務程式隨後就開始讀取資料檔案,並在RMAN緩衝中填充這些資料塊。一個緩衝區被填滿時,輸入緩衝區的資料就會推出到輸出緩衝區。資料檔案中的資料塊都會發生這種memory-to-memory write 的過程,如果資料塊符合備份的標準,並且memory-to-memory write操作沒有檢查到資料corruption, 則該資料塊會被儲存到輸出資料緩衝區中,直到輸出緩衝區被填滿。一旦輸出緩衝區被填滿,輸出緩衝區的內容就會被推到備份位置(磁碟或者磁帶)
教材上說,只要配置了DBWR_IO_SLAVES,BACKUP_TAPE_IO_SLAVES其中一個初始化引數就可令RMAN使用large pool.
------------------------------------------
“基於通道數和同時備份的資料檔案數, RMAN在ORACLE共享記憶體段中建立一些記憶體緩衝區, 一般是在PGA中, 不過有時候記憶體緩衝區會被推入SGA”
問題 : RMAN在Oracle共享記憶體段中建立一些記憶體存緩衝區, 輸入緩衝區和輸出緩衝區都是建立的記憶體緩衝區中的一部分, 他們如何分配 ? 建立的記憶體緩衝區一般是在PGA中,那麼可能在RMAN操作過程中甚至不會用到SGA中的large pool ? 有時候記憶體緩衝區會被推入SGA , 是PGA中記憶體不夠用的時候 ? 還是... ?
“ 一個緩衝區被填滿時,輸入緩衝區的資料就會推出到輸出緩衝區。資料檔案中的資料塊都會發生這種memory-to-memory write 的過程,如果資料塊符合備份的標準,並且memory-to-memory write操作沒有檢查到資料corruption, 則該資料塊會被儲存到輸出資料緩衝區中,直到輸出緩衝區被填滿 ”
也就是說RMAN檢查split block 是在輸入緩衝區寫滿需要寫入到輸出緩衝區的時候進行的 ? 如果是split block, 那麼通道程式會將這個資料塊重新寫入到輸入資料緩衝區 ?
Linux, Unix, Windows OS
RMAN基於備份演算法規則來編譯要備份的資料檔案列表。基於通道數和同時備份的資料檔案數, RMAN在ORACLE共享記憶體段中建立一些記憶體緩衝區, 一般是在PGA中, 不過有時候記憶體緩衝區會被推入SGA。 通道服務程式隨後就開始讀取資料檔案,並在RMAN緩衝中填充這些資料塊。一個緩衝區被填滿時,輸入緩衝區的資料就會推出到輸出緩衝區。資料檔案中的資料塊都會發生這種memory-to-memory write 的過程,如果資料塊符合備份的標準,並且memory-to-memory write操作沒有檢查到資料corruption, 則該資料塊會被儲存到輸出資料緩衝區中,直到輸出緩衝區被填滿。一旦輸出緩衝區被填滿,輸出緩衝區的內容就會被推到備份位置(磁碟或者磁帶)
教材上說,只要配置了DBWR_IO_SLAVES,BACKUP_TAPE_IO_SLAVES其中一個初始化引數就可令RMAN使用large pool.
------------------------------------------
“基於通道數和同時備份的資料檔案數, RMAN在ORACLE共享記憶體段中建立一些記憶體緩衝區, 一般是在PGA中, 不過有時候記憶體緩衝區會被推入SGA”
問題 : RMAN在Oracle共享記憶體段中建立一些記憶體存緩衝區, 輸入緩衝區和輸出緩衝區都是建立的記憶體緩衝區中的一部分, 他們如何分配 ? 建立的記憶體緩衝區一般是在PGA中,那麼可能在RMAN操作過程中甚至不會用到SGA中的large pool ? 有時候記憶體緩衝區會被推入SGA , 是PGA中記憶體不夠用的時候 ? 還是... ?
“ 一個緩衝區被填滿時,輸入緩衝區的資料就會推出到輸出緩衝區。資料檔案中的資料塊都會發生這種memory-to-memory write 的過程,如果資料塊符合備份的標準,並且memory-to-memory write操作沒有檢查到資料corruption, 則該資料塊會被儲存到輸出資料緩衝區中,直到輸出緩衝區被填滿 ”
也就是說RMAN檢查split block 是在輸入緩衝區寫滿需要寫入到輸出緩衝區的時候進行的 ? 如果是split block, 那麼通道程式會將這個資料塊重新寫入到輸入資料緩衝區 ?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-548903/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN處理split block問題BloC
- 熱備份與RMAN備份中split block的處理BloC
- RMAN備份時候檔案壞塊的處理
- 熱備或RMAN備份期間 fractured (split) block 的檢測BloC
- Oracle RMAN備份中對壞塊(corrupt block)的處理OracleBloC
- 記憶體分配問題處理記憶體
- JVM面試問題系列:深入詳解JVM 記憶體區域及記憶體溢位分析JVM面試記憶體溢位
- Java記憶體區域(執行時資料區域)和記憶體模型(JMM)Java記憶體模型
- RMAN備份中Create catalog時候 ORA-00955及RMAN-06433,RMAN-06429,ORA-01658處理
- Android記憶體分配/回收的一個問題-為什麼記憶體使用很少的時候也GCAndroid記憶體GC
- Linux記憶體異常問題處理Linux記憶體
- Java記憶體管理原理及記憶體區域詳解Java記憶體
- hot backup 熱備份中很重要的概念-- split blockBloC
- 物理備份是以block來區別邏輯備份的(os block或oracle block) ?BloCOracle
- JVM的記憶體區域JVM記憶體
- 使用 pytz 處理 Python 中的時區問題Python
- JavaScript 工作原理之三-記憶體管理及如何處理 4 類常見的記憶體洩漏問題(譯)JavaScript記憶體
- java記憶體區域-執行時資料區Java記憶體
- 處理過期的archivelog和rman備份Hive
- rman備份後發現壞塊的處理
- rman建立catalog過程及問題處理
- RMAN 對記憶體的使用記憶體
- mysql 記憶體表The table 'pvlogs' is full問題處理MySql記憶體
- Java記憶體區域Java記憶體
- 【JVM記憶體區域】JVM記憶體
- JVM 記憶體區域JVM記憶體
- JVM記憶體區域JVM記憶體
- JVM——記憶體區域:執行時資料區域詳解JVM記憶體
- Spark在處理資料的時候,會將資料都載入到記憶體再做處理嗎?Spark記憶體
- 【RMAN】“壞塊”導致RMAN備份不成功的RMAN處理方法
- 請問RMAN備份異機還原,備份之後的歸檔日誌在RMAN中怎麼處理?
- Java記憶體區域和記憶體模型Java記憶體模型
- exp備份和rman備份的區別
- GridLayout的使用及問題處理
- ASM+RMAN使用delete input備份日誌的問題ASMdelete
- RMAN的IO記憶體緩衝區記憶體
- JVM執行時記憶體資料區域JVM記憶體
- 多端混合開發時跨域問題的處理跨域