General Question about RMAN verification procedures...

  • From: Chris Stephens <ChrisStephens@xxxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Wed, 25 Feb 2004 08:40:14 -0600

After realizing that I’m the only dba left standing at this company, I’ve
decided that our backup and recovery procedures need revisiting.
Specifically the way in which we verify our backups ran successfully each
night.

We currently have five 8.1.7.2 oltp’s in archivelog mode that are backed up
via RMAN using a recovery catalog, and four 9.2.0.4 warehouse/ods databases
in noarchivelog mode that are backed up via RMAN using the individual
control files.

I am confident in the recoverability of our backups…they’ve been tested
several times…as long as they successfully complete.  Currently I am emailed
the full output of each backup script for each database.  We use 2 separate
scripts. 1 for oltp’s and 1 for warehouse.  

This is all fine and dandy but to really keep up with it all, that means
scanning 9 backup logs each morning.  

<whew!>

my question is this…for those of you using RMAN as your backup utility, how
do you ensure your backups complete successfully and are valid?  Do you
query the catalog directly?  Do you have a script that validates the
backups?  Do you have a single email with  nice discreet output for each
database?  ….are you willing to share you scripts? ☺

…and while I’m at it.  …can anyone poke any holes in the following 
scripts?
…I know they aren’t as elegant as some…but they work and have been tested.



OLTP:

#!/bin/sh
export ORACLE_HOME=/u01/app/oracle/product/8.1.7
export ORACLE_SID={DB SID}
export ARCH_DEST=/u01/app/oracle/admin/$ORACLE_SID/arch/

rm /oracle_backup/$ORACLE_SID/*
$ORACLE_HOME/bin/rman <<EOF
set dbid={db id…so no one can mess with the tnsnames and screw with out
backups…it is well know that the dba group will have to change this in the
event of some event that would change the dbid}
connect target 
connect catalog username/password@{recovery catalog db}
run{
allocate channel d1 type disk;
backup database format '/oracle_backup/$ORACLE_SID/%U' include current
controlfile;
}
sql "alter system switch logfile";
sql "alter system archive log all";
sql  "alter database backup controlfile to trace";
sql  "alter database backup controlfile to
''/oracle_backup/$ORACLE_SID/prd1_ctl''";
exit; 
EOF
#

find  ${ARCH_DEST}*.arc -type f -mtime +2 | while read ARCH_LOG; do
 echo "removing "$ARCH_LOG
  rm $ARCH_LOG
 done

Warehouse:

#!/bin/sh
export ORACLE_HOME=/u01/app/oracle/product/9.2.0
export ORACLE_SID=PWH1

rm /$ORACLE_SID/_backup/*
$ORACLE_HOME/bin/rman <<EOF
connect target /
shutdown immediate
startup mount
backup database;
alter database open;
sql 'alter database backup controlfile to trace';
exit; <<EOF


….thanks for any help!!!

chris
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: