Oracle 9.2.0 的停止脚本
(1)ora_stop.sh
#!/bin/sh
# This file: ora_stop.sh
# Version: 4.0.1
HAHOME=`cat /etc/init.d/HAHOME`
export HAHOME
out=$HAHOME/bin/APIOUT.x
JOBNAME=$2
ERRORNUMBER=$3
${out} "[INFO] The service <${JOBNAME}> stop because of {$ERRORNUMBER}."
# DISKDEV=/dev/sda5
# MOUNTPOINT=/oracle
$HAHOME/bin/ha_ag_oracle.x $JOBNAME 0
if test $? -eq 0
then
${out} "[INFO] Stop Oracle server immediate...."
su - oracle -c "$HAHOME/bin/ora_dbshut_im.sh"
else
${out} "[INFO] Stop Oracle server...."
su - oracle -c "$HAHOME/bin/ora_dbshut_ab.sh"
fi
sync
# $HAHOME/bin/UMOUNT $DISKDEV $MOUNTPOINT
# mount | grep "${DISKDEV} on ${MOUNTPOINT} " >/dev/null 2>&1
# if test $? -eq 0
# then
# ${out} "[WARNING] Cannot umount ${DISKDEV}."
# /sbin/reboot
# fi
${out} "[INFO] Stop shell <$0> finished."
(2) ora_dbshut_ab
#!/bin/sh
# This file: ora_dbshut_ab.sh
# Version: 4.0.1
COLUMNS=1024
export COLUMNS
HAHOME=`cat /etc/init.d/HAHOME`
export HAHOME
if test ! "$1" -o ! "$2"
then
echo "ora_dbshut_ab.sh: ORACLE_SID or LISTENER not specified."
LSNR_PID=`ps -ef | grep tnslsnr | grep -v grep | awk -F" " '{print $2}'`
else
ORACLE_SID=$1
LISTENER=$2
echo "ora_dbshut_ab.sh: ORACLE_SID=$ORACLE_SID, LISTENER=$LISTENER."
LSNR_PID=`ps -ef | grep tnslsnr | grep $LISTENER | grep -v grep | awk -F" " '{print $2}'`
fi
# Kill Oracle Listener
if [ EMPTY"$LSNR_PID" = EMPTY ]
then
echo "Not found listener process <tnslsnr>!"
else
echo "Kill oracle listener process <"$LSNR_PID">."
kill -9 $LSNR_PID
fi
# Stop Oracle Instance
# You MUST choose a Oracle stop mode to meet your requirement.
# The nether lines for Oracle Version 9 or Later
sqlplus "/ as sysdba "<<!
shutdown abort
exit
!
# The nether lines for Oracle Version 8 or older
# svrmgrl <<!
# connect internal
# shutdown abort
# exit
# !
卸载 Rose HA
# mount /dev/cdrom /mnt /cdrom
# cd /mnt/ cdrom/Shell
#./uninstall.sh