重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: oracle数据库开启块跟踪 [打印本页]

作者: ZhangQi    时间: 2025-8-31 14:45
标题: oracle数据库开启块跟踪
Oracle 块跟踪 (Block Change Tracking, BCT),是 Oracle 数据库在增量备份时的一个优化机制

1. 原理:

        - 在没有块跟踪的情况下,RMAN 做 增量备份(level 1)时,需要去扫描整个数据文件,判断哪些块在上次备份后有修改,效率比较低
        - 开启块跟踪后,数据库会维护一个专门的 Change Tracking File (CTF),记录哪些数据块发生了变化
        - 这样增量备份时,RMAN 直接去读取这个文件,就能快速找到需要备份的块,避免全表空间扫描,大大提高备份效率

注意:块跟踪 只对增量备份有用,全量备份不会用到,Change Tracking File 大小一般是数据库大小的 1/30 左右

2. 开启方法(需要有 SYSDBA 权限)

(1) 查看是否已经启用:
SELECT status, filename FROM v$block_change_tracking;


DISABLED 表示未启用,ENABLED 表示已经启用,filename 显示文件路径

(2) 启用块跟踪(自动存放在数据库默认位置):

ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;

(3) 启用块跟踪并指定文件路径:

通常我们会把它放在本地磁盘,不放在 ASM 共享存储里:

ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '<文件路径>'; (最好是.bct文件)

示例:

1637668b3ef73efc42.png
登录/注册后可看大图