在Linux 上配置 HA软件后,该机器上如果只有一个 IQ Server,在切换时,可以使用stop_iq 命令正常停止该服务进程; 
要是有两个或多个 IQ Server,显然使用stop_iq命令是不行的,但可以用dbstop 命令来完成停止IQ Server。

HA启动脚本如下:

#!/bin/bash
IQUSR=sybiq
SYBASE=/sybiq
IQCFG=$SYBASE/sybiqsys/mp2/params.cfg
#IQDB=$SYBASE/sybiqsys/mp2/mp2.db
IQDB=mp2.db
IQUID=DBA
IQPWD=sql
IQDIR15=/sybiq/IQ-15_2
IQPROC=iqsrv15
start_iq()
{
        su - $IQUSR -c "start_iq -STARTDIR /sybiq/sybiqsys/mp2  @$IQCFG -n mp2node_c -x 'tcpip{port=4888}' $IQDB"
        arping -I eth2 -c 1 -s xxxx xxxx
}
stop_iq()
{
        for((i=0;i<5;i++)); do
                pidof $IQPROC || return 0
                if [ -x "$IQDIR15/bin64/stop_iq" ] ; then
                        su - $IQUSR -c "stop_iq -stop all"
                        [ $? -eq 0 ] && return 0
                else
                        return 0
                fi
                sleep 10
        done
}
status_iq()
{
        su - $IQUSR -c "dbinfo -c \"uid=$IQUID;pwd=$IQPWD\""
}
case $1 in
        start)
                start_iq
                ;;
        stop)
                stop_iq
                ;;
        status)
                status_iq
                ;;
        *)

    需要把 su - $IQUSR -c "stop_iq -stop all" 这段代码,修改为 dbstop -c "uid=dba;pwd=sql;eng=Servername;unc=yes" 。
 


09-07 17:16