• 博客访问: 419105
  • 博文数量: 182
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-26 09:51
个人简介

www.zhixian.com.cn上海装修公司 www.lianzhiwei.com奶茶加盟 www.fanzaihanbao.com汉堡加盟

文章分类

全部博文(182)

文章存档

2010年(41)

2009年(141)

我的朋友

分类: Linux操作系统

2009-09-17 15:04:48

INCREMENTAL BACKUP
分2种第一种是差异增量备份和累积增量备份


? 差异备份:这是增量备份的缺省类型,它备份自最近n 级或更低级别备份以来更改
过的所有块
? 累积备份:备份自最近n-1 级或更低级别备份以来更改过的所有块

0级是基础,如果运行1-4级别时候没0级备份,那么oracle自动0级备份

简单的说:
incremental:备份当天,及小于当前level之间变化的block

例:
周日 0 ,周一2,周二2 ,周三一,周四0
分析 周日0级备份:相当与FULL备份
     周一2级备份:备份周日到周一变化的BLOCK
     周二2级备份:备份周1到周2变化的BLOCK
     周三1级备份:备份周1到周三变化的block
     周四0级备份:备份周日到周四的所有内容(FULL BACKUP)

级别0最大,4最小 可以看出 周1级别小于周日级别 所以只备份当天的变化,周二级别等于周一级别所以也只备份 当天的变化,周三级别大于周2级别大于周1级别小于周日级别 所以

备份周1-周3的变化
周四0级 FULLBACKUP
    


culumative备份:备份当天及小于等于当前级别之间的变化block

例:
周日 0 ,周一2,周二2 ,周三一,周四0
分析 周日0级备份:相当与FULL备份
     周一2级备份:备份周日到周一变化的BLOCK
     周二2级备份:备份周1到周2变化的BLOCK
     周三1级备份:备份周1到周三变化的block
     周四0级备份:备份周日到周四的所有内容(FULL BACKUP)

级别0最大,4最小 可以看出 周1级别小于周日级别 所以只备份当天的变化,周二级别等于周一级别所以备份周1到周2的变化的block(注意等于也备份),周三级别大于周2级别大

于周1级别小于周日级别 所以备份周1-周3的变化
周四0级 FULLBACKUP

 

SQL> create table t1(a char(2000),b char(2000),c char(2000)) tablespace test;

表已创建。

RMAN> backup incremental level 0 datafile 6; backup culumative(累积备份) level
RMAN> backup incremental level 2 datafile 6;~~~~~~~insert 产生要备份的块
RMAN> backup incremental level 2 datafile 6;~~~~~~~insert 产生要备份的块
RMAN> backup incremental level 1 datafile 6;~~~~~~~insert 产生要备份的块
RMAN> list backup of datafile 6;


SQL> create table t1(a char(2000),b char(2000),c char(2000)) tablespace test;

表已创建。

SQL> insert into t1 values('a','a','a');
每次INSERT 都会产生一个新BLOCK 8192=8K

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

RMAN> list backup of datafile 6;


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

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
25      Incr 0  216.00K    DISK        00:00:00     18-9月 -09
        BP 关键字: 25   状态: AVAILABLE  已压缩: NO  标记: TAG20090918T145032
段名:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_18\O1_MF_N
NND0_TAG20090918T145032_5C6CFS5C_.BKP
  备份集 25 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  6    0  Incr 1799000    18-9月 -09 D:\TEST.DBF

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
26      Incr 2  48.00K     DISK        00:00:01     18-9月 -09~~~2级时候~~~~~变化块为8K(另外40是固定的不知道包含什么)只备份当前
        BP 关键字: 26   状态: AVAILABLE  已压缩: NO  标记: TAG20090918T145101
段名:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_18\O1_MF_N
NND2_TAG20090918T145101_5C6CGOGN_.BKP
  备份集 26 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称~~~~~~~~~~~~~~~~CKP SCN(CHECKPOINT SCN)
  ---- -- ---- ---------- ---------- ----
  6    2  Incr 1799025    18-9月 -09 D:\TEST.DBF

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
27      Incr 2  48.00K     DISK        00:00:01     18-9月 -09~~~~~2级时候~~~~~~~变化块为8K(另外40是固定的不知道包含什么)只备份当前
        BP 关键字: 27   状态: AVAILABLE  已压缩: NO  标记: TAG20090918T145132
段名:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_18\O1_MF_N
NND2_TAG20090918T145132_5C6CHNQG_.BKP
  备份集 27 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  6    2  Incr 1799050    18-9月 -09 D:\TEST.DBF

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
28      Incr 1  72.00K     DISK        00:00:01     18-9月 -09~~~~1级别时~~~变化块为8K~加上2次2级别时候变化块16 一共32+固定40=72K~~
        BP 关键字: 28   状态: AVAILABLE  已压缩: NO  标记: TAG20090918T145336
