Oracle RMAN備份以及壓縮原理分析
RMAN備份原理:
當RMAN 客戶端連線到目標資料庫後,執行備份命令時, RMAN 會開啟相應數量的通道進行工作,每一個通道在目標資料庫都有一個相對應的服務程式, RMAN 會首先呼叫 DBMS_RCVMAN 軟體包進而讀取控制檔案,確定資料檔案的存放位置等一些資訊,獲取該資訊後, RMAN 將呼叫 DBMS_BACKUP_RESTORE 軟體包對資料檔案進行讀取備份。讀取過程就是 RMAN 基於備份的演算法規則來編譯 出需要 備份的檔案列表。RMAN 執行備份操作時,會請求 Oracle 的共享記憶體段來建立 自己備份緩衝區,與通道相對應的服務程式會去掃描資料檔案中的資料塊,並且將需要備份的資料塊讀入到輸入緩衝區中,當輸入緩衝區被填滿時,會被轉移到輸出緩衝區中,在轉移的過程中,也會對資料塊進行檢測,檢測是否有損壞的資料塊,當輸出緩衝區被填滿時,就會形成備份片,與通道相對應的服務程式最終會將其寫入到指定備份的位置。
RMAN壓縮方式:
RMAN的壓縮分為三種,
第一種:
10.1版本 RMAN的壓縮方式為空值壓縮(null compression),當掃描資料塊進行備份時,可以進行空值壓縮,對塊頭為空的塊,在從輸入緩衝區轉移到輸出緩衝區時將其過濾掉,這種空值壓縮方式呢,不會去備份已分配但未被格式化的塊。
第二種:
在10.2版本RMAN的壓縮方式又出現一種未使用塊壓縮(unused block compression),這種壓縮方式是過濾掉不包含資料的資料塊,就是該資料塊已經被使用過(被格式化過),但是不包含資料。
只有在滿足以下條件的時候,Unused Block Compression會起作用:
1.初始化引數COMPATIBLE=10.2或者更新的版本
2.資料檔案是本地管理模式
3.完全備份或0級備份
4. 備份的指定位置在磁碟上
第三種:
BINARY COMPRESSION是在使用關鍵子"AS COMPRESSED" 時候才會起作用的二進位制壓縮方式。 rman 能夠使用二進位制壓縮演算法進行備份,這個二進位制的壓縮演算法能夠大大的減少備份集所需要的磁碟空間,通常情況下壓縮比會達到2-4倍
使用這種壓縮方式的命令如下:
rman> backup as compressed backupset database;
1. 啟用壓縮將消耗更多的CPU資源。
2. 啟用壓縮備份耗時略有增加。
3.節省空間。
4.當使用壓縮後的備份進行恢復時,恢復時間會變長,可以理解為還需要一個膨脹的過程。
就相當於使用備份集的恢復時間比使用映象副本的恢復時間長。
總結RMAN過濾塊的過程:
與通道相對應的服務程式會掃高水位線以下的所有資料塊 然後在輸入緩衝區到輸出緩衝區的過程中進行過濾,
過濾的塊為已分配但未被格式化的塊以及曾經使用過,但是現在為空的塊(塊中內容被delete掉)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69975956/viewspace-2697659/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN的備份原理
- Oracle Rman Catalog的建立方法和備份原理Oracle
- Oracle RMAN備份實戰Oracle
- Oracle OCP(60):RMAN 備份Oracle
- oracle 12c rman備份pdbOracle
- 分享Oracle Rman的備份指令碼Oracle指令碼
- LInux_壓縮和備份
- Oracle 備份恢復篇之RMAN catalogOracle
- 揭秘ORACLE備份之----RMAN之五(CATALOG)Oracle
- ORACLE DG從庫 Rman備份恢復Oracle
- oracle10g RMAN增量備份策略Oracle
- 【RMAN】RMAN備份至ASMASM
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- Oracle ADG環境下的RMAN備份策略Oracle
- RMAN備份概述
- 【RMAN】RMAN的備份保留策略
- 【RMAN】Oracle12c以後rman 備份恢復命令參考Oracle
- RMAN備份恢復典型案例——RMAN備份&系統變慢
- RMAN備份進度
- rman 備份指令碼指令碼
- mysqldump壓縮備份匯出匯入(含定期備份shell指令碼)MySql指令碼
- Lepton 無失真壓縮原理及效能分析
- Oracle9i RMAN 的優缺點及RMAN 備份及恢復步驟Oracle
- rman 增量備份恢復
- RMAN備份恢復技巧
- 【rman備份策略】實驗
- 【RMAN】Oracle12c之後,rman備份Dataguard備端恢復可能出現邏輯錯誤Oracle
- 【RMAN】Oracle中如何備份控制檔案?備份控制檔案的方式有哪幾種?Oracle
- 帝國CMS備份資料壓縮存放目錄
- Liunx運維(六)-檔案備份與壓縮命令運維
- oracle聯機熱備份的原理(轉)Oracle
- Oracle RMAN備份為什麼會大量使用temp表空間?Oracle
- Windows oracle 11g rman備份恢復到linux系統WindowsOracleLinux
- oracle壓縮表(二)Oracle
- oracle壓縮表(一)Oracle
- oracle 的表壓縮Oracle
- 【RMAN】同時建立多個備份(建立多重備份)
- 【RMAN】在備庫執行rman備份時報錯RMAN-06820 ORA-17629