对RMAN恢复窗口时间的疑惑.

[复制链接]
查看11 | 回复9 | 2012-7-12 18:47:29 | 显示全部楼层 |阅读模式
环境:windows 2003(ee), oracle9206
1、将 RMAN 保留策略设置为7 天的恢复窗口
RMAN> configure retention policy to recovery window of 7 days;
旧的 RMAN 配置参数:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
新的 RMAN 配置参数:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
已成功存储新的 RMAN 配置参数
正在启动全部恢复目录的 resync
完成全部 resync

备份记录
RMAN> list backup of database summary;

备份列表
===============
关键字 TY LV S 设备类型 完成时间
段数 副本数 标记
------- -- -- - ----------- ------------------- ------- ------- ---
10098 B0A DISK2005-04-04 09:57:30 4 1 TAG20050404T094800
10301 B2A DISK2005-04-05 09:22:27 2 1 TAG20050405T091328
10472 B2A DISK2005-04-07 02:10:28 3 1 TAG20050407T020007
10560 B0A DISK2005-04-09 02:18:20 6 1 TAG20050409T020004
10638 B2A DISK2005-04-10 02:05:47 1 1 TAG20050410T020005
10710 B2A DISK2005-04-12 02:05:39 1 1 TAG20050412T020004
从上面可以看出,4号做了一次0级备份,5、7号做了2级备份,9号又做了0级备份。
今天是13号,若恢复窗口设置为7天,则说明:至多只要求恢复到5号。
那4号备份的日志应该是过时的。如下显示日志备份信息:
RMAN> list backup of archivelog all summary;

备份列表
===============
关键字 TY LV S 设备类型 完成时间
段数 副本数 标记
------- -- -- - ----------- ------------------- ------- ------- ---
10125 BAA DISK2005-04-04 09:58:23 1 1 TAG20050404T095735--全备份后备份的日志
10328 BAA DISK2005-04-05 09:32:24 3 1 TAG20050405T092238
10500 BAA DISK2005-04-07 02:15:28 2 1 TAG20050407T021118
10591 BAA DISK2005-04-09 02:19:48 1 1 TAG20050409T021841
10664 BAA DISK2005-04-10 02:07:00 1 1 TAG20050410T020606
10736 BAA DISK2005-04-12 02:06:48 1 1 TAG20050412T020550
这样计算的话,report obsolete 应该显示 backupset key = 10125 应该是过时的。
但实际上,RMAN并不认为此日志是过时的。如:
RMAN> report obsolete;
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为 7 天的恢复窗口
未找到已废弃的备份
RMAN>
我猜测,RMAN实际上是保留4号以来的所有数据库,以便
随时恢复自4号以来的所有情况。除非周六再做一次全备份,
这样才有可能报4-9以来的备份为OBSOLETE。
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
[B]
从上面可以看出,4号做了一次0级备份,5、7号做了2级备份,9号又做了0级备份。
今天是13号,若恢复窗口设置为7天,则说明:至多只要求恢复到5号。
那4号备份的日志应该是过时的。
[/B]
如果没有4号的全备份+全备份后的归档日志数据库怎么才能恢复到5号的状态呢?
4号备份的日志当然是不过时的.
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
但我5号也做了2级备份!
当然你可以说,5号的备份是9点多钟做的,若要恢复到9点钟之前,还是要日志。

我决定在等一天。明天再检查,看看4号的日志是不是过时了!
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
今天14号,RMAN的恢复窗口时间为7天。可以计算出,系统只要求至多只需要恢复到6号,
5号做了2级备份,那4号备份的日志应该过时了,但RMAN却不报道。
RMAN> list backup of database summary;

备份列表
===============
关键字 TY LV S 设备类型 完成时间
段数 副本数 标记
------- -- -- - ----------- ------------------- ------- ------- ---
10098 B0A DISK2005-04-04 09:57:30 4 1 TAG20050404T094800
10301 B2A DISK2005-04-05 09:22:27 2 1 TAG20050405T091328
10472 B2A DISK2005-04-07 02:10:28 3 1 TAG20050407T020007
10560 B0A DISK2005-04-09 02:18:20 6 1 TAG20050409T020004
10638 B2A DISK2005-04-10 02:05:47 1 1 TAG20050410T020005
10710 B2A DISK2005-04-12 02:05:39 1 1 TAG20050412T020004
10852 B2A DISK2005-04-14 02:11:43 3 1 TAG20050414T020005
RMAN> list backup of archivelog all summary;

备份列表
===============
关键字 TY LV S 设备类型 完成时间
段数 副本数 标记
------- -- -- - ----------- ------------------- ------- ------- ---
10125 BAA DISK2005-04-04 09:58:23 1 1 TAG20050404T095735
10328 BAA DISK2005-04-05 09:32:24 3 1 TAG20050405T092238
10500 BAA DISK2005-04-07 02:15:28 2 1 TAG20050407T021118
10591 BAA DISK2005-04-09 02:19:48 1 1 TAG20050409T021841
10664 BAA DISK2005-04-10 02:07:00 1 1 TAG20050410T020606
10736 BAA DISK2005-04-12 02:06:48 1 1 TAG20050412T020550
10880 BAA DISK2005-04-14 02:17:11 2 1 TAG20050414T021215
RMAN> report obsolete;
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为 7 天的恢复窗口
已废弃的备份和副本报表
类型
关键字 完成时间 文件名/句柄
-------------------- ------ ------------------ --------------------
备份集
103872005-04-05 09:32:38
备份段 103882005-04-05 09:32:38 F:\RMANBACK\SPCTL\C-4036286469-20050405-00
RMAN>
怎么只报了个参数文件/控制文件的备份过时?
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
最初由 ZALBB 发布
[B]今天14号,RMAN的恢复窗口时间为7天。可以计算出,系统只要求至多只需要恢复到6号,
5号做了2级备份,那4号备份的日志应该过时了,但RMAN却不报道。
RMAN> list backup of database summary;

