如何理解rman保留备份天数
在rman的配置中。可以看到这样的配置信息。
RMAN> show all;
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\S
NCFORA10G.ORA'; # default
Configure retention policy to recovery window of 2 days; 表示备份保留两天,即表示oracle可以保证还原到两天的任意时间点。
当前时间为2012-08-09.我给DB做一个0级备份。
Rman_lv0
run{
allocate channel c1 type disk maxpiecesize=3500m;
allocate channel c2 type disk maxpiecesize=3500m;
backup incremental level 0 database format 'E:\backup\oradata\backup_%T_%s_%p.LV0' tag inc0;
sql 'alter system archive log current';
crosscheck archivelog all;
backup archivelog all format 'E:\backup\arch\backup_%T_%s_%p.arc' tag arch0 delete input;
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
release channel c1;
release channel c2;
}
列出备份信息
List backup; 可以看出有一0级的全备。为了达到实验效果。我手动调整系统时间到2012-08-10并重启DB
然后给DB做增量1级别备份。
Rman_lv1
run{
allocate channel c1 type disk maxpiecesize=3500m;
allocate channel c2 type disk maxpiecesize=3500m;
backup incremental level 1 database format 'E:\backup\oradata\backup_%T_%s_%p.LV1' tag inc1;
sql 'alter system archive log current';
crosscheck archivelog all;
backup archivelog all format 'E:\backup\arch\backup_%T_%s_%p.arc' tag arch1 delete input;
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
release channel c1;
release channel c2;
}
List backup;可以看到昨天的0级备份和今天的增量1级备份;上面rman也没有找到废弃的备份。
我再次重启DB。并且把系统时间调到2012-08-11
然后我给DB做一个0级备份。
脚本如上rman_lv0.
Rman脚本最后开始删除一个备份归档日志,但是没有删除备份的数据文件。
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为 2 天的恢复窗口
已废弃的备份和副本报表
类型 关键字 完成时间 文件名/句柄
-------------------- ------ ------------------ --------------------
备份集 14 09-8月 -12
备份片段 14 09-8月 -12 E:\BACKUP\ARCH\BACKUP_20120809_17_1.ARC
我们继续。我把系统的时间手动调整到2012-08-12。重启DB,并给DB做增量1级备份。
脚本同上rman_lv1;
Rman 脚本跑出这样的结果
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为 2 天的恢复窗口
删除以下已废弃的备份和副本:
类型 关键字 完成时间 文件名/句柄
-------------------- ------ ------------------ --------------------
备份集 12 09-8月 -12
备份片段 12 09-8月 -12 E:\BACKUP\ORADATA\BACKUP_20120809_15_1.
LV0
备份集 13 09-8月 -12
备份片段 13 09-8月 -12 E:\BACKUP\ORADATA\BACKUP_20120809_16_1.
LV0
备份集 14 09-8月 -12
备份片段 14 09-8月 -12 E:\BACKUP\ARCH\BACKUP_20120809_17_1.ARC
备份集 15 09-8月 -12
备份片段 15 09-8月 -12 E:\BACKUP\ARCH\BACKUP_20120809_18_1.ARC
备份集 16 09-8月 -12
备份片段 16 09-8月 -12 E:\BACKUP\ARCH\BACKUP_20120809_19_1.ARC
备份集 21 10-8月 -12
备份片段 21 10-8月 -12 E:\BACKUP\ARCH\BACKUP_20120810_24_1.ARC
备份集 23 10-8月 -12
备份片段 23 10-8月 -12 E:\BACKUP\ARCH\BACKUP_20120810_26_1.ARC
已删除备份片段
备份段 handle=E:\BACKUP\ORADATA\BACKUP_20120809_15_1.LV0 recid=12 stamp=79085598
4
已删除备份片段
备份段 handle=E:\BACKUP\ORADATA\BACKUP_20120809_16_1.LV0 recid=13 stamp=79085598
5
已删除备份片段
备份段 handle=E:\BACKUP\ARCH\BACKUP_20120809_17_1.ARC recid=14 stamp=790855992
已删除备份片段
备份段 handle=E:\BACKUP\ARCH\BACKUP_20120809_18_1.ARC recid=15 stamp=790855993
已删除备份片段
备份段 handle=E:\BACKUP\ARCH\BACKUP_20120809_19_1.ARC recid=16 stamp=790855994
已删除备份片段
备份段 handle=E:\BACKUP\ARCH\BACKUP_20120810_24_1.ARC recid=21 stamp=790942971
已删除备份片段
备份段 handle=E:\BACKUP\ARCH\BACKUP_20120810_26_1.ARC recid=23 stamp=790942972
7 对象已删除
RMAN> list backup of database;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
10 Incr 0 234.34M DISK 00:01:26 09-8月 -12
BP 关键字: 10 状态: AVAILABLE 已压缩: NO 标记: INC0
段名:E:\BACKUP\ORADATA\BACKUP_20120809_14_1.LV0
备份集 10 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 0 Incr 783675 09-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UND
OTBS01.DBF
3 0 Incr 783675 09-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
AUX01.DBF
5 0 Incr 783675 09-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\EXA
MPLE01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
11 Incr 0 366.57M DISK 00:01:26 09-8月 -12
BP 关键字: 11 状态: AVAILABLE 已压缩: NO 标记: INC0
段名:E:\BACKUP\ORADATA\BACKUP_20120809_13_1.LV0
备份集 11 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 0 Incr 783674 09-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
TEM01.DBF
4 0 Incr 783674 09-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USE
RS01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
17 Incr 1 552.00K DISK 00:00:18 10-8月 -12
BP 关键字: 17 状态: AVAILABLE 已压缩: NO 标记: INC1
段名:E:\BACKUP\ORADATA\BACKUP_20120810_21_1.LV1
备份集 17 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 1 Incr 784358 10-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UND
OTBS01.DBF
3 1 Incr 784358 10-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
AUX01.DBF
5 1 Incr 784358 10-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\EXA
MPLE01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
18 Incr 1 272.00K DISK 00:00:18 10-8月 -12
BP 关键字: 18 状态: AVAILABLE 已压缩: NO 标记: INC1
段名:E:\BACKUP\ORADATA\BACKUP_20120810_20_1.LV1
备份集 18 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 1 Incr 784357 10-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
TEM01.DBF
4 1 Incr 784357 10-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USE
RS01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
24 Incr 0 235.03M DISK 00:01:19 11-8月 -12
BP 关键字: 24 状态: AVAILABLE 已压缩: NO 标记: INC0
段名:E:\BACKUP\ORADATA\BACKUP_20120811_28_1.LV0
备份集 24 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 0 Incr 788204 11-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UND
OTBS01.DBF
3 0 Incr 788204 11-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
AUX01.DBF
5 0 Incr 788204 11-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\EXA
MPLE01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
25 Incr 0 367.06M DISK 00:01:25 11-8月 -12
BP 关键字: 25 状态: AVAILABLE 已压缩: NO 标记: INC0
段名:E:\BACKUP\ORADATA\BACKUP_20120811_27_1.LV0
备份集 25 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 0 Incr 788203 11-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
TEM01.DBF
4 0 Incr 788203 11-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USE
RS01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
30 Incr 1 320.00K DISK 00:00:10 12-8月 -12
BP 关键字: 30 状态: AVAILABLE 已压缩: NO 标记: INC1
段名:E:\BACKUP\ORADATA\BACKUP_20120812_33_1.LV1
备份集 30 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 1 Incr 789112 12-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
TEM01.DBF
4 1 Incr 789112 12-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USE
RS01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
31 Incr 1 600.00K DISK 00:00:21 12-8月 -12
BP 关键字: 31 状态: AVAILABLE 已压缩: NO 标记: INC1
段名:E:\BACKUP\ORADATA\BACKUP_20120812_34_1.LV1
备份集 31 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 1 Incr 789116 12-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UND
OTBS01.DBF
3 1 Incr 789116 12-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
AUX01.DBF
5 1 Incr 789116 12-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\EXA
MPLE01.DBF
可以看到我们现在还有2012-08-09的数据文件的全备
我们继续。把系统时间调整为2012-08-13.重启DB。并且做0级备份。
脚本同上rman_lv0
最后rman脚本跑出这样的结果
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为 2 天的恢复窗口
删除以下已废弃的备份和副本:
类型 关键字 完成时间 文件名/句柄
-------------------- ------ ------------------ --------------------
备份集 11 09-8月 -12
备份片段 11 09-8月 -12 E:\BACKUP\ORADATA\BACKUP_20120809_13_1.
LV0
备份集 10 09-8月 -12
备份片段 10 09-8月 -12 E:\BACKUP\ORADATA\BACKUP_20120809_14_1.
LV0
备份集 18 10-8月 -12
备份片段 18 10-8月 -12 E:\BACKUP\ORADATA\BACKUP_20120810_20_1.
LV1
备份集 17 10-8月 -12
备份片段 17 10-8月 -12 E:\BACKUP\ORADATA\BACKUP_20120810_21_1.
LV1
备份集 19 10-8月 -12
备份片段 19 10-8月 -12 E:\BACKUP\ORADATA\BACKUP_20120810_22_1.
LV1
备份集 20 10-8月 -12
备份片段 20 10-8月 -12 E:\BACKUP\ORADATA\BACKUP_20120810_23_1.
LV1
备份集 22 10-8月 -12
备份片段 22 10-8月 -12 E:\BACKUP\ARCH\BACKUP_20120810_25_1.ARC
已删除备份片段
备份段 handle=E:\BACKUP\ORADATA\BACKUP_20120809_13_1.LV0 recid=11 stamp=79085588
8
已删除备份片段
备份段 handle=E:\BACKUP\ORADATA\BACKUP_20120809_14_1.LV0 recid=10 stamp=79085589
2
已删除备份片段
备份段 handle=E:\BACKUP\ORADATA\BACKUP_20120810_20_1.LV1 recid=18 stamp=79094293
6
已删除备份片段
备份段 handle=E:\BACKUP\ORADATA\BACKUP_20120810_21_1.LV1 recid=17 stamp=79094293
6
已删除备份片段
备份段 handle=E:\BACKUP\ORADATA\BACKUP_20120810_22_1.LV1 recid=19 stamp=79094296
3
已删除备份片段
备份段 handle=E:\BACKUP\ORADATA\BACKUP_20120810_23_1.LV1 recid=20 stamp=79094296
4
已删除备份片段
备份段 handle=E:\BACKUP\ARCH\BACKUP_20120810_25_1.ARC recid=22 stamp=790942971
7 对象已删除
我们list backup of database;
RMAN> list backup of database;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
24 Incr 0 235.03M DISK 00:01:19 11-8月 -12
BP 关键字: 24 状态: AVAILABLE 已压缩: NO 标记: INC0
段名:E:\BACKUP\ORADATA\BACKUP_20120811_28_1.LV0
备份集 24 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 0 Incr 788204 11-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UND
OTBS01.DBF
3 0 Incr 788204 11-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
AUX01.DBF
5 0 Incr 788204 11-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\EXA
MPLE01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
25 Incr 0 367.06M DISK 00:01:25 11-8月 -12
BP 关键字: 25 状态: AVAILABLE 已压缩: NO 标记: INC0
段名:E:\BACKUP\ORADATA\BACKUP_20120811_27_1.LV0
备份集 25 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 0 Incr 788203 11-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
TEM01.DBF
4 0 Incr 788203 11-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USE
RS01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
30 Incr 1 320.00K DISK 00:00:10 12-8月 -12
BP 关键字: 30 状态: AVAILABLE 已压缩: NO 标记: INC1
段名:E:\BACKUP\ORADATA\BACKUP_20120812_33_1.LV1
备份集 30 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 1 Incr 789112 12-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
TEM01.DBF
4 1 Incr 789112 12-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USE
RS01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
31 Incr 1 600.00K DISK 00:00:21 12-8月 -12
BP 关键字: 31 状态: AVAILABLE 已压缩: NO 标记: INC1
段名:E:\BACKUP\ORADATA\BACKUP_20120812_34_1.LV1
备份集 31 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 1 Incr 789116 12-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UND
OTBS01.DBF
3 1 Incr 789116 12-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
AUX01.DBF
5 1 Incr 789116 12-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\EXA
MPLE01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
36 Incr 0 235.03M DISK 00:00:46 13-8月 -12
BP 关键字: 36 状态: AVAILABLE 已压缩: NO 标记: INC0
段名:E:\BACKUP\ORADATA\BACKUP_20120813_40_1.LV0
备份集 36 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 0 Incr 789941 13-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UND
OTBS01.DBF
3 0 Incr 789941 13-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
AUX01.DBF
5 0 Incr 789941 13-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\EXA
MPLE01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
37 Incr 0 367.06M DISK 00:00:51 13-8月 -12
BP 关键字: 37 状态: AVAILABLE 已压缩: NO 标记: INC0
段名:E:\BACKUP\ORADATA\BACKUP_20120813_39_1.LV0
备份集 37 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 0 Incr 789940 13-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYS
TEM01.DBF
4 0 Incr 789940 13-8月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USE
RS01.DBF
可以看到已经没有了2012-08-09和2012-08-10的备份数据文件了。
由此我们可以分析得出。因为当前日期为2012-08-13.恢复到两天前,即2012--08-11的任意时间点。那么正好我在2012-08-11正好有0级别备份。所以可以删除前面所有的备份。而当我在2012-08-13之前的时间。如2012-08-12,则两天前为2012-08-10.恢复到这个时间点是需要它的上一次全备,即2012-08-09的全备数据。所以才在2012-08-12备份是不会完全删除2012-08-09的全备数据文件。