Oracle:启用Block Change Tracking-10g新特性

Block chage tracking是Oracle10g的一个新特性,Block change tracking进程(CTWR)记录自从上一次0级备份(只能是累计增量备份吗?)以来数据块的变化,并把这些信息记录在跟踪文件中。RMAN使用这个文件判断增量备份中需要备份的变更数据。这极大的提高了备份性能和速度,RMAN可以不再扫描整个文件以查找变更数据

 

 

一般情况下,block change tracking是被disabled的
SQL> select * from v$block_change_tracking;

block change tracking文件的默认位置是根据db_create_file_dest参数指定的,如果此参数未设定,在打开block change tracking时会出现ora-19773 must specify change file name的错误信息。
SQL> show parameter db_create_file_dest;
启动block change tracking
SQL> alter database enable block change tracking;
启用block change tracking后,它会自己在db_create_file_dest指定的目录下建立自己的子目录和一个系统跟踪文件,此文件为二进制文件,初始化大小为10M
SQL> select * from v$block_change_tracking;

在启动时,或者可以自己指定路径和文件名
SQL> alter database enable block change tracking using file 'D:\ORADATA\ORCL\ORCL\CHANGETRACKING\blockchange.trc';
alter database enable block change tracking using file 'D:\ORADATA\ORCL\ORCL\CHANGETRACKING\blockchange.trc'
第 1 行出现错误:
ORA-19752: 已经启用块更改跟踪
SQL> alter database disable block change tracking;
数据库已更改。
SQL> alter database enable block change tracking using file 'D:\ORADATA\ORCL\ORCL\CHANGETRACKING\blockchange.trc';
数据库已更改。
SQL> select * from v$block_change_tracking
下面我们看一看alert.log文件最后的内容:
Completed: alter database disable block change tracking
Tue Oct 12 16:33:48 2010
alter database enable block change tracking using file 'D:\ORADATA\ORCL\ORCL\CHANGETRACKING\blockchange.trc'
Block change tracking file is current.
Starting background process CTWR
2b)Bh)@ S6E0c9?0CTWR started with pid=20, OS id=4128
Block change tracking service is active.
Tue Oct 12 16:33:49 2010
Completed: alter database enable block change tracking using file 'D:\ORADATA\ORCL\ORCL\CHANGETRACKING\blockchange.trc'
Tue Oct 12 16:34:48 2010
Incremental checkpoint up to RBA [0x1fd.33ab.0], current log tail at RBA [0x1fd.33b8.0]
=================================================================================================================
以下启用Block Change Tracking和没启用Block Change Tracking特性的时间对比:

启用   alter database enable block change tracking;

RMAN> backup incremental level 0 format='d:\backup\%U' database;

启动 backup 于 26-5月 -08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动压缩的增量级别 0 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件,
输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_SYSTEM_422B1M98_.DBF
输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_UNDOTBS1_422B1MC7_.DBF
输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_SYSAUX_422B1MFO_.DBF
输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_TEST_422Q3D0H_.DBF)
输入数据文件 fno=00006 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_BFTBS_43DG9QNZ_.DBF
输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_USERS_422B1MNZ_.DBF
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -08
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -08
段句柄=D:\BACKUP\0FJHBABT_1_1 标记=TAG20080526T113106 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:25;
通道 ORA_DISK_1: 启动压缩的增量级别 0 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -08)
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -08
段句柄=D:\BACKUP\0GJHBAEQ_1_1 标记=TAG20080526T113106 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:17
完成 backup 于 26-5月 -08

RMAN> backup incremental level 1 format='d:\backup\%U' database;

启动 backup 于 26-5月 -08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动压缩的增量级别 1 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
SYSTEM_422B1M98_.DBF
输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
UNDOTBS1_422B1MC7_.DBF
输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
SYSAUX_422B1MFO_.DBF
输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
f0_TEST_422Q3D0H_.DBF.C!I+x3xd[I j
输入数据文件 fno=00006 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_USERS_422B1MNZ_.DBF
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -08
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -08
段句柄=D:\BACKUP\0HJHBAGR_1_1 标记=TAG20080526T113346 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
通道 ORA_DISK_1: 启动压缩的增量级别 1 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -08
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -08
段句柄=D:\BACKUP\0IJHBAGU_1_1 标记=TAG20080526T113346 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
完成 backup 于 26-5月 -08

1级备份时间为7秒

禁用   alter database disable block change tracking;

RMAN> backup incremental level 0 format='d:\backup\%U' database;

启动 backup 于 26-5月 -08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动压缩的增量级别 0 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件ITPUB
输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
SYSTEM_422B1M98_.DBF
输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
UNDOTBS1_422B1MC7_.DBF
输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_SYSAUX_422B1MFO_.DBF
输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_TEST_422Q3D0H_.DBF
输入数据文件 fno=00006 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -08
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -08
段句柄=D:\BACKUP\0JJHBAKK_1_1 标记=TAG20080526T113548 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:55
通道 ORA_DISK_1: 启动压缩的增量级别 0 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -08
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -08
段句柄=D:\BACKUP\0KJHBAMB_1_1 标记=TAG20080526T113548 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
完成 backup 于 26-5月 -08

RMAN> backup incremental level 1 format='d:\backup\%U' database;

启动 backup 于 26-5月 -08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动压缩的增量级别 1 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_SYSAUX_422B1MFO_.DBF
输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_TEST_422Q3D0H_.DBF
输入数据文件 fno=00006 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_BFTBS_43DG9QNZ_.DBF
输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF
_USERS_422B1MNZ_.DBF
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -08
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -08
段句柄=D:\BACKUP\0LJHBAOU_1_1 标记=TAG20080526T113806 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:55
通道 ORA_DISK_1: 启动压缩的增量级别 1 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -08
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -08
段句柄=D:\BACKUP\0MJHBAQM_1_1 标记=TAG20080526T113806 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 26-5月 -08

RMAN>

1级备份时间为58秒  而且我对数据库数据没做任何改动

这个性能是很明显的

你可能感兴趣的:(oracle,sql,OS,J#,UP)