ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle10g新增BLOCK CHANGE TRACKING功能

Oracle10g新增BLOCK CHANGE TRACKING功能

原创 Linux操作系统 作者:yangtingkun 时间:2007-12-28 00:00:00 0 删除 编辑

Oracle10g新增了记录数据块变化的功能,显著的提高了增量备份的效率。


对于增量备份,Rman需要比较数据文件中所有的BLOCK,来确认这个BLOCK是否需要进行备份:

[oracle@testzone ~]$ sqlplus ndmain

SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 12 28 14:26:45 2007

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

输入口令:

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> select default_tablespace from user_users;

DEFAULT_TABLESPACE
------------------------------
NDMAIN

SQL> create table t_test1 (id number);

表已创建。

SQL> exit Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
断开

[oracle@testzone ~]$ exit
exit
主机命令完成

RMAN> backup incremental level 1 tablespace ndmain;

启动 backup 28-12-07使用通道 ORA_DISK_1通道 ORA_DISK_1: 启动增量级别 1 数据文件备份集通道 ORA_DISK_1: 正在指定备份集中的数据文件输入数据文件 fno=00011 name=/data/oradata/testzj/ndmain01.dbf输入数据文件 fno=00012 name=/data/oradata/testzj/ndmain02.dbf输入数据文件 fno=00013 name=/data/oradata/testzj/ndmain03.dbf输入数据文件 fno=00014 name=/data/oradata/testzj/ndmain04.dbf输入数据文件 fno=00015 name=/data/oradata/testzj/ndmain05.dbf通道 ORA_DISK_1: 正在启动段 1 28-12-07通道 ORA_DISK_1: 已完成段 1 28-12-07段句柄=/data/backup/05j4o7ah_1_1 标记=TAG20071228T142728 注释=NONE通道 ORA_DISK_1: 备份集已完成, 经过时间:00:04:35完成 backup 28-12-07

RMAN> list backup;

备份集列表
===================

BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
4 Incr 0 11.15G DISK 00:06:22 28-12
-07
BP
关键字: 4 状态: AVAILABLE 已压缩: NO 标记
: TAG20071228T141945段名:/data/backup/04j4o6s1_1_1
备份集 4 中的数据文件列表

文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
11 0 Incr 5479421905 28-12
-07 /data/oradata/testzj/ndmain01.dbf
12 0 Incr 5479421905 28-12
-07 /data/oradata/testzj/ndmain02.dbf
13 0 Incr 5479421905 28-12
-07 /data/oradata/testzj/ndmain03.dbf
14 0 Incr 5479421905 28-12
-07 /data/oradata/testzj/ndmain04.dbf
15 0 Incr 5479421905 28-12
-07 /data/oradata/testzj/ndmain05.dbf

BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
5 Incr 1 88.00K DISK 00:04:26 28-12
-07
BP
关键字: 5 状态: AVAILABLE 已压缩: NO 标记
: TAG20071228T142728段名:/data/backup/05j4o7ah_1_1
备份集 5 中的数据文件列表

文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
11 1 Incr 5479422221 28-12
-07 /data/oradata/testzj/ndmain01.dbf
12 1 Incr 5479422221 28-12
-07 /data/oradata/testzj/ndmain02.dbf
13 1 Incr 5479422221 28-12
-07 /data/oradata/testzj/ndmain03.dbf
14 1 Incr 5479422221 28-12
-07 /data/oradata/testzj/ndmain04.dbf
15 1 Incr 5479422221 28-12
-07 /data/oradata/testzj/ndmain05.dbf

上面这个例子中,LEVEL 0增量备份了11G,用时622秒,而后面的增量只有88K,却仍然花费了426秒,效率低的很。

而采用10g的新特性BLOCK CHANGE TRACKING

RMAN> DELETE NOPROMPT BACKUP;

使用通道 ORA_DISK_1

备份段列表
BP
关键字 BS 关键字 Pc# Cp# 状态 设备类型段名称
------- ------- --- --- ----------- ----------- ----------
4 4 1 1 AVAILABLE DISK /data/backup/04j4o6s1_1_1
5 5 1 1 AVAILABLE DISK /data/backup/05j4o7ah_1_1
已删除备份段备份段 handle=/data/backup/04j4o6s1_1_1 recid=4 stamp=642521985已删除备份段备份段 handle=/data/backup/05j4o7ah_1_1 recid=5 stamp=642522449
2
对象已删除


RMAN> EXIT

