归档日志被物理删除后执行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';#注册具体归档日志