• 从磁带恢复归档出现ORA19870错误


    从磁带恢复归档出现ORA-19870错误

    老杨2019-04-18
    242

    问题描述

    从磁带中直接恢复归档日志时,出现了这个错误信息。
    归档日志前后备份了两次,一次是在备份数据库后做的,另一次是凌晨7点左右进行的,其中第二次备份包含的归档日志比第一次多,最近的归档日志文件备份信息如下:

    BS KEY  SIZE       Device TYPE Elapsed TIME Completion TIME    
    ------- ---------- ----------- ------------ -------------------
    37761   3.18G      SBT_TAPE    00:01:22     2011-08-27 03:22:37
            BP KEY: 37761   STATUS: AVAILABLE  Compressed: NO  Tag: TAG20110827T032114
            Handle: al_43199_1_760245675   Media: 
      List OF Archived Logs IN backup SET 37761
      Thrd Seq     Low SCN    Low TIME            NEXT SCN   NEXT TIME
      ---- ------- ---------- ------------------- ---------- ---------
      1    132214  10200825285755 2011-08-27 00:35:39 10200825450980 2011-08-27 00:40:04  
      1    132215  10200825450980 2011-08-27 00:40:04 10200825451525 2011-08-27 00:40:06
      1    132216  10200825451525 2011-08-27 00:40:06 10200826640012 2011-08-27 01:05:42
      1    132217  10200826640012 2011-08-27 01:05:42 10200828085370 2011-08-27 02:08:11
      1    132218  10200828085370 2011-08-27 02:08:11 10200831622590 2011-08-27 03:05:09
      1    132219  10200831622590 2011-08-27 03:05:09 10200831803462 2011-08-27 03:21:02
      1    132220  10200831803462 2011-08-27 03:21:02 10200831803603 2011-08-27 03:21:12
    BS KEY  SIZE       Device TYPE Elapsed TIME Completion TIME    
    ------- ---------- ----------- ------------ -------------------
    37763   4.22G      SBT_TAPE    00:06:40     2011-08-27 07:12:26
            BP KEY: 37763   STATUS: AVAILABLE  Compressed: NO  Tag: TAG20110827T070545
            Handle: al_43201_1_760259146   Media: 
      List OF Archived Logs IN backup SET 37763
      Thrd Seq     Low SCN    Low TIME            NEXT SCN   NEXT TIME
      ---- ------- ---------- ------------------- ---------- ---------
      1    132214  10200825285755 2011-08-27 00:35:39 10200825450980 2011-08-27 00:40:04
      1    132215  10200825450980 2011-08-27 00:40:04 10200825451525 2011-08-27 00:40:06
      1    132216  10200825451525 2011-08-27 00:40:06 10200826640012 2011-08-27 01:05:42
      1    132217  10200826640012 2011-08-27 01:05:42 10200828085370 2011-08-27 02:08:11
      1    132218  10200828085370 2011-08-27 02:08:11 10200831622590 2011-08-27 03:05:09
      1    132219  10200831622590 2011-08-27 03:05:09 10200831803462 2011-08-27 03:21:02
      1    132220  10200831803462 2011-08-27 03:21:02 10200831803603 2011-08-27 03:21:12
      1    132221  10200831803603 2011-08-27 03:21:12 10200839298501 2011-08-27 05:59:17
      1    132222  10200839298501 2011-08-27 05:59:17 10200851993798 2011-08-27 07:05:40
      1    132223  10200851993798 2011-08-27 07:05:40 10200851993847 2011-08-27 07:05:44

    而且这两个备份并不在同一个磁带中,前面的一份归档备份和全库备份同处于一个磁带中,因此在恢复的过程中,直接将这盘磁带取出,在另一台服务器上进行恢复。
    全库的还原没有碰到问题,但是恢复归档日志则碰到了下面的错误:

    RMAN> run
    2> {
    3>         ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
    4>         SEND 'NB_ORA_SERV=nbusrv, NB_ORA_CLIENT=ccicdbsrv5';
    5>         restore archivelog FROM SEQUENCE 132214  until SEQUENCE 132220;
    6>         RELEASE CHANNEL ch00;
    7> }
    allocated channel: ch00
    channel ch00: sid=1630 devtype=SBT_TAPE
    channel ch00: Veritas NetBackup FOR Oracle - Release 6.5 (2007072323)
    sent command TO channel: ch00
    Starting restore at 2011-09-11 21:03:48
    channel ch00: starting archive log restore TO DEFAULT destination
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132214
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132215
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132216
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132217
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132218
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132219
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132220
    channel ch00: reading FROM backup piece al_43201_1_760259146
    ORA-19870: error reading backup piece al_43201_1_760259146
    ORA-19507: failed TO retrieve sequential file, handle="al_43201_1_760259146", parms=""
    ORA-27029: skgfrtrv: sbtrestore returned error
    ORA-19511: Error received FROM media manager layer, error text:
       Failed TO OPEN backup file FOR restore.
    failover TO previous backup
    channel ch00: starting archive log restore TO DEFAULT destination
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132214
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132215
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132216
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132217
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132218
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132219
    channel ch00: restoring archive log
    archive log thread=1 SEQUENCE=132220
    channel ch00: reading FROM backup piece al_43199_1_760245675
    ORA-19870: error reading backup piece al_43199_1_760245675
    ORA-19507: failed TO retrieve sequential file, handle="al_43199_1_760245675", parms=""
    ORA-27029: skgfrtrv: sbtrestore returned error
    ORA-19511: Error received FROM media manager layer, error text:
       Failed TO process backup file <al_43199_1_760245675>
    failover TO previous backup
    released channel: ch00
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure OF restore command at 09/11/2011 21:04:30
    RMAN-06026: SOME targets NOT found - aborting restore
    RMAN-06025: no backup OF log thread 1 seq 132220 lowscn 10200831803462 found TO restore
    RMAN-06025: no backup OF log thread 1 seq 132219 lowscn 10200831622590 found TO restore
    RMAN-06025: no backup OF log thread 1 seq 132218 lowscn 10200828085370 found TO restore
    RMAN-06025: no backup OF log thread 1 seq 132217 lowscn 10200826640012 found TO restore
    RMAN-06025: no backup OF log thread 1 seq 132216 lowscn 10200825451525 found TO restore
    RMAN-06025: no backup OF log thread 1 seq 132215 lowscn 10200825450980 found TO restore
    RMAN-06025: no backup OF log thread 1 seq 132214 lowscn 10200825285755 found TO restore

    专家解答

    由于要恢复的归档日志在两个备份集中存在,因此RMAN尝试了两次进行恢复。第一次寻找al_43201_1_760259146文件,由于这个文件不在当前的磁带中,恢复失败是正常的,但是al_43199_1_760245675文件就存放在当前的磁带中,而仍然出现无法获取文件的错误就不正常了。
    考虑到恢复环境和备份环境并不一致,备份时使用的带库而当前仅包含一个磁带,且磁带的catalog信息很可能也没有导入,因此对于源数据的查找可能存在问题。
    通过CHANGE BACKUP TAG ‘TAG20110827T070545’ UNAVAILABLE的方式,避免恢复过程中去寻找目前并不存在的备份。再次使用RMAN执行同样的恢复操作,这次恢复成功。
    恢复应该在和备份等同条件下进行,否则至少应该保证带库的CATALOG数据导入,否则就可能出现这种跨磁带查找文件时出现的错误,而利用RMAN直接在当前的磁带中扫描文件则不受影响

  • 相关阅读:
    Java并发基础-并发模型、基础接口以及Thread
    Java基础-IO
    大数据平台搭建-hbase集群的搭建
    大数据平台搭建-zookeeper集群的搭建
    大数据平台搭建-基础环境安装
    kafka知识体系-消费者编程实践
    kafka知识体系-生产者编程实践
    editplus打造java运行环境(安装、配置、操作)
    实验2 安装Atlas实现读写分离
    实验1 配置MySQL主从同步
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/15814090.html
Copyright © 2020-2023  润新知