Hitachi

高信頼化システム監視機能 HAモニタ kit for Oracle


3.3.4 シングル構成(HAモニタのサーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合)で,OracleインスタンスとOracleリスナーを一つのサーバで監視する場合のシステム構成例

シングル構成(HAモニタのサーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合)で,OracleインスタンスとOracleリスナーを一つのサーバで監視する場合のシステム構成の例を,次に示します。

参考

LANの状態設定ファイル(サーバ識別名.upおよびサーバ識別名.down)については,マニュアル「HAモニタ Linux(R)編」の「LANの状態設定ファイルの設定」の説明を参照して作成してください。構成例では,次のようになります。

  • サーバ識別名.up(定義ファイル:/opt/hitachi/HAmon/etc/orasrv.up)

  • サーバ識別名.down(定義ファイル:/opt/hitachi/HAmon/etc/orasrv.down)

図3‒15 シングル構成(HAモニタのサーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合)で,OracleインスタンスとOracleリスナーを一つのサーバで監視する場合のシステム構成例

[図データ]

注※1 環境設定例中で使用するディレクトリのパスを次に示します。

注※2 サーバの監視コマンドが監視処理を実施する間隔です。

このシステム構成での環境設定例を,次に示します。各パラメタは,実際の環境に合わせて設定してください。

/etc/hostsファイル
192.168.100.1  server1    # alias IP address
Oracleのローカル・ネーミング・パラメータのファイル(定義ファイル:tnsnames.ora)
ORCL1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = server1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = SHARED)
      (SERVICE_NAME = orcl1)
    )
  )
Oracleインスタンス制御用定義ファイル(定義ファイル:/opt/hitachi/HAmon/etc/HAmonOra_etc/instance/orcl1.env)
ORACLE_SID=orcl1
ORACLE_BASE=/home/oracle
ORACLE_HOME=/home/oracle/product/18.0.0/dbhome_1
ORACLE_USER=oracle
PATROL=120
ABORT_LIMIT=180
Oracleリスナー制御用定義ファイル(定義ファイル:/opt/hitachi/HAmon/etc/HAmonOra_etc/listener/LISTENER.env)
LISTENER_NAME=LISTENER
ORACLE_BASE=/home/oracle
ORACLE_HOME=/home/oracle/product/18.0.0/dbhome_1
ORACLE_USER=oracle
PATROL=120
ABORT_LIMIT=180
サーバ対応の環境設定(定義ファイル:/opt/hitachi/HAmon/etc/servers)
/*  サーバ対応の環境設定  */
server  name         /opt/hitachi/HAmon/etc/orasrv/actcommand_orasrv,
   alias           orasrv,
   acttype         monitor,
   initial         online,
   termcommand     /opt/hitachi/HAmon/etc/orasrv/termcommand_orasrv,
   patrolcommand   /opt/hitachi/HAmon/etc/orasrv/patrol_orasrv.sh,
   disk            /dev/vg01,
   fs_name         /dev/vg01/lvol1,
   fs_mount_dir    /ora_mnt,
   lan_updown      use,
   waitserv_exec   yes,
   servexec_retry  0,
   start_timeout   180;

注※ 予備系の場合は,この値を「standby」にしてください。

サーバの起動コマンド
#! /bin/sh
####################################################################
LOGNAME=orasrv
LOGSIZE=1048576
####################################################################
act_proc(){
        RT_CD=0
        # Listener
        haoralsnrbgn LISTENER
 
        # Instance
        haorainsbgn orcl1
 
        return ${RT_CD}
}
####################################################################
 :(省略)
サーバの停止コマンド
#! /bin/sh
####################################################################
LOGNAME=orasrv
LOGSIZE=1048576
####################################################################
term_proc(){
        RT_CD=0
        case "$1" in
        "-e" )                           # normal end
                # Instance
                haorainsend orcl1
                if [ "$?" != "0" ]
                then
                        RT_CD=1
                fi
 
                # Listener
                haoralsnrend LISTENER
                if [ "$?" != "0" ]
                then
                        RT_CD=2
                fi
                ;;
        "-w" )                        # monswap
                # Instance
                haorainsend orcl1
                if [ "$?" != "0" ]
                then
                        RT_CD=1
                fi
 
                # Listener
                haoralsnrend LISTENER
                if [ "$?" != "0" ]
                then
                        RT_CD=2
                fi
                ;;
        "-c" )                        # down
                # Instance
                haorainsend orcl1
 
                # Listener
                haoralsnrend LISTENER
                ;;
        esac
        return ${RT_CD}
}
####################################################################
 :(省略)
サーバの監視コマンド
#! /bin/sh
####################################################################
LOGNAME=orasrv
LOGSIZE=1048576
PATROL_INTERVAL=5
####################################################################
patrol_proc(){
        RT_CD=0
        # Instance
        haorainsptl orcl1
        if [ "$?" != "0" ]
        then
                RT_CD=1
        fi
 
        # Listener
        haoralsnrptl LISTENER
        if [ "$?" != "0" ]
        then
                RT_CD=2
        fi
 
        return 0
}
####################################################################
 :(省略)
サーバの監視コマンド実行シェル
#! /bin/sh
####################################################################
ORACLE_USER=oracle
PATROL_SHELL=/opt/hitachi/HAmon/etc/patrolcommand_orasrv
####################################################################
 :(省略)