Passing parameters to RMAN

With backup and recovery strategies, the key is to keep things as simple as possible. One way to reduce complexity is to pass parameters to your scripts. This technique promotes the reuse of code for similar tasks. One place where you may want to reuse code is with incremental RMAN backups. For example, you can use one script to handle all your incremental backups, passing the backup level as a parameter. One method for passing parameters to RMAN is to create a shell script and use shell variables for the RMAN commands you want to be dynamic. Here’s an example of a shell script to which you pass the increment level and the destination directory for backup pieces:

#!/bin/ksh #---------------------------------------------- # Either hard code the next 3 variables or # source them with an oraenv file. export ORACLE_HOME=/ora01/app/oracle/product/8.1.6 export ORACLE_SID=brdstn export PATH=$PATH:$ORACLE_HOME/bin #---------------------------------------------- export MAILX="/usr/ucb/Mail" export MAIL_LIST="aadamee@yahoo.com" #---------------------------------------------- export BOX=`uname -a | awk '{print$2}'` export PRG=`basename $0` export USAGE="Usage: ${PRG} <level of incremental>- <directory for backup piece>" export RLEV=$1 export RDIR=$2 if [ -z "${RLEV}" -o -z "${RDIR}" ] then echo "${USAGE}" exit 1 fi echo "Parm 1 -> ${RLEV} : Parm 2 -> ${RDIR}" #---------------------------------------------- rman nocatalog <<EOF connect target / run { allocate channel ...

Get Oracle RMAN Pocket Reference now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.