Typically, it’s not a good idea to have “crosscheck archivelog all;” in backup scripts and
even worse to have “delete expired archivelog all;” since any evidence will be eradicated.
oracle@arrow:hawklas:/tmp $ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Thu Jan 28 14:17:35 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: HAWK (DBID=3130551611)
RMAN> list archivelog all;
using target database control file instead of recovery catalog
List of Archived Log Copies for database with db_unique_name HAWKLAS
=====================================================================
Key Thrd Seq S Low Time
------- ---- ------- - --------------------
5191 1 868 X 2016-JAN-28 11:46:46
Name: /oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_868_cbnw3vtd_.arc
5201 1 873 A 2016-JAN-28 14:15:44
Name: /oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_873_cbo4v850_.arc
RMAN> list backup of archivelog sequence 873;
specification does not match any backup in the repository
RMAN> exit
$ mv -v /oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_873_cbo4v850_.arc /tmp/
oracle@arrow:hawklas:/tmp `/oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_873_cbo4v850_.arc' -> `/tmp/o1_mf_1_873_cbo4v850_.arc'
oracle@arrow:hawklas:/tmp $ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Thu Jan 28 14:18:30 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: HAWK (DBID=3130551611)
RMAN> backup archivelog all;
Starting backup at 2016-JAN-28 14:18:40
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=149 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=21 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 01/28/2016 14:18:46
RMAN-06059: expected archived log not found, loss of archived log compromises recoverability
ORA-19625: error identifying file /oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_873_cbo4v850_.arc
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
RMAN> crosscheck archivelog all;
released channel: ORA_DISK_1
released channel: ORA_DISK_2
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=149 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=21 device type=DISK
validation succeeded for archived log
archived log file name=/oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_874_cbo4y4or_.arc RECID=5203 STAMP=902326725
Crosschecked 1 objects
validation failed for archived log
archived log file name=/oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_868_cbnw3vtd_.arc RECID=5191 STAMP=902317692
validation failed for archived log
archived log file name=/oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_873_cbo4v850_.arc RECID=5201 STAMP=902326632
Crosschecked 2 objects
RMAN> backup archivelog all;
sequence=873 is missing and no errors raised.
Starting backup at 2016-JAN-28 14:19:09 current log archived using channel ORA_DISK_1 using channel ORA_DISK_2 channel ORA_DISK_1: starting compressed archived log backup set channel ORA_DISK_1: specifying archived log(s) in backup set input archived log thread=1 sequence=874 RECID=5203 STAMP=902326725 channel ORA_DISK_1: starting piece 1 at 2016-JAN-28 14:19:11 channel ORA_DISK_2: starting compressed archived log backup set channel ORA_DISK_2: specifying archived log(s) in backup set input archived log thread=1 sequence=875 RECID=5204 STAMP=902326750 channel ORA_DISK_2: starting piece 1 at 2016-JAN-28 14:19:11 channel ORA_DISK_1: finished piece 1 at 2016-JAN-28 14:19:12 piece handle=/oradata/backup/HAWK_3130551611_20160128_jdqsgqev_1_1_1645_1 tag=TAG20160128T141910 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 channel ORA_DISK_2: finished piece 1 at 2016-JAN-28 14:19:14 piece handle=/oradata/backup/HAWK_3130551611_20160128_jeqsgqev_1_1_1646_1 tag=TAG20160128T141910 comment=NONE channel ORA_DISK_2: backup set complete, elapsed time: 00:00:03 Finished backup at 2016-JAN-28 14:19:14 Starting Control File and SPFILE Autobackup at 2016-JAN-28 14:19:14 piece handle=/oradata/backup/HAWK_c-3130551611-20160128-09 comment=NONE Finished Control File and SPFILE Autobackup at 2016-JAN-28 14:19:21
RMAN> list backup of archivelog sequence 873;
specification does not match any backup in the repository
RMAN> exit
Recovery Manager complete.
oracle@arrow:hawklas:/tmp
$
RMAN> delete expired archivelog all;
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=149 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=21 device type=DISK
List of Archived Log Copies for database with db_unique_name HAWKLAS
=====================================================================
Key Thrd Seq S Low Time
------- ---- ------- - --------------------
5191 1 868 X 2016-JAN-28 11:46:46
Name: /oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_868_cbnw3vtd_.arc
5201 1 873 X 2016-JAN-28 14:15:44
Name: /oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_873_cbo4v850_.arc
Do you really want to delete the above objects (enter YES or NO)? yes
deleted archived log
archived log file name=/oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_868_cbnw3vtd_.arc RECID=5191 STAMP=902317692
deleted archived log
archived log file name=/oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_873_cbo4v850_.arc RECID=5201 STAMP=902326632
Deleted 2 EXPIRED objects
RMAN> backup archivelog all;
Starting backup at 2016-JAN-28 14:36:20 current log archived using channel ORA_DISK_1 using channel ORA_DISK_2 channel ORA_DISK_1: starting compressed archived log backup set channel ORA_DISK_1: specifying archived log(s) in backup set input archived log thread=1 sequence=874 RECID=5203 STAMP=902326725 input archived log thread=1 sequence=875 RECID=5204 STAMP=902326750 channel ORA_DISK_1: starting piece 1 at 2016-JAN-28 14:36:21 channel ORA_DISK_2: starting compressed archived log backup set channel ORA_DISK_2: specifying archived log(s) in backup set input archived log thread=1 sequence=876 RECID=5207 STAMP=902327780 channel ORA_DISK_2: starting piece 1 at 2016-JAN-28 14:36:22 channel ORA_DISK_1: finished piece 1 at 2016-JAN-28 14:36:23 piece handle=/oradata/backup/HAWK_3130551611_20160128_jgqsgrf5_1_1_1648_1 tag=TAG20160128T143621 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 channel ORA_DISK_2: finished piece 1 at 2016-JAN-28 14:36:23 piece handle=/oradata/backup/HAWK_3130551611_20160128_jhqsgrf5_1_1_1649_1 tag=TAG20160128T143621 comment=NONE channel ORA_DISK_2: backup set complete, elapsed time: 00:00:01 Finished backup at 2016-JAN-28 14:36:23 Starting Control File and SPFILE Autobackup at 2016-JAN-28 14:36:23 piece handle=/oradata/backup/HAWK_c-3130551611-20160128-0a comment=NONE Finished Control File and SPFILE Autobackup at 2016-JAN-28 14:36:30 RMAN>
Updated:
Does this mean we should never perform crosscheck archivelog all? No.
The purpose is to let archivelog backup fail and to investigate.
If investigation shows archivelog is indeed missing, then might be better to perform Level 1 or Level 0 backup.
RMAN> crosscheck archivelog all;
allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=149 device type=DISK allocated channel: ORA_DISK_2 channel ORA_DISK_2: SID=10 device type=DISK validation succeeded for archived log archived log file name=/oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_874_cbo4y4or_.arc RECID=5203 STAMP=902326725 validation succeeded for archived log archived log file name=/oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_875_cbo4yy69_.arc RECID=5204 STAMP=902326750 validation succeeded for archived log archived log file name=/oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_876_cbo5z4lz_.arc RECID=5207 STAMP=902327780 Crosschecked 3 objects validation failed for archived log archived log file name=/oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_877_cbog0qbg_.arc RECID=5209 STAMP=902336024 Crosschecked 1 objects
RMAN> list expired archivelog all;
List of Archived Log Copies for database with db_unique_name HAWKLAS ===================================================================== Key Thrd Seq S Low Time ------- ---- ------- - -------------------- 5209 1 877 X 2016-JAN-28 14:36:20 Name: /oradata/fra/HAWKLAS/archivelog/2016_01_28/o1_mf_1_877_cbog0qbg_.arc
RMAN> list backup of archivelog sequence 877;
specification does not match any backup in the repository RMAN>
