Block chage tracking是 Oracle10g 的一個新特性,Block change tracking程序記錄自從上一次0級備份以來資料塊的變化,并把這些資訊記錄在跟蹤檔案中。RMAN使用這個檔案判斷增量備份中需要備份的變更資料。這極大的提高了備份性能和速度,RMAN可以不再掃描整個檔案以查找變更資料。
預設情況下資料庫是禁用塊修改跟蹤的(如果使用了OMF特性,ORACLE會自動建立塊修改跟蹤檔案),因為這可能會帶來一些額外的開銷。不過該特性對于增量備份畢竟相當有用,是以要看你的取舍,如果你的資料庫極少有修改操作,同時你希望增量備份盡可能快,并且建立的增量備份集盡可能小,那啟用塊修改跟蹤還是有意義的,并且這也不會太影響到資料庫的性能。
塊修改跟蹤檔案是基于整個資料庫的,如果使用了OMF,該檔案建立于DB_CREATE_FILE_DEST參數指定的目錄下,當然你也可以手動修改該檔案到其它路徑,不過如果是RAC環境,塊修改跟蹤檔案必須建立在共享存儲上,確定所有節點都能通路到它。塊修改跟蹤檔案中最多隻能儲存基于相同0級的,最近8天的增量備份所需資訊,是以如果超出,則塊修改跟蹤檔案就起不到作用了。
#啟用塊修改跟蹤功能,并建立修改跟蹤問檔案
SQL>alter database enable block change tracking using file'/orabackup/ore01/blocktraces/changed_block_tracking.log';
Database altered.
SQL>
# 判斷目前設定可以查詢視圖v$block_change_tracking,該視圖記錄了塊修改跟蹤檔案的狀态, 路徑及檔案大小
SQL> desc v$block_change_tracking;
Name Null? Type
------------------------------------------------- ----------------------------
STATUS VARCHAR2(10)
FILENAME VARCHAR2(513)
BYTES NUMBER
SQL> select * from v$block_change_tracking;
STATUS FILENAME BYTES
---------- ------------------------------------------------------------------------------------ ----------------
ENABLED /oradata/seven/blocktraces/changed_block_tracking.log 11599872
SQL>
#啟用Block Change Tracking功能後,Oracle會啟動一個ctwr程序,這個程序負責跟蹤資料的變化。
[[email protected] bin]$ ps -ef|grep ctwr
oracle 12468 1 1 16:41 ? 00:00:00 ora_ctwr_orcl2
#關閉塊修改跟蹤功能. 同時該指令也會導緻塊修改跟蹤檔案的清除。
SQL> alter database disable block change tracking;
Database altered.
版權所有,轉載請注明作者及原文連結,否則追究法律責任!
QQ: 584307876
作者: Seven
郵箱:
[email protected]