备份列表
===============
关键字 TY LV S 设备类型 完成时间
段数 副本数 标记
------- -- -- - ----------- ------------------- ------- ------- ---
10098 B0A DISK2005-04-04 09:57:30 4 1 TAG20050404T094800
10301 B2A DISK2005-04-05 09:22:27 2 1 TAG20050405T091328
10472 B2A DISK2005-04-07 02:10:28 3 1 TAG20050407T020007
10560 B0A DISK2005-04-09 02:18:20 6 1 TAG20050409T020004
10638 B2A DISK2005-04-10 02:05:47 1 1 TAG20050410T020005
10710 B2A DISK2005-04-12 02:05:39 1 1 TAG20050412T020004
10852 B2A DISK2005-04-14 02:11:43 3 1 TAG20050414T020005
RMAN> list backup of archivelog all summary;

备份列表
===============
关键字 TY LV S 设备类型 完成时间
段数 副本数 标记
------- -- -- - ----------- ------------------- ------- ------- ---
10125 BAA DISK2005-04-04 09:58:23 1 1 TAG20050404T095735
10328 BAA DISK2005-04-05 09:32:24 3 1 TAG20050405T092238
10500 BAA DISK2005-04-07 02:15:28 2 1 TAG20050407T021118
10591 BAA DISK2005-04-09 02:19:48 1 1 TAG20050409T021841
10664 BAA DISK2005-04-10 02:07:00 1 1 TAG20050410T020606
10736 BAA DISK2005-04-12 02:06:48 1 1 TAG20050412T020550
10880 BAA DISK2005-04-14 02:17:11 2 1 TAG20050414T021215
RMAN> report obsolete;
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为 7 天的恢复窗口
已废弃的备份和副本报表
类型
关键字 完成时间 文件名/句柄
-------------------- ------ ------------------ --------------------
备份集
103872005-04-05 09:32:38
备份段 103882005-04-05 09:32:38 F:\RMANBACK\SPCTL\C-4036286469-20050405-00
RMAN>
怎么只报了个参数文件/控制文件的备份过时? [/B]

I am not sure the exact answer. but according to metalink 134214.1
RMAN not always use incremental backup if it has archivelog backup too.
" Let's use the following RECOVER command as an example:
RMAN> run{
2> allocate channel x type disk;
3> restore datafile 7;
4> recover datafile 7;
5> }
RMAN will first restore datafile 7 from the last incremental
level 0 backup. Then, it will evaluate its two options for the recovery.
One option is to restore incremental level backups that exist since the
last level 0, then finish up with any archivelogs that exist from the
last incremental backup to the current point in time. The second option is
to ignore the incremental backups and simply apply all archive logs from
the level 0 backup until the current point in time. RMAN evaluates both
options and chooses the path that will make recovery occur in the shortest
amount of time.
"
so maybe in this case, RMAN just keep the option open .
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
我觉得设置恢复窗口的时候,最好也是按照这个周期安排增量备份,否则难以理解备份策略
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
TO wing hong,有可能。
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
最初由 wing hong 发布
[B]
I am not sure the exact answer. but according to metalink 134214.1
RMAN not always use incremental backup if it has archivelog backup too.
" Let's use the following RECOVER command as an example:
RMAN> run{
2> allocate channel x type disk;
3> restore datafile 7;
4> recover datafile 7;
5> }
RMAN will first restore datafile 7 from the last incremental
level 0 backup. Then, it will evaluate its two options for the recovery.
One option is to restore incremental level backups that exist since the
last level 0, then finish up with any archivelogs that exist from the
last incremental backup to the current point in time. The second option is
to ignore the incremental backups and simply apply all archive logs from
the level 0 backup until the current point in time. RMAN evaluates both
options and chooses the path that will make recovery occur in the shortest
amount of time.
"
so maybe in this case, RMAN just keep the option open . [/B]


有點不明白﹐請解釋一下好嗎﹖
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
最初由 李迪 发布
[B]

有點不明白﹐請解釋一下好嗎﹖ [/B]

oracle 允许从最后一个增量备份时间点开始恢复
也允许从 0级备份开始应用所有归档日志
oracle会评估两者的代价,选择恢复时间最小的一个来做。
我个人的理解是 oracle的这个评估是一个简单的计算
举个例子,oracle发现最后一个增量备份和0级备份之间就没多少归档日志,干脆从0级开始应用归档日志恢复了就得了。
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
如果2级备份的备份片文件损坏不可用,那oracle会不会不再尝试应用增量备份而自动应用归档日志呢?
楼主可以做个试验
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行