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 -----------------------------------------------------------------