Script to Initiate Online Off-Host Oracle Database Backup
#!/bin/ksh
#
# script: backup_online.sh <dbnode>
#
# Sample script for online, off-host backup.
#
# Note: This is not a production level script, its intention is to help
# you understand the procedure and commands for implementing
# an off-host point-in-time copy solution.
export ORACLE_SID=dbase
export ORACLE_HOME=/oracle/816
export PATH=$ORACLE_HOME/bin:$PATH
dbnode=$1
dbasedg=dbasedg
snapvoldg=snapdbdg
vollist="dbase_vol"
snapvollist="snap_dbase_vol"
volsnaplist="snap_dbase_vol source=dbase_vol"
exit_cnt=0
arch_loc=/archlog
# Put the Oracle database in hot-backup mode;
# see the backup_start.sh script for information.
su oracle -c backup_start.sh
# Refresh the snapshots of the volumes.
#
# Note: If the volume is not mounted, you can safely ignore the
# following message that is output by the snapshot operation:
#
# ERROR: Volume dbase_vol: No entry in /etc/mnttab for volume
vxsnap -g $dbasedg refresh $volsnaplist
# Take the database out of hot-backup mode;
# see the backup_end.sh script for information.
su oracle -c backup_end.sh
# Back up the archive logs that were generated while the database
# was in hot backup mode (as reported by the Oracle Server Manager).
# Wait for synchronization of the snapshot volumes to complete.
for i in `echo $snapvollist`
do
vxsnap -g $dbasedg syncwait $i
done
# Move the snapshot volumes into a separate disk group.
vxdg split $dbasedg $snapdg $vollist
# Deport the snapshot disk group.
vxdg deport $snapdg
# The snapshots of the database can be imported and backed up
# on the OHP node and then deported.
# Note: Replace "rsh" with "remsh" on HP-UX systems.
rsh $dbnode -c "do_backup.sh $vollist"
# Import the snapshot disk group -- if the database disk group is
# cluster-shareable, you must also specify the -s option.
vxdg import $snapdg
# Join the snapshot disk group to the original volume disk group.
vxdg join $snapdg $dbasedg
# Restart the snapshot volumes ready for the next backup cycle.
for i in 'echo $snapvollist'
do
vxrecover -g $dbasedg -m $i
vxvol -g $dbasedg start $i
done
|