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/