段名:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_18\O1_MF_N
NND1_TAG20090918T145336_5C6CMJTC_.BKP
  备份集 28 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  6    1  Incr 1799107    18-9月 -09 D:\TEST.DBF

 

 

 


开启块跟踪
增强incremental backup性能(10G才有 块跟踪)10G前 RMAN要扫描所有datafile中所有块利用checkpoint SCN确定父备份中那些块修改过

2段doc中描述
Oracle Database 10g includes a change tracking feature for incremental backups, which improves incremental backup performance by recording changed blocks in

each datafile in a change tracking file. If change tracking is enabled, then RMAN uses the change tracking file to identify changed blocks for incremental

backup. This avoids the need to scan every block in the datafile, reducing the number of disk reads during backup

 

RMAN's change tracking feature for incremental backups improves incremental backup performance by recording changed blocks in each datafile in a change

tracking file. If change tracking is enabled, RMAN uses the change tracking file to identify changed blocks for incremental backup, thus avoiding the need to

scan every block in the datafile.

After enabling change tracking, the first level 0 incremental backup still has to scan the entire datafile, as the change tracking file does not yet reflect

the status of the blocks. Subsequent incremental backup that use this level 0 as parent will take advantage of the change tracking file.

Using change tracking in no way changes the commands used to perform. incremental backups, and the change tracking files themselves generally require little

maintenance after initial configuration.

Change tracking is disabled by default, because it does introduce some minimal performance overhead on your database during normal operations. However, the

benefits of avoiding full datafile scans during backup are considerable, especially if only a small percentage of data blocks are changed between backups. If

your backup strategy involves incremental backups, then you should enable change tracking.

One change tracking file is created for the whole database. By default, the change tracking file is created as an Oracle managed file in DB_CREATE_FILE_DEST.

You can also specify the name of the block change tracking file, placing it in any location you choose.


开块跟踪后(默认是关闭的),用一个文件(LOG)来跟踪自上次备份起更改过的块,rman读取这个LOG 来确定 要备份的块 提高了incremental checkpoint性能,避免扫描所有块,level

0还是会扫描所有block的,如果跟踪文件丢失则还会scan the entire datafile,所以开启块跟踪10G才是真正意义上的 INCREMENTAL BACKUP(不用再扫描所有DATAFILE )


15:00:35 SQL> desc v$block_change_tracking;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ------------------------
 STATUS                                             VARCHAR2(10)
 FILENAME                                           VARCHAR2(513)
 BYTES                                              NUMBER

SQL> col filename format a30
SQL> select * from v$block_change_tracking;

STATUS     FILENAME                            BYTES
---------- ------------------------------ ----------
DISABLED

 


SQL> alter database enable block change tracking  using file 'rman_test.trk';~只指定了名字 未指定位置

数据库已更改。

SQL> select * from v$block_change_tracking;

STATUS     FILENAME                            BYTES
---------- ------------------------------ ----------
ENABLED    E:\ORACLE\PRODUCT\10.2.0\DB_1\   11599872~~~~~~~~~~DEFAULT 存在这个位置
           DATABASE\RMAN_TEST.TRK

如果使用OMF 管理oracle文件 会建立在
db_create_file_dest位置


SQL> alter database disable block change tracking (关闭)
  2  ;

数据库已更改。


SQL> alter database enable block change tracking  using file 'd:\backup\rman_test.t
rk';
指定名字和位置
数据库已更改。

SQL> select * from v$block_change_tracking;

STATUS     FILENAME                            BYTES
---------- ------------------------------ ----------
ENABLED    D:\BACKUP\RMAN_TEST.TRK          11599872

 

 


可以移动 trace file
To relocate the change tracking file:

If necessary, determine the current name of the change tracking file:

SELECT filename
FROM V$BLOCK_CHANGE_TRACKING;

Shut down the database. For example:

SHUTDOWN IMMEDIATE

Using host operating system commands, move the change tracking file to its new location.

Mount the database and move the change tracking file to a location that has more space. For example:

ALTER DATABASE RENAME FILE     'ora_home/dbs/change_trk.f' TO '/new_disk/change_trk.f';

Open the database:

ALTER DATABASE OPEN;

SQL> shutdown immediate;
数据库已经关闭。
Fri Sep 18 16:12:13 2009
Block change tracking service stopping.(ALERT.LOG中 )

SQL> host move d:\backup\rman_test.trk e:\rman_test.trk


SQL> startup  mount
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已经启动。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             205523844 bytes
Database Buffers          398458880 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
SQL> alter database rename file 'd:\backup\rman_test.trk' to 'e:\rman_test.trk';

数据库已更改。
SQL> alter database open;

数据库已更改。

 

阅读(4006) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册