[转帖]RMAN-06026与ABSOLUTE_FUZZY_CHANGE#_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1904 | 回复: 0   主题: [转帖]RMAN-06026与ABSOLUTE_FUZZY_CHANGE#        下一篇 
justfriend
注册用户
等级:新兵
经验:61
发帖:62
精华:0
注册:2011-11-21
状态:离线
发送短消息息给justfriend 加好友    发送短消息息给justfriend 发消息
发表于: IP:您无权察看 2015-3-16 15:59:27 | [全部帖] [楼主帖] 楼主

RMAN> run{
      debug on;
      set until time "to_date('2013-08-08 19:12:03','yyyy-mm-dd hh24:mi:ss')";
      restore database ;
      debug off;
}
2> 3> 4> 5> 6>
RMAN-03036: Debugging set to level=9, types=ALL

RMAN-03023: executing command: SET until clause

RMAN-03090: Starting restore at 2013-08-15 10:19:14
RMAN-06009: using target database control file instead of recovery catalog
RMAN-08030: allocated channel: ORA_DISK_1
RMAN-08605: channel ORA_DISK_1: SID=661 instance=PTRDDB1 device type=DISK

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 08/15/2013 10:19:18
RMAN-06026: some targets not found - aborting restore
RMAN-06100: no channel to restore a backup or copy of datafile 7
RMAN-06100: no channel to restore a backup or copy of datafile 4
RMAN-06100: no channel to restore a backup or copy of datafile 3
RMAN-06100: no channel to restore a backup or copy of datafile 2
RMAN-06100: no channel to restore a backup or copy of datafile 1

RMAN>

RMAN>

RMAN>

RMAN>

RMAN>

RMAN> run{
      debug on;
      set until time "to_date('2013-08-08 19:12:03','yyyy-mm-dd hh24:mi:ss')";
      restore database preview;
      debug off;
}2> 3> 4> 5> 6>

RMAN-03036: Debugging set to level=9, types=ALL

RMAN-03023: executing command: SET until clause

RMAN-03090: Starting restore at 2013-08-15 10:19:48
RMAN-12016: using channel ORA_DISK_1

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 08/15/2013 10:19:54
RMAN-06026: some targets not found - aborting restore
RMAN-06100: no channel to restore a backup or copy of datafile 7
RMAN-06100: no channel to restore a backup or copy of datafile 4
RMAN-06100: no channel to restore a backup or copy of datafile 3
RMAN-06100: no channel to restore a backup or copy of datafile 2
RMAN-06100: no channel to restore a backup or copy of datafile 1



检查数据文件的ABSOLUTE_FUZZY_CHANGE#,发现 出现问题的数据文件 1、2、3、4、7 有较大的ABSOLUTE_FUZZY_CHANGE#。

recid file# checkpoint_time checkpoint_change# ABSOLUTE_FUZZY_CHANGE#
3934 3 2013-08-08 19:00:50 424443795 424454469
3935 4 2013-08-08 19:00:50 424443795 424454521
3936 7 2013-08-08 19:00:50 424443795 424456295
3937 8 2013-08-08 19:00:50 424443795 0
3938 9 2013-08-08 19:00:50 424443795 0
3939 2 2013-08-08 19:00:50 424443795 424452449
3940 5 2013-08-08 19:00:50 424443795 0
3941 1 2013-08-08 19:00:50 424443795 424453386
3942 10 2013-08-08 19:00:50 424443795 0
3943 6 2013-08-08 19:00:50 424443795 0
3944 11 2013-08-08 19:00:50 424443795 0
3945 0 2013-08-08 19:00:50 424443795 0
3946 0 2013-08-08 19:00:50 424443795 0
3948 0 2013-08-08 19:00:50 424443795 0
3949 0 2013-08-08 19:27:03 424492130 0



对于restore until time而言要求数据文件备份的ABSOLUTE_FUZZY_CHANGE#对应的时间点要小于指定的until time 时间点,rman才认为该数据文件备份是有效的,否则将跳过该备份。

