|
|
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文件)
示例:
|
|