您好,登錄后才能下訂單哦!
RMAN深入解析之--備份數據塊
對于RMAN的備份是基于數據塊的備份,數據塊備份的工作原理是:RMAN基于備份算法規則來編譯要備份的文件列表。基于信道數和同時備份的文件數,RMAN在Oracle共享內存段中創建一些內存緩沖區。一般是在PGA內,不過有時內存緩沖區會被推入SGA.信道服務器進程隨后開始讀取數據文件,并在RMAN緩沖區中填充這些數據塊。一個緩沖區被填滿時,輸入緩沖區中的數據塊會被推入輸出緩沖區。數據文件中的每個數據塊都會發生這種內存對內存的寫操作(memory-to-memory write),則該數據塊會保留在輸出緩沖區直至緩沖區被填滿。一旦輸出緩沖區被填滿,輸出緩沖區中的內容就會被推至備份位置(磁盤或磁帶)
一旦所有文件已通過內存緩沖區過濾,就完成了備份片,同時RMAN會在目標數據庫控制文件中寫入備份片的完成時間和備份片的名稱。
塊備份優點:
每個數據塊從磁盤讀入內存時都會發生內存到內存的寫操作,在這個操作期間會檢查數據塊的損壞。
空塊壓縮:
RMAN訪問數據塊時可以選擇空塊壓縮(null block compression),刪除從來沒有使用過的數據塊(header is 0),并在執行內存對內存的寫操作是丟棄這些數據塊。因此,我們只需要備份使用過的數據塊。
未使用的塊壓縮:
未初始化的塊不會備份,在10.2.0.3版本后,即使是使用過的塊,如果是空塊,也不會被備份。
未使用的塊壓縮可以自動使用,但需要滿足以下條件:
要求備份時完全備份或0級備份
備份是磁盤備份(或是Oracle安全備份)
COMPATIBLE的初始化參數設置為10.2或是更高的值
待備份的數據庫沒有可靠的還原點
數據文件是本地管理
塊級備份的性能:
RMAN備份期間不需要啟動熱備份模式(begin backup)。RMAN對數據塊的訪問允許RMAN與寫“臟”緩沖區的DBWR進程協調,并且在將這個數據塊讀入內存以前它可以等待直至數據塊達到一致。因此,數據塊不會轉儲為重做,并且備份中的數據塊總是一致的。
RMAN的塊跟蹤:
Block change tracking記錄自從上一次備份以來數據塊的變化,并把這些信息記錄在跟蹤文件中。RMAN使用這個文件判斷增量備份中需要備份的變更數據。這極大的促進了備份性能,RMAN可以不再掃描整個文件以查找變更數據。為此Oracle引入了一個新的后臺進程,CTWR,其全稱為Change Tracking Writer,用于記錄變化的塊并將變化寫入相應的日志文件中。 通過位圖跟蹤兩次備份間變化的數據塊; 每次備份前進行位圖切換; 開發增量備份策略時,要考慮到8個位圖的限制;一般增量備份周期為一個禮拜 在RAC環境中,change tracking file需要放在共享存儲上; Change tracking file的大小和數據庫的大小和enabled的redo thread的個數成正比; Change tracking file的大小和數據更新的頻率無關; 開啟塊跟蹤功能對數據庫的性能有一點影響。 [oracle@aix211 ~]$sqlplus '/as sysdba' SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 19 17:06:05 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production With the Partitioning, OLAP and Data Mining options SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/home/oracle/block.trc'; Database altered. SQL> SELECT filename from V$BLOCK_CHANGE_TRACKING; FILENAME -------------------------------------------------------------------------------- /home/oracle/block.trc
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。