PV_daily.sh
#!/bin/sh
OUTF=${0}.out
# if [ -f "$OUTF" ]
# then
# rm -f "$OUTF"
#
fi
{ # output block
echo "`date` ----------------Beginning of
Script------------"
echo "Script name: $0"
#
---------------------------------------------------------------------------
#
Replace /db/oracle/product/8.1.7, below, with the Oracle home path.
#
---------------------------------------------------------------------------
ORACLE_HOME=/app/oracle/product/9.2.0
export
ORACLE_HOME
ORACLE_SID=PV
export
ORACLE_SID
ORACLE_USER=oracle
NB_ORA_SCRIPTS=/app/oracle/local/rman
#
---------------------------------------------------------------------------
#
Set the Oracle Recovery Manager name.
#
---------------------------------------------------------------------------
RMAN=rman
#
---------------------------------------------------------------------------
#
Print out the value of the variables set by this script.
#
---------------------------------------------------------------------------
echo
echo "RMAN: $RMAN"
echo
"ORACLE_SID: $ORACLE_SID"
echo "ORACLE_USER:
$ORACLE_USER"
echo "ORACLE_HOME:
$ORACLE_HOME"
echo "NB_ORA_SCRIPTS:
$NB_ORA_SCRIPTS"
#
---------------------------------------------------------------------------
#
Print out the value of the variables set by bphdb.
#
---------------------------------------------------------------------------
echo
echo "NB_ORA_FULL:
$NB_ORA_FULL"
echo "NB_ORA_INCR:
$NB_ORA_INCR"
echo "NB_ORA_CINC:
$NB_ORA_CINC"
echo "NB_ORA_SERV:
$NB_ORA_SERV"
echo "NB_ORA_CLASS:
$NB_ORA_CLASS"
echo "NB_ORA_PC_SCHED:
$NB_ORA_PC_SCHED"
echo "NB_ORA_SCHEDULED:
$NB_ORA_SCHEDULED"
echo "NB_ORA_USER_INITIATED:
$NB_ORA_USER_INITIATED"
#
---------------------------------------------------------------------------
#
This script assumes that the database is properly opened. If desired,
# this
would be the place to verify that.
#
---------------------------------------------------------------------------
echo
if [ "$NB_ORA_INCR" = "1" ]
then
echo "hot database
differential incremental backup
requested"
CMDFILE=${NB_ORA_SCRIPTS}/PV_daily.rcv
elif [ "$NB_ORA_CINC" = "1" ]
then
echo "hot database
cumulative incremental backup
requested"
CMDFILE=${NB_ORA_SCRIPTS}/PV_daily.rcv
else # default
echo "hot database backup requested
(incremental level
0)"
CMDFILE=${NB_ORA_SCRIPTS}/PV_daily.rcv
RCMDFILE=${NB_ORA_SCRIPTS}/resync.rcv
fi
#
---------------------------------------------------------------------------
#
Call Recovery Manager to initiate the backup. This example does not use a
#
Recovery Catalog. If you chose to use one, remove the option, nocatalog,
#
from the rman command line below and add a 'connect rcvcat' statement to
#
the corresponding command file ($CMDFILE). An alternative to putting the
#
connect statements in the command file would be to add them to the rman
#
command line.
#
# Note: Any environment variables needed at run time by
RMAN or $CMDFILE
# must be set and
exported within the switch user (su) command.
#
---------------------------------------------------------------------------
echo
# echo "% ${ORACLE_HOME}/bin/$RMAN nocatalog cmdfile
'$CMDFILE'"
echo "% ${ORACLE_HOME}/bin/$RMAN catalog cmdfile
'$CMDFILE'"
echo "% ${ORACLE_HOME}/bin/$RMAN catalog cmdfile
'$RCMDFILE'"
echo
su - $ORACLE_USER -c "
export
PATH=/usr/bin::/opt/EMCpower/bin:/etc:/usr/sbin:/usr/ccs/bin:.:/usr/sbin:/usr/ccs/bin:/app/oracle/product/9.2.0:.
export
LD_LIBRARY_PATH=/app/oracle/product/9.2.0/lib:
export
ORACLE_HOME=/app/oracle/product/9.2.0
export ORACLE_SID=PV
#
${ORACLE_HOME}/bin/$RMAN nocatalog cmdfile
"$CMDFILE"
${ORACLE_HOME}/bin/$RMAN cmdfile
"$CMDFILE"
"
RETURN_STATUS_BACKUP=$?
su - $ORACLE_USER -c "
export
PATH=/usr/bin::/opt/EMCpower/bin:/etc:/usr/sbin:/usr/ccs/bin:.:/usr/sbin:/usr/ccs/bin:/app/oracle/product/9.2.0/bin
export
LD_LIBRARY_PATH=/app/oracle/product/9.2.0/lib:
export
ORACLE_HOME=/app/oracle/product/9.2.0
export ORACLE_SID=PV
#
${ORACLE_HOME}/bin/$RMAN nocatalog cmdfile
"$CMDFILE"
${ORACLE_HOME}/bin/$RMAN cmdfile
"$RCMDFILE"
"
RETURN_STATUS_RESYNC=$?
RETURN_STATUS=`expr $RETURN_STATUS_BACKUP +
$RETURN_STATUS_RESYNC`
echo
echo "`date` ----------------End of
Script------------------"
echo
echo "exit $RETURN_STATUS"
exit
$RETURN_STATUS
} >> $OUTF
PV_daily.rcv
connect
target
connect rcvcat rman9206/ RMAN information
change
archivelog all validate;
run {
# Hot database level 0 whole
backup
allocate channel t1 type
'SBT_TAPE'
PARMS="ENV=(NB_ORA_CLIENT=your-virtual-client-if-a-cluster)";
allocate
channel t2 type 'SBT_TAPE'
PARMS="ENV=(NB_ORA_CLIENT=your-virtual-client-if-a-cluster)";
sql
'alter system archive log current';
backup full
filesperset 8
tag
full_hot_incl_ctl
## skip
inaccessible
(database
include current controlfile
format
'dbh%d_t%t_s%s_p%p'
);
sql 'alter system archive log
current';
# backup all archive logs
backup
filesperset 8
format 'al_%s_%p_%t'
(archivelog
all delete input);
release channel t1;
release channel
t2;
}
exit;
Regards,
Clem
Kruger
'Listen to what is said, not
he who speaks.’ Arab Proverb.