长期备份是指根据change命令设置来决定何时把备份的文件标记为“废弃”;
SQL> select * from v$version;
BANNER
-------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
RMAN> list backup;
说明与资料档案库中的任何备份都不匹配
说明该操作必须要在有恢复目录的情况下操作(因为用控制文件代替恢复目录的话,这些备份元数据会因为control_file_record_keep_time的值而被覆盖,所以保证不了这些策略);
恢复管理器完成。
C:\Documents and Settings\Administrator>rman target / catalog rm_user/rm_user;这里看到控制文件和恢复目录记录的同一个备份集的“BS关键字”不同,不过这个不用处理,oracle内部应该有一个映射关系;
备份集关键字=2850 RECID=135 STAMP=822569908
RMAN> backup database tag='back_database';
启动 backup 于 04-8月 -13
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件: 文件号=00003 名称=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件: 文件号=00004 名称=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
输入数据文件: 文件号=00002 名称=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件: 文件号=00005 名称=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
输入数据文件: 文件号=00006 名称=E:\RM_TAB.DBF
输入数据文件: 文件号=00007 名称=E:\RMAN.DBF
通道 ORA_DISK_1: 正在启动段 1 于 04-8月 -13
通道 ORA_DISK_1: 已完成段 1 于 04-8月 -13
段句柄=D:\BACKUP\ORCL_165.BAK 标记=BACK_DATABASE 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:03:05
完成 backup 于 04-8月 -13
启动 Control File and SPFILE Autobackup 于 04-8月 -13
段 handle=F:\RMANBACKUP\CONTROLFILE\C-1318810635-20130804-06 comment=NONE
完成 Control File and SPFILE Autobackup 于 04-8月 -13
RMAN> list backup;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
2850 Full 5.85M DISK 00:00:02 04-8月 -13
BP 关键字: 2854 状态: AVAILABLE 已压缩: NO 标记: TAG20130804T113826
段名:D:\BACKUP\ORCL_159.BAK
保留: BACKUP_LOGS 直到: FOREVER
备份集 2850 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
6 Full 33821001663 04-8月 -13 E:\RM_TAB.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
2851 Full 9.55M DISK 00:00:03 04-8月 -13
BP 关键字: 2855 状态: AVAILABLE 已压缩: NO 标记: TAG20130804T113830
段名:F:\RMANBACKUP\CONTROLFILE\C-1318810635-20130804-03
包含的 SPFILE: 修改时间: 04-8月 -13
包括的控制文件: Ckp SCN: 33821001682 Ckp 时间: 04-8月 -13
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
3156 Full 1.53G DISK 00:02:56 04-8月 -13
BP 关键字: 3159 状态: AVAILABLE 已压缩: NO 标记: BACK_DATABASE
段名:D:\BACKUP\ORCL_165.BAK
备份集 3156 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
2 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
3 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
4 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
5 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
6 Full 33821002940 04-8月 -13 E:\RM_TAB.DBF
7 Full 33821002940 04-8月 -13 E:\RMAN.DBF
然后在不用catalog的情况操作(其实这里只是想试一下,看看在不用catalog的情况下操作后,在catalog里是否已经更新)
C:\Documents and Settings\Administrator>rman target /
恢复管理器: Release 11.2.0.1.0 - Production on 星期日 8月 4 12:24:17 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到目标数据库: ORCL (DBID=1318810635)
因为控制文件中和恢复目录中的备份集对应关系是135-2850,所在在这里免除长期备份的操作用 135
RMAN> change backupset 135 nokeep;
使用通道 ORA_DISK_1
备份的保留属性被删除
备份集关键字=135 RECID=135 STAMP=822569908
RMAN> list backup;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
135 Full 5.85M DISK 00:00:02 04-8月 -13
BP 关键字: 134 状态: AVAILABLE 已压缩: NO 标记: TAG20130804T113826
段名:D:\BACKUP\ORCL_159.BAK
备份集 135 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
6 Full 33821001663 04-8月 -13 E:\RM_TAB.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
141 Full 1.53G DISK 00:02:56 04-8月 -13
BP 关键字: 140 状态: AVAILABLE 已压缩: NO 标记: BACK_DATABASE
段名:D:\BACKUP\ORCL_165.BAK
备份集 141 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
2 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
3 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
4 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
5 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
6 Full 33821002940 04-8月 -13 E:\RM_TAB.DBF
7 Full 33821002940 04-8月 -13 E:\RMAN.DBF
经过change...nokeep操作,说明135(在catalog中是2850)已经没有了”保留: BACKUP_LOGS 直到: FOREVER“ 这个信息;
来看看是否已标记为”废弃“
RMAN> report obsolete;
使用目标数据库控制文件替代恢复目录
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 1
已废弃的备份和副本报表
类型 关键字 完成时间 文件名/句柄
-------------------- ------ ------------------ --------------------
备份集 135 04-8月 -13
备份片段 134 04-8月 -13 D:\BACKUP\ORCL_159.BAK
OK ,已经标记为废弃备份集;这个时候我们到catalog下看看什么情况:
RMAN> list backup;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
2850 Full 5.85M DISK 00:00:02 04-8月 -13
BP 关键字: 2854 状态: AVAILABLE 已压缩: NO 标记: TAG20130804T113826
段名:D:\BACKUP\ORCL_159.BAK
备份集 2850 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
6 Full 33821001663 04-8月 -13 E:\RM_TAB.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
3156 Full 1.53G DISK 00:02:56 04-8月 -13
BP 关键字: 3159 状态: AVAILABLE 已压缩: NO 标记: BACK_DATABASE
段名:D:\BACKUP\ORCL_165.BAK
备份集 3156 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
2 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
3 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
4 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
5 Full 33821002940 04-8月 -13 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
6 Full 33821002940 04-8月 -13 E:\RM_TAB.DBF
7 Full 33821002940 04-8月 -13 E:\RMAN.DBF
RMAN> report obsolete;
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 1
已废弃的备份和副本报表
类型 关键字 完成时间 文件名/句柄
-------------------- ------ ------------------ --------------------
备份集 2850 04-8月 -13
备份片段 2854 04-8月 -13 D:\BACKUP\ORCL_159.BAK
说明跟无catalog里保持了同步,既然那么及时,那么我是不是有一个类似于”触发器“的东西在同步控制文件和恢复目录之间的信息呢?其实是当执行某些特定的操作例如backup 、delete等操作的时候,内部机制会去自动同步;
有一道ocp题考查此知识点
Q513. You performed the RMAN database backup having abackupset key number 231 with the KEEP FOREVER option. After some days, youwant to change the status of the database backup and you issued the followingcommand:
RMAN>CHANGE BACKUPSET 231 NOKEEP;
What is the implication of this command?
A. The backup is deleted.
B. The backup is marked unavailable.
C. The backup overrides the backup retention policy.
D. the backup becomes eligible fordeletion according to the existing retention policy
Answer: D
-----------------------------------------------------------------------------------------------------------------------
博文所有内容均属原创,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
Blog: http://blog.csdn.net/perfect_db
Email: p[email protected]
QQ: 787266309