Cluster Maintenance Script startup database in package of MC Serviceguard Cluster

** Myself
Maintenance Script startup database in package of serviceguard
Cluster information
Package Cluster ip=172.16.10.111,Package Name=MYCLUST
node1 information :
- hostname=node1 , ip= 10.1.221.134 ,heartbeat ip=10.1.221.134,
- sub net of heartbeat = 172.16.10.0
- oracle sid = MYPKG
vgorasw
mount=/app/oracle
lv= lvorasw
vgoraarch
mount=/data/oracle/archive/MYPKG
lv=lvoraarch
vgoradata

mount=/data/oracle/oradata/MYPKG
lv= lvoradata
การเปลี่ยนแปลงค่าของ environment ของ script มีขั้นตอนดังนี้
Dynamic ENVชึ่งสามารถเปลี่ยนแปลงได้ถ้า เกิดมีการเปลี่ยนแปลงบนระบบซึ่งเป็นแบบ array โดยสามารถ เพิ่มได้ ถ้ามี instance เพิ่ม ในกลุ่มเดียวกัน pkgname=ora_MYPKG
orauser=oracle #oracle user on os
oracle_sid[0]=MYPKG #oracle sid
lsnrctl_sid=LISTENER #listener sid
export timer=`date +%Y%m%d`
2. Execute ENV ชึ่งสามารถเปลี่ยนแปลงได้ถ้า เกิดมีการเปลี่ยนแปลงบนระบบorahome=/app/oracle/product
oraexe=/app/oracle/product/bin #Execute for oracle
log=/etc/cmcluster/ora_MYPKG/log/startdb${timer}.log #log start db
tmp_query=/tmp/tmpquery.log #run script

