[Linux-cluster] agent scripts
Allyson - Listas
orcl.listas at gmail.com
Sat Mar 18 14:51:18 UTC 2006
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 at 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 at 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 at cs02 ora9i]# ps -ef |grep pmon | grep -v grep
> [root at cs02 ora9i]#
> [root at cs02 ora9i]#
> [root at cs02 ora9i]# ./ora_clu9i start
> starting ora_clu9i...
> [root at cs02 ora9i]# ps -ef |grep pmon | grep -v grep
> ora9i 7934 1 0 02:06 ? 00:00:00 ora_pmon_clu9i
> [root at cs02 ora9i]# ./ora_clu9i status
> clu9i is running
> [root at cs02 ora9i]# ./ora_clu9i stop
> stopping ora_clu9i...
> [root at cs02 ora9i]# ps -ef |grep pmon | grep -v grep
> [root at 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 at redhat.com
> https://www.redhat.com/mailman/listinfo/linux-cluster
>
--
Allyson A. Brito
MSN: allysonbrito78 at hotmail.com
SKYPE: allysonbrito
RHCE / LPI-1 / SCSA
OCP DBA 9i / OCA PL/SQL 9i
More information about the Linux-cluster
mailing list