Oracle-RMAN块跟踪文件(Block Change Tracking File)

简介

Block change tracking(BCT)是Oracle10g的一个新特性,Block change tracking进程记录自从上一次备份以来数据块的变化,并把这些信息记录在跟踪文件中。RMAN使用这个文件判断增量备份中需要备份的变更数据。这极大的促进了备份性能,RMAN可以不再扫描整个文件以查找变更数据。 为此Oracle引入了一个新的后台进程,CTWR,其全称为Change Tracking Writer,用于记录变化的块并将变化写入相应的日志文件中。它必须先有一个0级RMAN备份才能使用上此特性。block change tracking file 是bitmap file

注意事项

  • Block change tracking 也会带来一定的性能开销。

  • 第一个0级的增量备份扫描整个datafile。 随后的增量备份使用block changetracking file的信息,只扫描自上次备份以来被标记为change 的block。

  • 在备份期间,change tracking会维护已经标记为change 的block 的bitmap 信息。Oracle 会自动管理change tracking file的大小,只保留最近最近8次blockchange 的信息。 超过8次, 那么最前面的block bitmap 信息会被current change 覆盖。此时,它就需要扫描全量的数据文件。

  • 要考虑change tracking file 的8次限制与备份策略的关系。 如果我们在0级备份之后又进行了7次不同的增量备份,那么这时block change tracking 就包含了8个bitmaps信息。 如果我们在进行1级的增量备份,那么此时的增量就不是最优的, 还会扫描整个data file。 因为之前0级的bitmap信息被当前的bitmap 信息覆盖掉了,这样就没有了参考的依据。

  • RMAN 不支持对change tracking file 的备份与恢复

评估跟踪文件大小

<size of change tracking file> = <# of redo threads> * (# of old backups + 2) * (size of db<size of bytes>/250000) 

small data file 数量越多,跟踪文件越大

影响的因素

  • 数据库的大小
  • enabled threads of redo 的数量
  • 对于每个datafile,在BCT文件中最少需要分配320k的空间。如果有大量的小data file,跟踪文件会超过评估预算值

配置

开启BCT

块跟踪文件可以在文件系统,asm,裸设备上创建日志跟踪文件(在RAC环境中,change tracking file需要放在共享存储上)。数据库实例状态可以在open或mount上开启块跟踪

-- 在文件系统上开启BCT
alter database enable block change tracking using file '/oradata/block_track.bct';

-- 在ASM磁盘组上开启BCT
alter database enable block change tracking using file '+data';

-- 在裸设备上开启BCT
alter database enable block change tracking using file '/dev/rlvbct';

检查BCT得使用情况

通过查询v$block_change_tracking视图查询bct的使用情况

col filename format a60
col status for a12
select status, filename from v$block_change_tracking;

禁用block change tracking(BCT)

alter database disable block change tracking;

修改块修改跟踪文件路径

1. 只能在mount状态下直接修改路径

alter database rename file 'new_file_path_name';

2. 先禁用再启用BCT的方式修改路径

alter database disable block change tracking;
alter database enable block change tracking using file '/oradata/ORCL/bct/bctf.bct' reuse;

附录

参考文档

How To Size the Block Change Tracking File [ID 306112.1]

原文地址:https://www.cnblogs.com/binliubiao/p/15114283.html