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 |
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:
Post a Comment