The existing backup strategy for archivelog is Disk-to-Disk-to-Tape (D2D2T), using RMAN for disk and NetBackup for tape.
Delete existing backup after successfully back up to tape.
Don’t know enough about NetBackup or whether it can do the deletion, and that’s a story for another day.
Here is the scenario: the file exist but contains NULL data, will the RMAN backup be deleted?
File exists:
> ll /home/oracle/check_backup/check_bkup.out -rw-r--r-- 1 mdinh dba 0 Dec 15 13:15 /home/oracle/check_backup/check_bkup.out
NULL data: the file is ZERO byte.
Script:
> cat t.sh #!/bin/sh DN=`dirname $0` BN=`basename $0` SID=${1:?"---> USAGE: $DN/$BN <ORACLE_SID>"} date FILE=/home/oracle/check_backup/check_bkup.out LAST=`head /home/oracle/check_backup/check_bkup.out |grep Archive|head -1|awk '{print $1}'` # Check for ora_smon process if [ `pgrep -lf ora_smon_$1|awk -F_ '{print $3}'` != $1 ]; then exit 1 elif [ `pgrep -lf "$BN $1"|wc -l` -gt 2 ]; then exit 1 elif [ ! -f $FILE ]; then mailx -s "Missing $FILE" maile@me.com < /dev/null exit 1 fi echo ---------- NO NULL check ---------- echo "delete noprompt backup completed before \"to_date('${LAST}','mm/dd/yyyy')\";" # if $LAST IS NOT NULL if [ ! -z "$LAST" ]; then echo "delete noprompt backup completed before \"to_date('${LAST}','mm/dd/yyyy')\";" fi exit
Execution:
> ./t.sh db01 Tue Dec 18 05:31:20 PST 2012 ---------- NO NULL check ---------- delete noprompt backup completed before "to_date('','mm/dd/yyyy')";
Curiosity: What will happen when delete noprompt backup is executed? Any guess?
RMAN> list backup; using target database control file instead of recovery catalog specification does not match any backup in the repository RMAN> backup archivelog from sequence 157; Starting backup at 18-DEC-2012 05:55:20 current log archived allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=102 device type=DISK channel ORA_DISK_1: starting archived log backup set channel ORA_DISK_1: specifying archived log(s) in backup set input archived log thread=1 sequence=157 RECID=271 STAMP=802331584 input archived log thread=1 sequence=158 RECID=272 STAMP=802331720 channel ORA_DISK_1: starting piece 1 at 18-DEC-2012 05:55:21 channel ORA_DISK_1: finished piece 1 at 18-DEC-2012 05:55:25 piece handle=/oracle/oradata/flashrecovery/SAN_DBTEST/backupset/2012_12_18/o1_mf_annnn_TAG20121218T055521_8f0xgb07_.bkp tag=TAG20121218T055521 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04 Finished backup at 18-DEC-2012 05:55:25 RMAN> list backup summary; List of Backups =============== Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag ------- -- -- - ----------- -------------------- ------- ------- ---------- --- 1 B A A DISK 18-DEC-2012 05:55:24 1 1 NO TAG20121218T055521 RMAN> delete noprompt backup completed before "to_date('','mm/dd/yyyy')"; using channel ORA_DISK_1 List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name ------- ------- --- --- ----------- ----------- ---------- 1 1 1 1 AVAILABLE DISK /oracle/oradata/flashrecovery/SAN_DBTEST/backupset/2012_12_18/o1_mf_annnn_TAG20121218T055521_8f0xgb07_.bkp deleted backup piece backup piece handle=/oracle/oradata/flashrecovery/SAN_DBTEST/backupset/2012_12_18/o1_mf_annnn_TAG20121218T055521_8f0xgb07_.bkp RECID=1 STAMP=802331722 Deleted 1 objects RMAN>