Hitachi

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


3.3.1 CDB(シングルテナント)構成で,OracleインスタンスとOracleリスナーを一つのサーバで監視する場合のシステム構成例

CDB(シングルテナント)構成で,OracleインスタンスとOracleリスナーを一つのサーバで監視する場合のシステム構成の例を,次の図に示します。

参考

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

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

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

図3‒12 CDB(シングルテナント)構成で,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
CDB=yes
PDB_NAME=orcl_pdb
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,
        ptrlcmd_ex       /opt/hitachi/HAmon/etc/orasrv/ptrlcmd_ex_orasrv,
        ptrlcmd_ex_inter 5,
        ptrlcmd_ex_retry 2,
        ptrlcmd_ex_tmout 480,
        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_proc(){
        RT_CD=0
        RC=0
 
        # Instance
        haorainsptl orcl1
        RC=$?
        if [ "$RC" != "0" ]
        then
                if [ "$RC" = "125" ]
                then
                        RT_CD=10
                else
                        RT_CD=1
                fi
        fi
 
        # Listener
        haoralsnrptl LISTENER
        RC=$?
        if [ "$RC" != "0" ]
        then
                if [ "$RC" = "125" ]
                then
                        RT_CD=11
                else
                        if [ "$RT_CD" -lt "10" ]
                        then
                                RT_CD=2
                        fi
                fi
        fi
 
        return ${RT_CD}
}
####################################################################
 :(省略)