zoukankan      html  css  js  c++  java
  • 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]

  • 相关阅读:
    Linux network driver
    Linux dd
    Linux aclocal
    Ubuntu
    Makefile
    控制导出符号
    Apache
    Linux nm命令
    Git Submodule
    Linux sed
  • 原文地址:https://www.cnblogs.com/binliubiao/p/15114283.html
Copyright © 2011-2022 走看看