ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RMAN备份归档日志ORA-19575

2019-10-07 22:55:59  阅读:268  来源: 互联网

标签:DBGRPC STAMP 19575 RECID 归档 日志 RMAN ORA


RMAN备份归档日志ORA-19575
一、问题描述
1)环境oracle 10g;
2)报错现象RMAN进行备份归档报错失败ORA-19575

二、问题处理
1)根据客户说明的现象,百度了一波(详见参考链接)
2)操作系统mv修改名称存在问题的归档日志后,crosscheck检查归档日志,delete删除无效的归档日志后,再次进行备份,问题已解决。

三、参考链接
https://smarttechways.com/2012/11/01/ora-19575-expected-blocks-in-file-location-rman/
https://www.linuxidc.com/Linux/2014-05/102153.htm
https://community.oracle.com/message/9229357#9229357
MOS
BUG 9138594-RMAN ORA-19575备份10g之前的归档日志(文档ID 9138594.8)
ORA-19575 During RMAN Backup (文档 ID 1518129.1)

MOS信息说明
1.bug
10g数据库,升级至11g后,使用rman进行备份10g的归档日志,可能会报错无有效解决方案,但是可以进行全库备份即可11g的数据文件,也无法使用10g归档进行恢复。
2.ORA-19575 问题说明

简要说明就是控制文件记录的归档日志blocks与rman备份对归档日志进行检测发现不同,这个归档日志将无法进行备份,也无法应用于恢复。

四、实际测试

 

    RMAN备份归档日志ORA-19575
    一、问题描述
    1)环境oracle 10g;
    2)报错现象RMAN进行备份归档报错失败ORA-19575

    二、问题处理
    1)根据客户说明的现象,百度了一波(详见参考链接)
    2)操作系统mv修改名称存在问题的归档日志后,crosscheck检查归档日志,delete删除无效的归档日志后,再次进行备份,问题已解决。

    三、参考链接
    https://smarttechways.com/2012/11/01/ora-19575-expected-blocks-in-file-location-rman/
    https://www.linuxidc.com/Linux/2014-05/102153.htm
    https://community.oracle.com/message/9229357#9229357
         MOS
    BUG 9138594-RMAN ORA-19575备份10g之前的归档日志(文档ID 9138594.8)    
    ORA-19575 During RMAN Backup (文档 ID 1518129.1)    

    MOS信息说明
    1.bug
    10g数据库,升级至11g后,使用rman进行备份10g的归档日志,可能会报错无有效解决方案,但是可以进行全库备份即可11g的数据文件,也无法使用10g归档进行恢复。
    2.ORA-19575 问题说明
    1)版本
    APPLIES TO:
    Oracle Server - Enterprise Edition - Version 11.1.0.7 and later
    Information in this document applies to any platform.
    2)说明
    No problem with RMAN execution, just error derived from corrupted archivelog, which RMAN will not backup.
    ORA-19575, 00000, "expected %s blocks in file %s, found %s"
    // *Cause:  During a backup, restore, copy, or scan operation, the indicated
    //          file did not contain as many blocks as were indicated in the file
    //          header.
    // *Action: The input copy or backup piece is probably corrupt.  If another
    //          backup or copy exists of the file that is being restored, then the
    //          corrupt file can be deleted from the recovery catalog and the
    //          operation can be restarted.
    简要说明就是控制文件记录的归档日志blocks与rman备份对归档日志进行检测发现不同,这个归档日志将无法进行备份,也无法应用于恢复。
    3)处理
    Validate all archivelogs for corruption:
    RMAN> validate archivelog all;
    Move any corrupted archivelog to a temporary directory using an operating system command such as cp
    For example:
    $ mv /opt/app/oracle/oradata/ORA112/archivelog/2013_01_11/o1_mf_1_84_8gyj98c3_.arc /tmp/.
    Then run a crosscheck command to update RMAN's repository. Any files that have been moved will now be