恢复管理器完成。
[oracle@testzone ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 12 28 14:38:11 2007

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> alter database enable block change tracking using file '/data/backup/track.trc';

数据库已更改。

SQL> exit Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
断开

[oracle@testzone ~]$ rman target /

恢复管理器: Release 10.2.0.3.0 - Production on 星期五 12 28 14:38:47 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到目标数据库: TESTZJ (DBID=3397373484)

RMAN> backup incremental level 0 tablespace ndmain;

启动 backup 28-12-07使用目标数据库控制文件替代恢复目录分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=139 devtype=DISK通道 ORA_DISK_1: 启动增量级别 0 数据文件备份集通道 ORA_DISK_1: 正在指定备份集中的数据文件输入数据文件 fno=00011 name=/data/oradata/testzj/ndmain01.dbf输入数据文件 fno=00012 name=/data/oradata/testzj/ndmain02.dbf输入数据文件 fno=00013 name=/data/oradata/testzj/ndmain03.dbf输入数据文件 fno=00014 name=/data/oradata/testzj/ndmain04.dbf输入数据文件 fno=00015 name=/data/oradata/testzj/ndmain05.dbf通道 ORA_DISK_1: 正在启动段 1 28-12-07通道 ORA_DISK_1: 已完成段 1 28-12-07段句柄=/data/backup/06j4o80b_1_1 标记=TAG20071228T143907 注释=NONE通道 ORA_DISK_1: 备份集已完成, 经过时间:00:06:25完成 backup 28-12-07

RMAN> host;

[oracle@testzone ~]$ sqlplus ndmain

SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 12 28 14:45:54 2007

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

输入口令:

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> create table t_test2 (id number);

表已创建。

SQL> exit Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
断开

[oracle@testzone ~]$ exit
exit
主机命令完成

RMAN> backup incremental level 1 tablespace ndmain;

启动 backup 28-12-07使用通道 ORA_DISK_1通道 ORA_DISK_1: 启动增量级别 1 数据文件备份集通道 ORA_DISK_1: 正在指定备份集中的数据文件输入数据文件 fno=00011 name=/data/oradata/testzj/ndmain01.dbf输入数据文件 fno=00012 name=/data/oradata/testzj/ndmain02.dbf输入数据文件 fno=00013 name=/data/oradata/testzj/ndmain03.dbf输入数据文件 fno=00014 name=/data/oradata/testzj/ndmain04.dbf输入数据文件 fno=00015 name=/data/oradata/testzj/ndmain05.dbf通道 ORA_DISK_1: 正在启动段 1 28-12-07通道 ORA_DISK_1: 已完成段 1 28-12-07段句柄=/data/backup/07j4o8e2_1_1 标记=TAG20071228T144626 注释=NONE通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01完成 backup 28-12-07

RMAN> list backup;

备份集列表
===================

BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
6 Incr 0 11.15G DISK 00:06:21 28-12
-07
BP
关键字: 6 状态: AVAILABLE 已压缩: NO 标记
: TAG20071228T143907段名:/data/backup/06j4o80b_1_1
备份集 6 中的数据文件列表

文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
11 0 Incr 5479422630 28-12
-07 /data/oradata/testzj/ndmain01.dbf
12 0 Incr 5479422630 28-12
-07 /data/oradata/testzj/ndmain02.dbf
13 0 Incr 5479422630 28-12
-07 /data/oradata/testzj/ndmain03.dbf
14 0 Incr 5479422630 28-12
-07 /data/oradata/testzj/ndmain04.dbf
15 0 Incr 5479422630 28-12
-07 /data/oradata/testzj/ndmain05.dbf

BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
7 Incr 1 88.00K DISK 00:00:00 28-12
-07
BP
关键字: 7 状态: AVAILABLE 已压缩: NO 标记
: TAG20071228T144626段名:/data/backup/07j4o8e2_1_1
备份集 7 中的数据文件列表

文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
11 1 Incr 5479422832 28-12
-07 /data/oradata/testzj/ndmain01.dbf
12 1 Incr 5479422832 28-12
-07 /data/oradata/testzj/ndmain02.dbf
13 1 Incr 5479422832 28-12
-07 /data/oradata/testzj/ndmain03.dbf
14 1 Incr 5479422832 28-12
-07 /data/oradata/testzj/ndmain04.dbf
15 1 Incr 5479422832 28-12
-07 /data/oradata/testzj/ndmain05.dbf

执行效率的提高十分显著,这主要是BLOCK CHANGE TRACKING特性的功能。Oracle通过一个小的track文件来记录哪些BLOCK发生了变化,RMAN进行增量备份的时候,不再需要扫描整个数据文件,只需要扫描这个记录变化的文件,找到变化的数据块,并对这些数据块进行备份即可。从而提高了增量备份的执行效率。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-69563/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10487110