oracle开启bct,关于BCT,你需要知道的是...

BCT的意义

Block Change Tracking 是在Oracle

10g里推出的新特性。BCT的原理是记录数据文件里每个数据块修改之后信息,这些修改之后的tracking信息保存在设置的tracking文件里。启动BCT后,RMAN或者XTTS使用tracking

file里的信息,只需要读取改变的数据块信息,而不用再对全部数据文件进行扫描,从而提高了RMAN或者XTTS增量备份的性能。

BCT的使用

数据库默认情况下的BCT是禁用的,可以通过v$block_change_tracking视图进行查询。

195919830_1_20200715064100208_wm

在启动BCT时,如果有设置oracle的OMF(oracle manage file),那么不指定路径的情况下,会自动设置在这里。

195919830_2_20200715064100271_wm

195919830_3_20200715064100364_wm

那么如果想指定路径的话只需要加一个using file 后面接一个路径名即可

首先先禁用,再重新开启。

195919830_4_20200715064100489_wm

这里发现禁用后,bct file会随着禁用而自动被删除清理。

195919830_5_20200715064100568_wm

195919830_6_20200715064100693

如果在RAC的场景下,bct file是必须放在ASM共享存储里面。

BCT的相关问题

预估开启后BCT所占空间

195919830_7_20200715064100739_wm

195919830_8_20200715064100833_wm

理解为:

以500GB大小的数据库为例,并且这个数据库只有一个线程,RMAN存有8个备份集,经过计算得知:

1*(8+2)(500GB/250000)=20.48MB左右。

以200GB大小的两节点RAC为例,并且这个数据库RMAN存有8个备份集,经过计算得知:

2(8+2)*(200GB/250000)=16.384MB左右。

BCT FILE大小因素是由以下因素决定:

1、 数据库数据量大小

2、 启用线程的数量

3、 数据库备份集的数量

理解隐含参数的意义

bct_bitmaps_per_file默认为8,我理解为保留最近8次block change的信息。

在备份期间,change tracking会维护已经被标记为change的block的bitmap信息。Oracle

会自动管理change tracking file的大小,只保留最近8次block change 的信息。如果超过8次,那么最前面的block

bitmap信息会被最近一次的change所覆盖。

195919830_9_202007150641015_wm

基于这个覆盖,官方文档也给出一个情景的考虑,在进行0级增量备份以及7次差异增量备份之后,8次block bitmap已经填满bct

file(默认_bct_bitmaps_per_file=8的情况下),那么这时候再进行一次1级的累积增量备份,就会进行全datafile扫描,因为累积增量备份是比较0级备份以后的变化情况,而0级备份会被覆盖,所以这个隐含参数的设定值也会影响不同增量备份的方式的效果。

PS: 以上均为个人学习之后的理解,如有错误,恳请指正。

学习来源:官方文档、RMAN 10g : How To Size the Block Change Tracking File (Doc ID 306112.1)等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值