Block Change Tracking

本文介绍块改变跟踪技术(Block Change Tracking, BCT),一种用于优化数据库备份过程的技术。该技术通过记录自上次备份以来更改的数据块,减少后续备份所需扫描的数据量。文章详细解释了如何在数据库中启用、禁用及重新定位跟踪文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       改变跟踪技术又叫块改变跟踪技术,英文叫做BLOCK CHANGETRACKING,还是英文的好理解,说白了就是把上级备份以来所有块的改变记录到文件中,这个文件称为跟踪文件,通过后台进程对其进行实时的写入,这样就可以避免扫描所有数据文件中的所有块,改为参考跟踪文件,直接访问需要备份的块,当然0级备份时还是需要扫描所有的数据文件,这也很好理解,毕竟需要创建一个基准,以此来判断哪些块发生了改变。
默认情况下,块跟踪是关闭的,因为会给数据库带来一些额外的开销,不过这开销估计也就象归档和非归档模式之间的差别一样,如果DB中的块有频繁修改操作,那么打开此功能对于RMAN备份操作来讲还是很有好处的。

1.查看当前是否开启了块跟踪

SQL> select * from v$block_change_tracking;

STATUS     FILENAME                            BYTES
---------- ------------------------------ ----------
DISABLED


2.开户块跟踪

SQL> alter database enable block change tracking;

Database altered.


或加文件名

SQL> alter database enable block change  tracking using file'/opt/oracle/oradata/blktrace/blk_trace.dbf';
 


Database altered.

注:在RAC环境中,change tracking file需要放在共享存储上

block change tracking file的大小和数据库的大小及 enabledthreads of redo 的数量有关系,tracking file 的大小会根据数据库大小的变化和变化, 和更新频率没有关系。




SQL> select * from v$block_change_tracking;

STATUS     FILENAME                            BYTES
---------- ------------------------------ ----------
ENABLED    +DATA/rac/changetracking/ctf.2   11599872
           95.833629455

3.关闭块跟踪
SQL> alter database disable block change tracking;

Database altered.

SQL> select * from v$block_change_tracking;

STATUS     FILENAME                            BYTES
---------- ------------------------------ ----------
DISABLED

SQL>

4. 改变change tracking file的位置

1) 不关闭数据库的方式

SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'new_location';

注意:这种方式会丢失change tracking file的内容

2) 关闭数据库的方式

SQL> SELECT FILENAME FROM V$BLOCK_CHANGE_TRACKING;(确定当前的文件名)

SQL> SHUTDOWN IMMEDIATE

用操作系统命令将文件move到新路径

SQL> ALTER DATABASE RENAME FILE

'/disk1/changetracking/o1_mf_2f71np5j_.chg' TO

'/disk2/changetracking/o1_mf_2f71np5j_.chg';


SQL> ALTER DATABASE OPEN;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值