การทำงานของ script มีขั้นตอนดังนี้
Startup listener and database instance
ทำการเขียนข้อมูลต่างของ array parameter ของแต่ละ instance ลงไปใน temp file แล้วทำการ run script ไฟล์ อีกครั้งเพื่อทำการ startup listener แล้วค่อย start up database
su - ${orauser} << BOF
export ORACLE_HOME=$orahome
${oraexe}/lsnrctl start ${lsnrctl_sid}
BOF
i=0
while (( i < ${#oracle_sid[*]} ))
do
echo "su - ${orauser} << BOF" > $tmp_query
echo "export ORACLE_SID=${oracle_sid[$i]}" >> $tmp_query
echo "export ORACLE_HOME=$orahome" >> $tmp_query
echo "${oraexe}/sqlplus /nolog << EOF " >> $tmp_query
echo "connect /as sysdba" >> $tmp_query
echo "startup" >> $tmp_query
echo "exit" >> $tmp_query
echo "EOF" >> $tmp_query
echo "BOF" >> $tmp_query
sh $tmp_query >> $log
(( i = i + 1 ))
done
echo "Startup Package $pkgname # `date`" >> $log
echo "---------------------------------------------------------" >> $log
tail +38 ${tmp_log} >> $log
echo "Finish Package $pkgname # `date`" >> $log
echo "---------------------------------------------------------" >> $log

Source MYPKG_db_startup.sh
#!/usr/bin/ksh
######### DYNAMIC ENV ##############
pkgname=ora_MYPKG
orauser=oracle #oracle user on os
oracle_sid[0]=MYPKG #oracle sid
lsnrctl_sid=LISTENER #listener sid
export timer=`date +%Y%m%d`
###### Dynamic Execute ENV ##########
orahome=/app/oracle/product
oraexe=/app/oracle/product/bin #Execute for oracle
tmp_query=/tmp/tmpquery.log #log run script db
log=/etc/cmcluster/ora_MYPKG/log/startdb${timer}.log #log start db
################ query primay db ###########
su - ${orauser} << BOF
export ORACLE_HOME=$orahome
${oraexe}/lsnrctl start ${lsnrctl_sid}
BOF
i=0
while (( i < ${#oracle_sid[*]} ))
do
echo "su - ${orauser} << BOF" > $tmp_query
echo "export ORACLE_SID=${oracle_sid[$i]}" >> $tmp_query
echo "export ORACLE_HOME=$orahome" >> $tmp_query
echo "${oraexe}/sqlplus /nolog << EOF " >> $tmp_query
echo "connect /as sysdba" >> $tmp_query
echo "startup" >> $tmp_query
echo "exit" >> $tmp_query
echo "EOF" >> $tmp_query
echo "BOF" >> $tmp_query
sh $tmp_query >> $log
(( i = i + 1 ))
done
echo "Startup Package $pkgname # `date`" >> $log
echo "---------------------------------------------------------" >> $log
tail +38 ${tmp_log} >> $log
echo "Finish Package $pkgname # `date`" >> $log
echo "---------------------------------------------------------" >> $log

Maintenance Script Shutdown database in package of Serviceguard

วัตถุประสงค์:ทำการดูแล เปลี่ยนแปลง แก้ไข script shutdown database in package of serviceguard (MYPKG_db_shutdown.sh) โดยผ่าน command unix
Path:/etc/cmcluster/ora_MYPKG/MYPKG_db_shutdown.sh
Maintenance Script shutdown database in package of serviceguard
Cluster information
Package Cluster ip=172.16.10.111,Package Name=MYCLUST
node1 information :
- hostname=node1 , ip= 10.1.221.134 ,heartbeat ip=10.1.221.134,
- sub net of heartbeat = 172.16.10.0
- oracle sid = MYPKG
vgorasw
mount=/app/oracle
lv= lvorasw
vgoraarch
mount=/data/oracle/archive/MYPKG
lv=lvoraarch
vgoradata
mount=/data/oracle/oradata/MYPKG
lv= lvoradata
การเปลี่ยนแปลงค่าของ environment ของ script มีขั้นตอนดังนี้
Dynamic ENVชึ่งสามารถเปลี่ยนแปลงได้ถ้า เกิดมีการเปลี่ยนแปลงบนระบบซึ่งเป็นแบบ array โดยสามารถ เพิ่มได้ ถ้ามี instance เพิ่ม ในกลุ่มเดียวกัน pkgname=ora_MYPKG
orauser=oracle #oracle user on os
oracle_sid[0]=MYPKG #oracle sid
lsnrctl_sid=LISTENER #listener sid
export timer=`date +%Y%m%d`
2. Execute ENV ชึ่งสามารถเปลี่ยนแปลงได้ถ้า เกิดมีการเปลี่ยนแปลงบนระบบorahome=/app/oracle/product
oraexe=/app/oracle/product/bin #Execute for oracle
log=/etc/cmcluster/ora_MYPKG/log/startdb${timer}.log #log start db #log stop db
tmp_query=/tmp/tmpquery.log #log run script

การทำงานของ script มีขั้นตอนดังนี้
Stop listener and database instance
ทำการเขียนข้อมูลต่างของ array parameter ของแต่ละ instance ลงไปใน temp file แล้วทำการ run script ไฟล์ อีกครั้งเพื่อทำการ stop listener แล้วค่อย shutdown database ทีละ instance จนครบทุก database
su - ${orauser} << BOF
export ORACLE_HOME=$orahome
${oraexe}/lsnrctl stop ${lsnrctl_sid}
BOF
i=0
while (( i < ${#oracle_sid[*]} ))
do
echo "su - ${orauser} << BOF" > $tmp_query
echo "export ORACLE_SID=${oracle_sid[$i]}" >> $tmp_query
echo "export ORACLE_HOME=$orahome" >> $tmp_query
echo "${oraexe}/sqlplus /nolog << EOF " >> $tmp_query
echo "connect /as sysdba" >> $tmp_query
echo "shutdown ${shutmode}" >> $tmp_query
echo "exit" >> $tmp_query
echo "EOF" >> $tmp_query
echo "BOF" >> $tmp_query
sh $tmp_query >> $log
(( i = i + 1 ))
done
echo "Shutdown Package $pkgname # `date`" >> $log
echo "---------------------------------------------------------" >> $log
tail +38 ${tmp_log} >> $log
echo "Finish Package $pkgname # `date`" >> $log
echo "---------------------------------------------------------" >> $log

Source MYPKG_db_shutdown.sh
#!/usr/bin/ksh
######### DYNAMIC ENV ##############
pkgname=ora_MYPKG
orauser=oracle #oracle user on os
oracle_sid[0]=MYPKG #oracle sid
lsnrctl_sid=LISTENER #listener sid
export timer=`date +%Y%m%d`
###### Dynamic Execute ENV ##########
orahome=/app/oracle/product
oraexe=/app/oracle/product/bin #Execute for oracle
tmp_query=/tmp/tmpquery.log #log run script db
log=/etc/cmcluster/ora_MYPKG/log/shutdb${timer}.log #log start db
shutmode=immediate
################ query primay db ###########
su - ${orauser} << BOF
export ORACLE_HOME=$orahome
${oraexe}/lsnrctl stop ${lsnrctl_sid}
BOF
i=0
while (( i < ${#oracle_sid[*]} ))
do
echo "su - ${orauser} << BOF" > $tmp_query
echo "export ORACLE_SID=${oracle_sid[$i]}" >> $tmp_query
echo "export ORACLE_HOME=$orahome" >> $tmp_query
echo "${oraexe}/sqlplus /nolog << EOF " >> $tmp_query
echo "connect /as sysdba" >> $tmp_query
echo "shutdown ${shutmode}" >> $tmp_query
echo "exit" >> $tmp_query
echo "EOF" >> $tmp_query
echo "BOF" >> $tmp_query
sh $tmp_query >> $log
(( i = i + 1 ))
done
echo "Shutdown Package $pkgname # `date`" >> $log
echo "---------------------------------------------------------" >> $log
tail +38 ${tmp_log} >> $log
echo "Finish Package $pkgname # `date`" >> $log
echo "---------------------------------------------------------" >> $log

0 comments:

Loading