marked as expired and RMAN will no longer attempt to back them up. RMAN> crosscheck archivelog all; You can then proceed to take a full database and archivelog backup. WARNING !!!! Any archivelogs that are corrupted cannot be used for recovery, so the recoverability of the database is comprimised !任何损坏的archivelogs都不能用于恢复,因此数据库的可恢复性 四、实际测试 4.1 破坏归档日志(删除部分信息) SQL> alter system switch logfile; SQL> select name from v$archived_log where sequence#=(select max(sequence#) from v$archived_log); NAME -------------------------------------------------------------------------------- C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000614_0994609796.0001 通过windows文本编辑软件,打开归档日志文件,后删除一部分信息。 RMAN> crosscheck archivelog all; 对归档日志的验证失败 归档日志文件名=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000614_0994609796.0001 RECID=61 STAMP=1021067372 已交叉检验的 28 对象 校验删除部分信息后,rman工具crosscheck检测会直接提示失败。 4.2 破坏归档日志(替换部分文字) SQL> alter system switch logfile; SQL> select name from v$archived_log where sequence#=(select max(sequence#) from v$archived_log); C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000615_0994609796.0001 ue编辑工具,替换NUL为CCC后,再次使用RMAN工具crosscheck 对归档日志的验证失败 归档日志文件名=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000615_0994609796.0001 RECID=62 STAMP=1021067664 已交叉检验的 28 对象 还是失败 4.3 破坏归档日志,不使用RMAN CHECKCROSS,破坏后直接进行备份(上述的两个破坏性操作进行还原,使用操作前的备份进行还原) SQL> alter system switch logfile; RMAN> backup as compressed backupset full database format 'C:\win_oracle_11_database\rmanbackup%U.bk'
include current controlfile plus archivelog delete input format 'C:\win_oracle_11_database\rmanbackup\%U.bk'; 启动 backup 于 07-10月-19 当前日志已存档 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=184 设备类型=DISK 通道 ORA_DISK_1: 正在启动压缩的归档日志备份集 通道 ORA_DISK_1: 正在指定备份集内的归档日志 输入归档日志线程=1 序列=590 RECID=37 STAMP=1019726288 输入归档日志线程=1 序列=591 RECID=38 STAMP=1019728061 输入归档日志线程=1 序列=592 RECID=39 STAMP=1019813814 输入归档日志线程=1 序列=593 RECID=40 STAMP=1019830780 输入归档日志线程=1 序列=594 RECID=41 STAMP=1019864373 输入归档日志线程=1 序列=595 RECID=42 STAMP=1019951079 输入归档日志线程=1 序列=596 RECID=43 STAMP=1019981966 输入归档日志线程=1 序列=597 RECID=44 STAMP=1019982137 输入归档日志线程=1 序列=598 RECID=45 STAMP=1020031215 输入归档日志线程=1 序列=599 RECID=46 STAMP=1020072700 输入归档日志线程=1 序列=600 RECID=47 STAMP=1020182589 输入归档日志线程=1 序列=601 RECID=48 STAMP=1020182604 输入归档日志线程=1 序列=602 RECID=49 STAMP=1020211222 输入归档日志线程=1 序列=603 RECID=50 STAMP=1020244644 输入归档日志线程=1 序列=604 RECID=51 STAMP=1020269122 输入归档日志线程=1 序列=605 RECID=52 STAMP=1020337210 输入归档日志线程=1 序列=606 RECID=53 STAMP=1020681819 输入归档日志线程=1 序列=607 RECID=54 STAMP=1020683592 输入归档日志线程=1 序列=608 RECID=55 STAMP=1020683592 输入归档日志线程=1 序列=609 RECID=56 STAMP=1020934755 输入归档日志线程=1 序列=610 RECID=57 STAMP=1020934777 输入归档日志线程=1 序列=611 RECID=58 STAMP=1020936521 输入归档日志线程=1 序列=612 RECID=59 STAMP=1020949726 输入归档日志线程=1 序列=613 RECID=60 STAMP=1021054890 输入归档日志线程=1 序列=616 RECID=63 STAMP=1021067822 输入归档日志线程=1 序列=617 RECID=64 STAMP=1021068003 通道 ORA_DISK_1: 正在启动段 1 于 07-10月-19 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: backup plus archivelog 命令 (在 10/07/2019 22:00:29 上) 失败 ORA-19599: 块编号 2 已在 archived log C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000616_0994609796.0001 中损坏 RMAN> list expired archivelog all; 无616这个损坏的归档日志 疑问:并且,在本次备份过程中,第一步骤是先备份数据库数据文件,再进行备份归档日志操作,再删除已备份的归档日志? 为何会中断? 4.4 RMAN直接使用crosscheck之后,该归档日志被置为损坏的,后续能否直接备份 RMAN> crosscheck archivelog all; 对归档日志的验证成功 归档日志文件名=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000614_0994609796.0001 RECID=61 STAMP=1021067372 对归档日志的验证成功 归档日志文件名=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000615_0994609796.0001 RECID=62 STAMP=1021067664 对归档日志的验证成功 归档日志文件名=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000616_0994609796.0001 RECID=63 STAMP=1021067822 对归档日志的验证成功 归档日志文件名=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000617_0994609796.0001 RECID=64 STAMP=1021068003 对归档日志的验证成功 归档日志文件名=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000618_0994609796.0001 RECID=65 STAMP=1021068470 已交叉检验的 28 对象 RMAN> list expired archivelog all; Null RMAN> backup as compressed backupset full database format 'C:\win_oracle_11_database\rmanbackup%U.bk'
include current controlfile plus archivelog delete input format 'C:\win_oracle_11_database\rmanbackup\%U.bk'; RMAN-03002: backup plus archivelog 命令 (在 10/07/2019 22:09:56 上) 失败 ORA-19599: 块编号 2 已在 archived log C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000616_0994609796.0001 中损坏 及时使用crosscheck archivelog all;命令,再次进行备份,还是报错,并且无法观察到错误的归档信息。 解答4.3疑问 从报错的内容可以发现,rman是在执行backup plus archivelog时失败的,如果是单独执行backup database是可以正常执行的。 RMAN> backup as compressed backupset full database format 'C:\win_oracle_11_database\rmanbackup%U.bk'; 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:45 完成 backup 于 07-10月-19 4.5 RMAN备份命令执行,后台对应的数据库什么操作? C:\Users\Thinkpad> rman target / debug trace=C:\Users\Thinkpad\Desktop\命令\备份\debug_20191007.txt 恢复管理器: Release 11.2.0.4.0 - Production on 星期一 10月 7 22:14:48 2019 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. RMAN-06005: 已连接到目标数据库: WIN11 (DBID=3546669248) RMAN> backup as compressed backupset full database format 'C:\win_oracle_11_database\rmanbackup%U.bk'
include current controlfile plus archivelog delete input format 'C:\win_oracle_11_database\rmanbackup\%U.bk'; RMAN-03090: 启动 backup 于 07-10月-19 RMAN-03033: 当前日志已存档 RMAN-06009: 使用目标数据库控制文件替代恢复目录 RMAN-08030: 分配的通道: ORA_DISK_1 RMAN-08500: 通道 ORA_DISK_1: SID=358 设备类型=DISK RMAN-08049: 通道 ORA_DISK_1: 正在启动压缩的归档日志备份集 RMAN-08014: 通道 ORA_DISK_1: 正在指定备份集内的归档日志 RMAN-08504: 输入归档日志线程=1 序列=593 RECID=40 STAMP=1019830780 RMAN-08504: 输入归档日志线程=1 序列=594 RECID=41 STAMP=1019864373 RMAN-08504: 输入归档日志线程=1 序列=595 RECID=42 STAMP=1019951079 RMAN-08504: 输入归档日志线程=1 序列=596 RECID=43 STAMP=1019981966 RMAN-08504: 输入归档日志线程=1 序列=597 RECID=44 STAMP=1019982137 RMAN-08504: 输入归档日志线程=1 序列=598 RECID=45 STAMP=1020031215 RMAN-08504: 输入归档日志线程=1 序列=599 RECID=46 STAMP=1020072700 RMAN-08504: 输入归档日志线程=1 序列=600 RECID=47 STAMP=1020182589 RMAN-08504: 输入归档日志线程=1 序列=601 RECID=48 STAMP=1020182604 RMAN-08504: 输入归档日志线程=1 序列=602 RECID=49 STAMP=1020211222 RMAN-08504: 输入归档日志线程=1 序列=603 RECID=50 STAMP=1020244644 RMAN-08504: 输入归档日志线程=1 序列=604 RECID=51 STAMP=1020269122 RMAN-08504: 输入归档日志线程=1 序列=605 RECID=52 STAMP=1020337210 RMAN-08504: 输入归档日志线程=1 序列=606 RECID=53 STAMP=1020681819 RMAN-08504: 输入归档日志线程=1 序列=607 RECID=54 STAMP=1020683592 RMAN-08504: 输入归档日志线程=1 序列=608 RECID=55 STAMP=1020683592 RMAN-08504: 输入归档日志线程=1 序列=609 RECID=56 STAMP=1020934755 RMAN-08504: 输入归档日志线程=1 序列=610 RECID=57 STAMP=1020934777 RMAN-08504: 输入归档日志线程=1 序列=611 RECID=58 STAMP=1020936521 RMAN-08504: 输入归档日志线程=1 序列=612 RECID=59 STAMP=1020949726 RMAN-08504: 输入归档日志线程=1 序列=613 RECID=60 STAMP=1021054890 RMAN-08504: 输入归档日志线程=1 序列=614 RECID=61 STAMP=1021067372 RMAN-08504: 输入归档日志线程=1 序列=615 RECID=62 STAMP=1021067664 RMAN-08504: 输入归档日志线程=1 序列=616 RECID=63 STAMP=1021067822 RMAN-08504: 输入归档日志线程=1 序列=617 RECID=64 STAMP=1021068003 RMAN-08504: 输入归档日志线程=1 序列=618 RECID=65 STAMP=1021068470 RMAN-08504: 输入归档日志线程=1 序列=619 RECID=66 STAMP=1021068571 RMAN-08504: 输入归档日志线程=1 序列=620 RECID=67 STAMP=1021068934 RMAN-08038: 通道 ORA_DISK_1: 正在启动段 1 于 07-10月-19 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: backup plus archivelog 命令 (在 10/07/2019 22:16:10 上) 失败 RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 10/07/2019 22:16:10 上) 失败 ORA-19599: 块编号 2 已在 archived log C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000616_0994609796.0001 中损坏 RMAN> ---截取debug少量日志 RMAN-08504: 输入归档日志线程=1 序列=619 RECID=66 STAMP=1021068571 DBGMISC: EXITED krmzlog [22:15:44.788] elapsed time [00:00:00:00.004] DBGIO: channel ORA_DISK_1: blocks=2 block_size=512 [22:15:44.791] (name_log) DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.BACKUPARCHIVEDLOG excl: 0 DBGMISC: ENTERED krmzlog [22:15:44.804] RMAN-08504: 输入归档日志线程=1 序列=620 RECID=67 STAMP=1021068934 DBGMISC: EXITED krmzlog [22:15:44.813] elapsed time [00:00:00:00.009] DBGIO: channel ORA_DISK_1: blocks=304 block_size=512 [22:15:44.818] (name_log) DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.BACKUPSTATUS excl: 0 DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.SETLIMIT excl: 0 DBGMISC: ENTERED krmzlog [22:15:44.840] RMAN-08038: 通道 ORA_DISK_1: 正在启动段 1 于 07-10月-19 DBGMISC: EXITED krmzlog [22:15:44.847] elapsed time [00:00:00:00.007] DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.GENPIECENAME excl: 0 DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.ISFILENAMEOMF excl: 0 DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=3123 db=target proc=SYS.DBMS_BACKUP_RESTORE.BACKUPPIECECREATE excl: 0 DBGRPC: krmxr - channel ORA_DISK_1 returned from peicnt DBGRPC: krmxpoq - returning rpc_number: 72 with status: STARTED16 for channel ORA_DISK_1 DBGRPC: ENTERED krmqgns DBGRPC: krmqgns: looking for work for channel default (krmqgns) DBGRPC: krmqgns: commands remaining to be executed: (krmqgns) DBGRPC: CMD type=backup cmdid=1 status=NOT STARTED DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED DBGRPC: 2 STEPstepid=2 cmdid=1 status=NOT STARTED DBGRPC: 1 DON_F stepid=1 satisfied=FALSE DBGRPC: krmqgns: no work found for channel default (krmqgns) DBGRPC: (krmqgns) DBGRPC: EXITED krmqgns with status 1 DBGRPC: krmxpoq - returning rpc_number: 72 with status: STARTED16 for channel ORA_DISK_1 DBGRPC: ENTERED krmqgns DBGRPC: krmqgns: looking for work for channel default (krmqgns) DBGRPC: krmqgns: commands remaining to be executed: (krmqgns) DBGRPC: CMD type=backup cmdid=1 status=NOT STARTED DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED DBGRPC: 2 STEPstepid=2 cmdid=1 status=NOT STARTED DBGRPC: 1 DON_F stepid=1 satisfied=FALSE DBGRPC: krmqgns: no work found for channel default (krmqgns) DBGRPC: (krmqgns) DBGRPC: EXITED krmqgns with status 1 DBGRPC: krmxpoq - returning rpc_number: 72 with status: STARTED16 for channel ORA_DISK_1 DBGRPC: ENTERED krmqgns DBGRPC: krmqgns: looking for work for channel default (krmqgns) DBGRPC: krmqgns: commands remaining to be executed: (krmqgns) DBGRPC: CMD type=backup cmdid=1 status=NOT STARTED DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED DBGRPC: 2 STEPstepid=2 cmdid=1 status=NOT STARTED DBGRPC: 1 DON_F stepid=1 satisfied=FALSE DBGRPC: krmqgns: no work found for channel default (krmqgns) DBGRPC: (krmqgns) DBGRPC: EXITED krmqgns with status 1 DBGRPC: krmxpoq - returning rpc_number: 72 with status: STARTED16 for channel ORA_DISK_1 DBGRPC: ENTERED krmqgns DBGRPC: krmqgns: looking for work for channel default (krmqgns) DBGRPC: krmqgns: commands remaining to be executed: (krmqgns) DBGRPC: CMD type=backup cmdid=1 status=NOT STARTED DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED DBGRPC: 2 STEPstepid=2 cmdid=1 status=NOT STARTED DBGRPC: 1 DON_F stepid=1 satisfied=FALSE DBGRPC: krmqgns: no work found for channel default (krmqgns) DBGRPC: (krmqgns) DBGRPC: EXITED krmqgns with status 1 DBGRPC: krmxpoq - returning rpc_number: 72 with status: STARTED16 for channel ORA_DISK_1 DBGRPC: ENTERED krmqgns DBGRPC: krmqgns: looking for work for channel default (krmqgns) DBGRPC: krmqgns: commands remaining to be executed: (krmqgns) DBGRPC: CMD type=backup cmdid=1 status=NOT STARTED DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED DBGRPC: 2 STEPstepid=2 cmdid=1 status=NOT STARTED DBGRPC: 1 DON_F stepid=1 satisfied=FALSE DBGRPC: krmqgns: no work found for channel default (krmqgns) DBGRPC: (krmqgns) DBGRPC: EXITED krmqgns with status 1 DBGRPC: krmxpoq - returning rpc_number: 72 with status: STARTED16 for channel ORA_DISK_1 DBGRPC: ENTERED krmqgns DBGRPC: krmqgns: looking for work for channel default (krmqgns) DBGRPC: krmqgns: commands remaining to be executed: (krmqgns) DBGRPC: CMD type=backup cmdid=1 status=NOT STARTED DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED DBGRPC: 2 STEPstepid=2 cmdid=1 status=NOT STARTED DBGRPC: 1 DON_F stepid=1 satisfied=FALSE DBGRPC: krmqgns: no work found for channel default (krmqgns) DBGRPC: (krmqgns) DBGRPC: EXITED krmqgns with status 1 DBGRPC: krmxpoq - returning rpc_number: 72 with status: FINISHED16 for channel ORA_DISK_1 DBGRPC: krmxr - channel ORA_DISK_1 calling peicnt DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=19624 db=target proc=SYS.DBMS_BACKUP_RESTORE.BACKUPPIECECREATE excl: 204 DBGRPC: krmxrpc - caloing krmxtrim: with message of length 204: @@@ORA-19624: 操作失败, 如果可能请重试 DBGRPC: ORA-19599: 块编号 2 已在 archived log C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000616_0994609796.0001 中损坏 DBGRPC: ORA-06512: 在 "SYS.DBMS_BACKUP_RESTORE", line 1381 DBGRPC: @@@ DBGMISC: ENTERED krmzejob [22:16:10.070] DBGMISC: Input Args(failed=1),(errnum=-19624) [22:16:10.072] (krmzejob) DBGMISC: duration(stepid=1),endtime=1021040170,jobtime=26s [22:16:10.074] (krmzejob) DBGMISC: duration(stepid=1), remaining(chn sec,bytes)=(0,738811904) [22:16:10.076] (krmzejob) DBGMISC: EXITED krmzejob with status 0 (FALSE) [22:16:10.078] elapsed time [00:00:00:00.008] DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.GETLIMIT excl: 0 DBGRPC: krmxr - channel ORA_DISK_1 returned from peicnt DBGMISC: ENTERED krmstrim [22:16:10.084] DBGMISC: Trimming message: ORA-19624: 操作失败, 如果可能请重试 [22:16:10.086] (krmstrim) DBGMISC: ORA-19599: 块编号 2 已在 archived log C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000616_0994609796.0001 中损坏 (krmstrim) DBGMISC: ORA-06512: 在 "SYS.DBMS_BACKUP_RESTORE", line 1381 (krmstrim) DBGMISC: ORA-06512: at line 729 (krmstrim) DBGMISC: (227) (krmstrim) ````````````` RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: backup plus archivelog 命令 (在 10/07/2019 22:16:10 上) 失败 RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 10/07/2019 22:16:10 上) 失败 RMAN-10032: 执行作业步骤 1 时出现未处理的异常错误: ORA-06512: at line 729 RMAN-10035: RPC 中出现异常错误: ORA-19624: 操作失败, 如果可能请重试 ORA-19599: 块编号 2 已在 archived log C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000616_0994609796.0001 中损坏 ORA-06512: 在 "SYS.DBMS_BACKUP_RESTORE", line 1381 RMAN-10031: RPC 错误: ORA-19624, 在调用 DBMS_BACKUP_RESTORE.BACKUPPIECECREATE 时出现 DBGMISC: ENTERED krmkursr [22:16:10.779] 小结,也就是说,Orace在你执行备份操作的时候,不是上去就备份,而是后台一系列的检测,确认文件无异常后,在进行的有效备份。 4.6 上述问题如何处理,本次演练一下: 1)mv修改上述归档日志名称(损坏的,或者直接删除) 2)RMAN> crosscheck archivelog all; RMAN> list expired archivelog all; 使用目标数据库控制文件替代恢复目录 db_unique_name 为 WIN11 的数据库的归档日志副本列表 ===================================================================== 关键字 线程序列 S 时间下限 ------- ---- ------- - ---------- 63 1 616 X 07-10月-19 名称: C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000616_0994609796.0001 再次进行rman备份 上述4.4的操作有点问题,破坏归档日志后,rman全备失败报错,随后使用rman crosscheck 由于文件存在,检测竟然通过了,list查询损坏的无效的归档日志也看不到。 本次4.6,rm删除了损坏的文件,后续crosscheck检测后,list可以查询到,再次进行rman全备,进行观察。 备份成功!!! 也就是说,解决问题的关键是,mv或者删除归档日志文件后,在进行crosscheck,只要归档日志被标记为无效,oracle备份就不会备份该归档日志 ==========如下信息截取,备份及删除清理已备份的归档,直接跳过了无效的归档序列号616! 输入归档日志线程=1 序列=615 RECID=62 STAMP=1021067664 输入归档日志线程=1 序列=617 RECID=64 STAMP=1021068003 通道 ORA_DISK_1: 正在启动段 1 于 07-10月-19 通道 ORA_DISK_1: 已完成段 1 于 07-10月-19 段句柄=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\17UDOI5K_1_1.BK 标记=TAG20191007T222451 注释=NONE 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25 通道 ORA_DISK_1: 正在删除归档日志 归档日志文件名=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000615_0994609796.0001 RECID=62 STAMP=1021067664 归档日志文件名=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000617_0994609796.0001 RECID=64 STAMP=1021068003 完成 backup 于 07-10月-19 4.7 学习跳过某个归档日志进行备份的操作 1)破坏归档 626 sequence 2)RMAN备份还原报错场景 RMAN> backup as compressed backupset full database format 'C:\win_oracle_11_database\rmanbackup%U.bk'
include current controlfile plus archivelog delete input format 'C:\win_oracle_11_database\rmanbackup\%U.bk'; 启动 backup 于 07-10月-19 当前日志已存档 使用通道 ORA_DISK_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: backup plus archivelog 命令 (在 10/07/2019 22:34:21 上) 失败 ORA-19563: 标头 (文件 ) 验证失败 *本次不深入研究报错,不再次深入 3)跳过sequence# RUN { change archivelog sequence 626 uncatalog; backup as compressed backupset full database format 'C:\win_oracle_11_database\rmanbackup%U.bk'

include current controlfile plus archivelog delete input format 'C:\win_oracle_11_database\rmanbackup\%U.bk'; } RMAN日志输出 未编目的归档日志 归档日志文件名=C:\WIN_ORACLE_11_DATABASE\RMANBACKUP\ARCH\ARC0000000626_0994609796.0001 RECID=73 STAMP=1021069922 未分类的 1 对象 ······ 输入归档日志线程=1 序列=625 RECID=72 STAMP=1021069921 输入归档日志线程=1 序列=627 RECID=74 STAMP=1021070044 ······ 跳过去了!!! 因此备份也可以顺利进行!

 

标签:DBGRPC,STAMP,19575,RECID,归档,日志,RMAN,ORA
来源: https://www.cnblogs.com/lvcha001/p/11631067.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有