Professional Documents
Culture Documents
Oracle For Linux HA
Oracle For Linux HA
Oracle
/etc/hosts
# Internet host table
#
127.0.0.1 localhost
192.200.200.70
server1
192.200.200.80
server2
# oracle active IP address
192.200.200.111 oracle
oracle oracle A
oracle oracle:dba oracle
ip oracle
oracle Listener
tnsname oracle oracle
Listener IP B oracle
oracle A
IP oracle IP
ROSEHA Oracle
1. Oracle (TYPE)
2. SID Oracle ORACLE_SID Oracle
SID
3. Active IP Oracle IP oracle
listener.ora tnsnames.ora IP
IP GROUPID
Active Subnetmask
4. Active Volume Oracle (Active)
Backup Volume Oracle (Backup)
Active Volume Backup Volume
5.
6.
7.
8.
9.
10.
11.
create
oracle
ora_start.sh oracle
#!/bin/sh
# This file: ora_start.sh
# Version: 4.0.1
HAHOME=`cat /etc/init.d/HAHOME`
export HAHOME
out=$HAHOME/bin/APIOUT.x
JOBNAME=$2
# When Another Server are Down, You MUST sleep awhile.
# You can change this value to meet your requirement if need.
if [ "$1" = "anotherdown" ]
then
/bin/sleep 30
fi
# oracle
# mount GUI Active Volume
# Backup Volume Mount Point
#
# DISKDEV=/dev/sda5
# MOUNTPOINT=/oracle
# fsck fsck
# $HAHOME/bin/dflush $DISKDEV
# fsck -a $DISKDEV
# if test $? -ne 0
# then
#
${out} "[INFO] fsck ${DISKDEV}......"
#
fsck -yf $DISKDEV
# fi
# mount $DISKDEV $MOUNTPOINT
# mount | grep "${DISKDEV} on ${MOUNTPOINT} " >/dev/null 2>&1
# if test $? -ne 0
# then
#
${out} "[INFO] Cannot mount ${DISKDEV}."
# exit
# fi
# oracle
$HAHOME/bin/ha_ag_oracle.x $JOBNAME 0
if test $? -eq 0
then
${out} "[INFO] The service <${JOBNAME}> has started."
exit
else
# su oracle oracle
# oracleora_dbshut_ab.sh ora_dbstart.sh HA
${out} "[INFO] Start Oracle server...."
su - oracle -c "$HAHOME/bin/ora_dbshut_ab.sh"
su - oracle -c "$HAHOME/bin/ora_dbstart.sh"
fi
${out} "[INFO] Start shell <$0> finished."
ora_stop.sh
oracle
#!/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}."
# oracle
# umount GUI Active Volume
# Backup Volume Mount Point
# DISKDEV=/dev/sda5
# MOUNTPOINT=/oracle
# su oracle ora_dbshut_ab.sh oracle
${out} "[INFO] Stop Oracle server...."
su - oracle -c "$HAHOME/bin/ora_dbshut_ab.sh"
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."
ora_dbstart.sh oracle
#!/bin/sh
# This file: ora_dbstart.sh
# Version: 4.0.1
HAHOME=`cat /etc/init.d/HAHOME`
export HAHOME
if test ! "$1" -o ! "$2"
then
echo "ora_dbstart.sh: Message: ORACLE_SID LISTENER not specified."
else
ORACLE_SID=$1
LISTENER=$2
export ORACLE_SID
fi
# start Oracle Instance
# You MUST choose a Oracle setup mode to meet your requirement.
# oracle8i oracle9i oracle
# The nether lines for Oracle Version 9 or Later
sqlplus "/ as sysdba "<<!
startup
exit
!
# The nether lines for Oracle Version 8 or Older
# svrmgrl <<!
# connect internal
# startup
# exit
#!
# start Oracle listener
lsnrctl start $2
ora_dbshut_ab.sh
oracle
#!/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.
# oracle8i oracle9i oracle
# The nether lines for Oracle Version 9 or Later
sqlplus "/ as sysdba "<<!
shutdown abort
exit
!
ROSEHA :
1. ROSEHA
2. ROSEHA create
3. /.
4.
5. RSOEHA
create bring out
bing in ora_start.sh oracle .
ora (JOB) GUI BringIn
ora_start.sh ora_stop.sh.
1. JOB GUI ora_start.sh
ora_stop.sh
2. ora_start.sh ora_stop.sh . :
a) oracle ( mount)
Ative IP
b) Active IP . Oracle Active IP
ROSEHA OS .
Active IP . oracle listener Active IP . Active IP
192.200.200.111:
# ifconfig eth0:1 192.200.200.111 up
c) /opt/roseha/bin ora_start.sh oracle
: # ./<> <: test> <: (
ROSEHA JOB)>
ora_stop.sh
e) Active IP ifconfig Active IP down
f) a) e)
g) a) ROSEHA
BingIn BingOut
Oracle
oracle () Oracle
oracle dba ID oracle
profile mount
listener.ora tnsname.ora HOST IP Oracle
IP ROSEHA Active IP Address IP
IP
listener.ora
# LISTENER.ORA Configuration /oracle_home/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.200.200.111)(PORT = 1521))
)
)
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(SESSION = RAW)
)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.200.200.111)(PORT = 2481))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle_home/oracle9i)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = jitong)
(ORACLE_HOME = /oracle_home/oracle9i)
(SID_NAME = ora9i)
)
)
tnsnames.ora
# TNSNAMES.ORA configuration /oracle_home/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORA1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.200.200.111)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora1)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)