Script to Create an Off-Host Replica Oracle Database
#!/bin/ksh
#
# script: create_dss.sh <dbnode>
#
# Sample script to create a replica Oracle database on an OHP host.
#
# 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
localdg=localdg
dbasedg=dbasedg
snapvoldg=snapdbdg
vollist="dbase_vol"
snapvollist="snap_dbase_vol"
volsnaplist="snap_dbase_vol source=dbase_vol"
exit_cnt=0
arch_loc=/archlog
rep_mnt_point=/rep
# 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:
#
# vxvm:vxsync: ERROR: Volume dbase_vol: No entry in /etc/mnttab for volume
vxsnap -g $dbasedg refresh $volsnaplist
# Take the Oracle database out of hot-backup mode;
# see the backup_end.sh script for information.
su oracle -c backup_end.sh
# Move the snapshot volumes into a separate disk group.
vxdg split $dbasedg $snapdg $vollist
# Deport the snapshot disk group.
vxdg deport $snapdg
# Copy the archive logs that were generated while the database was
# in hot backup mode (as reported by the Oracle Server Manager) to the
# archive log location for the replica database on the OHP node
# (in this example, /rep/archlog).
rcp ${arch_loc}/* $dbnode:${rep_mnt_point}${arch_loc}
# The snapshots of the database can be now imported on the OHP node
# and used to complete, recover and start the replica database.
# Note: Replace "rsh" with "remsh" on HP-UX systems.
rsh $dbnode -c "startdb.sh $vollist"
|