zoukankan      html  css  js  c++  java
  • [Oracle工程师手记]增量备份的BCT文件限制

    Oracle 的 RMAN 进行增量备份的时候,如果用户设置了 block_change_tracking  有效,完成了全备份之后,所有的变更的块,都会被记录到 BCT 文件中,RMAN 不必全扫描所有的数据文件,它只是去读取 BCT 文件,可以大大提高备份速度。

    不过,它有一个很大的限制,就是BCT文件只有8个槽位,或者说8 个 BitMap 表。一旦增量备份次数超过 8 次, 再次进行增量备份时,就需要扫描所有的数据文件。如果此时执行了全备份,那么8个槽位清空,又可以再次在增量备份中使用 BCT 文件。

    如果每一次都想通过读取BCT文件进行增量备份,那么可以设置隐含参数 _bct_bitmaps_per_file 为  0, 这样就可以无限回使用 BCT 文件了。

    使用BCT文件,还有一个好处,可以读取BCT文件中的数据块数,估算增量备份的大小。

    select file#,
           blocks_changed,
           block_size,
           blocks_changed * block_size bytes_changed,
           round(blocks_changed / blocks * 100, 2) percent_changed
    from v$datafile join
         (select fno
                 file#,
                 sum(bct) blocks_changed
          from (select distinct fno, bno, bct from x$krcbit
                where vertime >= (select curr_vertime from x$krcfde
                                  where csno=x$krcbit.csno and fno=x$krcbit.fno))
          group by fno order by 1)
    using(file#);
    
  • 相关阅读:
    PHP 单例 工厂模式 类的重载 抽象 接口
    上传文件
    ThinkPHP3.2中if标签
    JS闭包特性 运算符 DOM操作
    循环数组 连接数据库 AJAX
    ThinkPHP
    TP框架
    MVC框架
    类的自动加载,静态属性静态方法
    魔术方法__get()和set函数
  • 原文地址:https://www.cnblogs.com/gaojian/p/14636185.html
Copyright © 2011-2022 走看看