ABSOLUTE_FUZZY_CHANGE#是rman备份中服务进程读取到数据块中的High Scn,为了维护一致性要求 restore时恢复到的时间点 要 大约备份点对应的checkpoint_change#和ABSOLUTE_FUZZY_CHANGE#。


详见文档Common Causes for RMAN-06023 and RMAN-06026 (Doc ID 1366610.1)

Backup start on T1 (SCN=1000) and ends on T2 (SCN=1050), than the backup can ONLY be used if the UNTIL SCN is 1050 or higher.
So if the ‘UNTIL TIME T2′ is converted to SCN 1045, than this backup will NOT be used.
V$BACKUP_DATAFILE / RC_BACKUP_DATAFILE is giving more info on this.
CHECKPOINT_CHANGE# corresponds with T1
ABSOLUTE_FUZZY_CHANGE# corresponds with T2. When ABSOLUTE_FUZZY_CHANGE# is NULL, than it is the same as the CHECKPOINT_CHANGE#


我们测试使用restore until scn并指定大于ABSOLUTE_FUZZY_CHANGE#的一个SCN,可以绕过该问题:

RMAN> run
{
      set until scn 424456295;
      restore database preview;
}2> 3> 4> 5>

executing command: SET until clause

Starting restore at 2013-08-15 13:30:39
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=649 instance=PTRDDB1 device type=DISK

List of Backup Sets
===================

BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
6719 Full 554.91M DISK 00:02:38 2013-08-08 19:07:21
BP Key: 6719 Status: AVAILABLE Compressed: YES Tag: TAG20130808T190511
Piece Name: /export/home/oracle/rman/ptddb_before_3nogq6j8
List of Datafiles in backup set 6719
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------- ----



但是使用该scn对应的时间点则失败:

通过dump logfile 获得scn对应的时间点:

scn 424456290 194CB062 194cb062 08/08/2013 19:07:00
scn 424464586 194CD0CA 194cd0ca 08/08/2013 19:12:03
scn 424456295 194CB067 194cb067 08/08/2013 19:07:00 ==>之前使用成功的SCN号对应的时间点



之前我们测试成功的scn 424456295 对应时间点08/08/2013 19:07:00, 但使用set until time该时间点仍报错

RMAN> run{
      set until time "to_date('2013-08-08 19:07:20','yyyy-mm-dd hh24:mi:ss')";
      restore database preview;
}2> 3> 4>

executing command: SET until clause

Starting restore at 2013-08-15 13:28:41
using channel ORA_DISK_1

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 08/15/2013 13:28:42
RMAN-06026: some targets not found - aborting restore
RMAN-06100: no channel to restore a backup or copy of datafile 7
RMAN-06100: no channel to restore a backup or copy of datafile 4
RMAN-06100: no channel to restore a backup or copy of datafile 3
RMAN-06100: no channel to restore a backup or copy of datafile 2
RMAN-06100: no channel to restore a backup or copy of datafile 1



由于在数据库open之前没有严格的scn和时间的对照表,所以set until time时通过评估将时间转换为scn的, rman在这里只能做评估(estimate)。 特别是某个十分接近于备份结束的时间点的时间戳时,若该时间戳被转换为scn,且该scn小于对应备份的数据文件的ABSOLUTE_FUZZY_CHANGE#,则会造成该备份不可用。
该问题详见Common Causes for RMAN-06023 and RMAN-06026 (Doc ID 1366610.1)中的描述:

When an SET UNTIL TIME is being used, RMAN will convert it to an UNTIL SCN. This is an estimate as there is NO hard relation between a timestamp and an SCN.
RMAN is making an estimate. Especially when a timestamp is used which is close to the end-time of the backup, than this might be an issue. If the conversion to an SCN is generating an SCN which is BEFORE the end fuzziness of the datafiles in the backup, than the backup can NOT be used.


建议:

Restore database/datafile 建议优先使用set until scn 指定scn号,该scn号应当大于checkpoint_change#和ABSOLUTE_FUZZY_CHANGE#。

ABSOLUTE_FUZZY_CHANGE#信息可以通过V$BACKUP_DATAFILE视图获得。


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论