[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Linux-cluster] agent scripts



Hi Guys,

I Solved my problem. I was having problems because when cluster start / stop services it follow the order of the resources are in the service. In my case i put IP, FILESYSTEM and SCRIPT, when cluster start the service it starts the ip , after filesystem and then script. And on *stop* it follows the same order, that was my problem, because my script checks the health of database doing a connection using a binary (sqlplus) that was on filesystgem that clusters umount!!! So, I change my status method and the script and it works.

Change on Status made...

status() {
UP=`ps -ef |grep ora_pmon_clu9i |grep -v grep |wc -l`

if [ $UP -gt 0 ]; then
   echo $ORACLE_SID is running;
   return 0
else
   echo $ORACLE_SID is stoped;
   return 1
fi
}

Regards,


Allyson - Listas wrote:

Hi Guys,

I'd like your help in one question on rhcs 4 up 3.

I'm working on my scripts to start/stop/monitoring a failover oracle 9.2.0.6 database.
I created a new service and added a filesystem, ip and script resources.

There is a cookbook or something that shows requirements of development of the cluster scripts?

I'm having problems to start my service ...
When I try to enable...

[root cs02 ora9i]# clustat
Member Status: Quorate

 Member Name                              Status
 ------ ----                              ------
 cs02.example.com                         Online, Local, rgmanager
 cs01.example.com                         Online, rgmanager

 Service Name         Owner (Last)                   State
 ------- ----         ----- ------                   -----
 vip50                cs02.example.com               started
 oracle-ha-fs         cs02.example.com               started
 ora9i-ha             (cs02.example.com)             failed
 clu9i                (none)                         stopped
[root cs02 ora9i]# clusvcadm -e clu9i
Member cs02.example.com trying to enable clu9i...failed

I receive these messages...

Mar 18 01:59:12 cs02 clurgmgrd[2315]: <notice> Starting stopped service clu9i Mar 18 01:59:12 cs02 clurgmgrd[2315]: <notice> start on script "clu9i" returned 5 (program not installed) Mar 18 01:59:12 cs02 clurgmgrd[2315]: <warning> #68: Failed to start clu9i; return value: 1
Mar 18 01:59:12 cs02 clurgmgrd[2315]: <notice> Stopping service clu9i
Mar 18 01:59:12 cs02 clurgmgrd[2315]: <notice> stop on script "clu9i" returned 5 (program not installed) Mar 18 01:59:12 cs02 clurgmgrd[2315]: <notice> Service clu9i is recovering Mar 18 01:59:12 cs02 clurgmgrd[2315]: <warning> #71: Relocating failed service clu9i
Mar 18 01:59:13 cs02 clurgmgrd[2315]: <notice> Stopping service clu9i
Mar 18 01:59:13 cs02 clurgmgrd[2315]: <notice> stop on script "clu9i" returned 5 (program not installed)
Mar 18 01:59:13 cs02 clurgmgrd[2315]: <notice> Service clu9i is stopped

I think strange the return code 5 logged on /var/log/messages, because my script works well manually...

[root cs02 ora9i]# ps -ef |grep pmon | grep -v grep
[root cs02 ora9i]#
[root cs02 ora9i]#
[root cs02 ora9i]# ./ora_clu9i start
starting ora_clu9i...
[root cs02 ora9i]# ps -ef |grep pmon | grep -v grep
ora9i     7934     1  0 02:06 ?        00:00:00 ora_pmon_clu9i
[root cs02 ora9i]# ./ora_clu9i status
clu9i is running
[root cs02 ora9i]# ./ora_clu9i stop
stopping ora_clu9i...
[root cs02 ora9i]# ps -ef |grep pmon | grep -v grep
[root cs02 ora9i]# ./ora_clu9i status
clu9i is stopped



Here's my script...

#### Oracle Environment ####
export LD_ASSUME_KERNEL=2.4.19
export ORACLE_BASE=/u01/ora9i
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=clu9i
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
####

prog="ora_clu9i"

start () {
echo "starting $prog..."

su - ora9i -c "$ORACLE_HOME/bin/sqlplus '/ as sysdba' > /dev/null  <<eof
startup
quit
eof
"
su - ora9i -c "lsnrctl start > /dev/null"

return 0

}

stop () {
echo "stopping $prog..."

su - ora9i -c "$ORACLE_HOME/bin/sqlplus '/ as sysdba' > /dev/null  <<eof
shutdown immediate
quit
eof
"
su - ora9i -c "lsnrctl stop > /dev/null"

return 0
}

status() {
if [ -r /tmp/orastat ]; then
     rm /tmp/orastat ;
fi

sqlplus /nolog <<eof > /tmp/orastat
conn hr/hr
quit
eof

DOWN=`grep -i error /tmp/orastat | grep -v grep | wc -l`

if [ $DOWN -gt 0 ]; then
   echo $ORACLE_SID is stopped;
   return 0
else
   echo $ORACLE_SID is running;
   return 1
fi
}

case "$1" in
start)
       start
       ;;
stop)
       stop
       ;;
status)
       status
       ;;
*)
       echo $"Usage: $0 {start|stop|status}"
       exit 1
esac


--
Linux-cluster mailing list
Linux-cluster redhat com
https://www.redhat.com/mailman/listinfo/linux-cluster



--
Allyson A. Brito
MSN: allysonbrito78 hotmail com
SKYPE: allysonbrito
RHCE / LPI-1 / SCSA
OCP DBA 9i / OCA PL/SQL 9i



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]