Block Change Tracking(塊改變跟蹤)主要用於RMAN備份的增量備份,Oracle 從10g開始提供此功能。在系統中默認關閉
當啓用該共功能後,每當數據塊發生改變時,相關信息就會記錄在跟蹤文件中,記錄從上一次0級備份以來數據塊的變化。相
關後臺進程CTWR(Change Tracking Writer)。 當RMAN進行增量備份時,就不用完全遍歷整個數據文件,查找需要備
份的數據塊從而極大地提高了備份的效率。另外塊兒跟蹤開啓或關閉跟RMAN能否增量備份並沒有直接關係,塊兒跟蹤關閉
狀態下RMAN也可以正常增量備份,塊兒改變跟蹤只是影響備份效率。適合修改比例較少,對備份效率要求較高的場景。塊修
改跟蹤文件中最多隻能保存基於相同0級的,最近8天的增量備份所需信息,因此如果超出,則塊修改跟蹤文件就起不到作用了。
1.對應的視圖:
SQL> desc v$block_change_tracking
名稱 是否爲空? 類型
----------------------------------------- -------- ----------------------------
STATUS VARCHAR2(10)
FILENAME VARCHAR2(513)
BYTES NUMBER
2.查看當前狀態:
SQL> select * from v$block_change_tracking;
STATUS FILENAME BYTES
------------------------------ ------------------------------ ----------
DISABLED
3.開啓數據庫塊兒跟蹤:
SQL> alter database enable block change tracking using file '/oracle/oradata/orcl/chtrack.log';
數據庫已更改。
注:10g中有默認的跟蹤文件,可以使用alter database enable block change tracking 就可開啓塊兒
跟蹤,11g中必須指跟蹤使用的定文件(我的庫是11g)。
4.查看開啓後的狀態:
SQL> select * from v$block_change_tracking;
STATUS FILENAME BYTES
----------------- ------------------------------------------- --------------
ENABLED /oracle/oradata/orcl/chtrack.l og 11599872
5.查看對應進程:
SQL> host
[oracle@localhost ~]$ ps -ef|grep ctwr
oracle 21015 1 0 20:13 ? 00:00:00 ora_ctwr_orcl
oracle 21109 21088 0 20:19 pts/4 00:00:00 grep ctwr
6.關閉塊兒跟蹤特性:
SQL> alter database disable block change tracking;
數據庫已更改。
SQL> select * from v$block_change_tracking;
STATUS FILENAME BYTES
------------------------------ ------------------------------ ----------
DISABLED
擴展閱讀:
1. Oracle 塊修改跟蹤 (Block Change Tracking) 說明: http://www.cnblogs.com/andy6/p/5914268.html
2.
揭祕ORACLE備份之----RMAN之四(塊跟蹤):
http://blog.itpub.net/429786/viewspace-776767/