菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
185
0

RMAN-06059: expected archived log not found, loss of archived log compromises recoverability

原创
05/13 14:22
阅读数 46488

归档日志被物理删除后执行rman操作报错:

RMAN> backup database plus archivelog;


Starting backup at 01-JUL-2015 12:55:59
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=39 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 07/01/2015 12:56:00
RMAN-06059: expected archived log not found, loss of archived log compromises recoverability
ORA-19625: error identifying file /home/oracle/arch/1_4_882107304.dbf
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

 

处理方法:(crosscheck 会将找不到的归档日志标记为expired状态)

RMAN> crosscheck archivelog all;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=39 device type=DISK
validation failed for archived log
archived log file name=/home/oracle/arch/1_4_882107304.dbf RECID=4 STAMP=882110247
validation failed for archived log
archived log file name=/home/oracle/arch/1_5_882107304.dbf RECID=5 STAMP=882110250
validation failed for archived log
archived log file name=/home/oracle/arch/1_6_882107304.dbf RECID=6 STAMP=882110250
validation failed for archived log
archived log file name=/home/oracle/arch/1_1_882110245.dbf RECID=7 STAMP=883736575
validation failed for archived log
archived log file name=/home/oracle/arch/1_2_882110245.dbf RECID=8 STAMP=883739175
validation succeeded for archived log
archived log file name=/home/oracle/arch/1_3_882110245.dbf RECID=9 STAMP=883918559
Crosschecked 6 objects


RMAN> backup database plus archivelog;

 

此外,可以查看一下归档日志的状态:

SQL> select sequence#,
  2         name,
  3         status,
  4         decode(status,'A','available','D','deleted','U','unavailable','X','expired')
  5    from v$archived_log;

 SEQUENCE# NAME                                     S DECODE(STAT
---------- ---------------------------------------- - -----------
         4 /u01/app/oracle/oradata/yb1/redo01.log   A available
         5 /u01/app/oracle/oradata/yb1/redo02.log   A available
         6 /u01/app/oracle/oradata/yb1/redo03.log   A available
         4 /home/oracle/arch/1_4_882107304.dbf      X expired
         5 /home/oracle/arch/1_5_882107304.dbf      X expired
         6 /home/oracle/arch/1_6_882107304.dbf      X expired
         1 /home/oracle/arch/1_1_882110245.dbf      X expired
         2 /home/oracle/arch/1_2_882110245.dbf      X expired
         3 /home/oracle/arch/1_3_882110245.dbf      A available
         4 /home/oracle/arch/1_4_882110245.dbf      A available
         5 /home/oracle/arch/1_5_882110245.dbf      A available

11 rows selected.

SQL> 

 

如果归档日志是被物理移动了位置,可以手动将归档日志注册进去:

RMAN> catalog start with '/xxx/xxx';#注册路径
RMAN> catalog archivelog '/home/oracle/arch/1_3_882110245.dbf';#注册具体归档日志

 

发表评论

0/200
185 点赞
0 评论
收藏