Oracle test script for 12c vm on hyper-v

From MyWiki
Jump to: navigation, search
#!/bin/bash
 
 
 
 
echo =========================
echo Backup Started : $(date)
echo =========================
before="$(date +%s)"
 
BACKUP_LOGS=/tmp/rman_backup`date +%Y%m%d`.log
$ORACLE_HOME/bin/rman target / log=${BACKUP_LOGS} <<EOF
RUN
{
         CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;
         CONFIGURE CONTROLFILE AUTOBACKUP ON;
         configure controlfile autobackup format for device type disk  to '/u01/app/orcl/test1/controlfile_%F';
         configure channel device type disk format  '/u01/app/orcl/test1/%U' maxpiecesize 8 G;
         CROSSCHECK BACKUP;
         CROSSCHECK ARCHIVELOG ALL;
         # backup recovery area;  only backup recovery area to local tape drive
         DELETE NOPROMPT FORCE EXPIRED BACKUP;
         DELETE NOPROMPT FORCE EXPIRED ARCHIVELOG ALL;
         DELETE NOPROMPT FORCE OBSOLETE;
         RECOVER copy of database with tag 'incremental_backup' until time 'sysdate-7';
         BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incremental_backup' DATABASE PLUS ARCHIVELOG delete all input;
         BACKUP CURRENT CONTROLFILE;
         release CHANNEL m1;
}
EXIT
EOF
 
after="$(date +%s)"
elapsed_seconds="$(expr $after - $before)"
echo ""
echo =========================
echo Backup Ended : $(date)
echo =========================
echo Elapsed time: $(date -d "1970-01-01 $elapsed_seconds sec" +%H:%M:%S)
 
 
if grep -q "error" $BACKUP_LOGS 1> /dev/null
then
  echo ""
  echo "Error! RMAN backup error"
  echo "====="
  cat $BACKUP_LOGS
  echo "====="
  ### email us for failure backup with the attachment of the $BACKUP_LOGS
else
  echo ""
  echo "Success RMAN Backup -" .$BACKUP_LOGS
  echo "====="
  cat $BACKUP_LOGS
  echo "====="
  ### email us for successful backup with the attachment of the $BACKUP_LOGS
fi
 
exit