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

解説・手引・操作書

3000-9-135-30

前書き

対象製品

P-F852C-E1111 HAモニタ kit for Oracle 01-04　（適用OS：Red Hat(R) Enterprise Linux(R) server 6(x86)，Red Hat(R) Enterprise Linux(R) server 6(x86_64)，Red Hat(R) Enterprise Linux(R) server 7(x86_64)，Red Hat(R) Enterprise Linux(R) server 8(x86_64)

これらのプログラムプロダクトのほかにもこのマニュアルをご利用になれる場合があります。詳細は「リリースノート」でご確認ください。

輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。

なお、不明な場合は、弊社担当営業にお問い合わせください。

商標類

HITACHI，HAモニタは，株式会社 日立製作所の商標または登録商標です。

AMDは，Advanced Micro Devices, Inc.の商標です。

Intelは，アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。

Linuxは，Linus Torvalds氏の日本およびその他の国における登録商標または商標です。

OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。

Red Hat is a registered trademark of Red Hat, Inc. in the United States and other countries.

Red Hatは，米国およびその他の国におけるRed Hat, Inc.の登録商標です。

Red Hat Enterprise Linux is a registered trademark of Red Hat, Inc. in the United States and other countries.

Red Hat Enterprise Linuxは，米国およびその他の国におけるRed Hat, Inc.の登録商標です。

UNIXは，The Open Groupの商標です。

その他記載の会社名，製品名などは，それぞれの会社の商標もしくは登録商標です。

発行

2020年 10月　3000-9-135-30

著作権

All Rights Reserved. Copyright (C) 2011, 2020, Hitachi, Ltd.

変更内容

変更内容（3000-9-135-30）HAモニタ kit for Oracle 01-04

追加・変更内容

変更個所

各パラメタは，実際の環境に合わせて設定することを記載した。

3.2.7(2)，3.3.1，3.3.2，3.3.3

Oracle Database 19cをサポートした。

-

単なる誤字・脱字などはお断りなく訂正しました。

はじめに

このマニュアルは，HAモニタ kit for Oracleの機能，設定方法，および運用方法について説明したものです。このマニュアルを読むことで，HAモニタのユーザが，HAモニタ kit for Oracleを使用したシステム構成を設計・構築・運用し，Oracleを使用したシステムを監視できるようになることを目的としています。

対象読者

システム管理者，およびオペレータの方を対象としています。システム管理者は，システムの導入，設計，構築をすることを想定しています。オペレータは，構築されたシステムで日々の運用をすることを想定しています。

また，次の知識をお持ちの方を前提としています。

ハードウェアの知識

OSの知識

HAモニタの知識

Oracleの知識

図中で使用している記号

このマニュアルの図中で使用している記号を，次のように定義します。

1　HAモニタ kitの概要

この章では，HAモニタ kitの目的，HAモニタ kitを適用できる構成，HAモニタ kitの動作環境，およびHAモニタとの関係について説明します。なお，このマニュアルでは，「HAモニタ kit for Oracle」を，「HAモニタ kit」と表記します。

1.1　HAモニタ kitの目的

HAモニタ kitは，HAモニタを使用した系切り替えシステムで，Oracleを容易に監視できるようにするためのHAモニタのオプション製品です。

従来のHAモニタを使用した系切り替えシステムでOracleを監視する場合は，ユーザがOracleの構造を意識してクラスタ環境にする方法を調査・検討し，クラスタ環境を構築する必要がありました。この場合，ユーザがOracle監視用のシェルを作成する必要があるため，実現方法の調査・検討の手間やコストが発生し，かつシェルに不良を作り込むリスクが発生していました。

HAモニタ kitには，これらの問題を解決する次の特長があります。

Oracleをクラスタ環境で使用するための知識がなくても簡単に設定できる。

Oracleをクラスタ環境で使用するための知識がなくても，このマニュアルに記載されている手順に従って設定すれば，Oracleを監視できるようになります。また，ユーザがOracleの構造を意識する必要がなくなるため，調査・検討の手間やコストを削減できます。

ユーザがシェルを作成しなくても，Oracleのクラスタ環境を構築できる。

HAモニタ kitがOracleを起動・停止・監視するためのシェルを提供しているため，ユーザが独自にシェルを作成する必要がなくなります。これによって，シェルを作成する手間やコストを削減でき，かつシェルに不良を作り込むリスクを回避できます。

従来のシステムとHAモニタ kitを導入したシステムの比較を，次の図に示します。

図1‒1　従来のシステムとHAモニタ kitを導入したシステムの比較

1.2　HAモニタ kitを適用できる構成

HAモニタでは，システムの障害に備えて二つのシステムを用意し，一つで業務処理を実行させ，もう一つを待機させておきます。用意したこれらのシステムを系といいます。また，システム（系）で業務を実行するプログラムのことをサーバといいます。HAモニタは，このサーバ単位で系切り替えをします。

ここでは，HAモニタ kitを適用するに当たって，Oracleのシステム構成，Oracleの構成，および系切り替え構成について説明します。

1.2.1　Oracleのシステム構成

HAモニタ kitを適用して系切り替え構成にできる構成とできない構成を，次に示します。

HAモニタ kitを適用できる構成

Non-CDB（シングル）構成およびCDB（シングルテナント）構成のOracleと，災害からデータベースを保護できるディザスタリカバリ構成のプライマリ・データベースに，HAモニタ kitは適用できます。それぞれの構成の例を以降の図に示します。

図1‒2　HAモニタ kitを適用できる構成（Non-CDB（シングル）構成のOracle）

図1‒3　HAモニタ kitを適用できる構成（CDB（シングルテナント）構成のOracle）

図1‒4　HAモニタ kitを適用できる構成（ディザスタリカバリ構成のプライマリ・データベース）

HAモニタ kitを適用できない構成

Oracle RACを使用したRAC構成およびCDB（マルチテナント）構成には，HAモニタ kitを適用できません。それぞれの構成の例を次に示します。

図1‒5　HAモニタ kitを適用できない構成（RAC構成）

図1‒6　HAモニタ kitを適用できない構成（CDB（マルチテナント）構成）

1.2.2　Oracleの構成

HAモニタ kitを適用したシステムでは，OracleインスタンスとOracleリスナーを系切り替えの対象とし，系切り替えの単位であるサーバとして扱います。Oracleインスタンスは，クライアントが業務を続行するために必要な要素としてデータベースに関連づけられる，共用メモリとプロセスの組み合わせです。Oracleリスナーは，クライアントの要求をOracleインスタンスに中継する要素です。Oracleインスタンスとそのインスタンスの管理をするOracleリスナーは，同一の系で稼働している必要があります。

Oracleの構成を次の図に示します。

図1‒7　Oracleの構成

HAモニタ kitでは，OracleインスタンスとOracleリスナーを個別のサーバとして管理したり，複数個をまとめて一つのサーバとして管理したりすることもできます。詳細については，「3.1.1　Oracleの構成と系切り替え単位の検討」を参照してください。

1.2.3　系切り替え構成

HAモニタ kitは，HAモニタで対応している系切り替え構成で使用できます。ご使用のHAモニタのバージョンに応じて，使用できる系切り替え構成を確認してください。HAモニタの系切り替え構成については，マニュアル「HAモニタ Linux(R)編」の「系切り替え構成」の説明を参照してください。

なお，HAモニタの系切り替え構成では，サーバの運用方法にはサーバモードとモニタモードがあります。HAモニタ kitを適用する構成では，サーバ（Oracle）はモニタモードのサーバとして運用されます。

1.3　HAモニタ kitの動作環境

HAモニタ kitを使用したシステムを動作させるために必要なハードウェア，およびソフトウェアについて説明します。HAモニタを使用した一般的なシステムと共通の内容については，マニュアル「HAモニタ Linux(R)編」の「HAモニタの動作環境」の説明を参照してください。

1.3.1　必要なハードウェア

HAモニタ kitを使用したシステムを動作させるために必要なハードウェア構成は，HAモニタに依存します。詳細については，マニュアル「HAモニタ Linux(R)編」の「必要なハードウェア」の説明を参照してください。

ここでは，HAモニタ kitを使用する上で留意する必要があるハードウェアの構成要素について説明します。

(1)　共有ディスク

共有ディスクは，サーバが実行系と待機系とで共有するデータを格納するために使用します。Oracleでは，データベースを構成するための次のファイルを格納します。

サーバー・パラメータファイル

制御ファイル

データファイル

REDOログファイル

アーカイブログファイル

また，フラッシュリカバリ領域には，共有ディスク上のパスを指定してください。

Oracleを共有ディスクにインストールすると，ソフトウェアを実行系と待機系とで共有することもできます。また，Oracleはローカルディスクにインストールしてもかまいません。

(2)　ローカルディスク

系間で共有しない，系固有のディスク装置として使用します。OracleやHAモニタ kitをインストールします。Oracleは共有ディスクにインストールしてもかまいません。

Oracleのインストールについては，「3.2.4　Oracleのインストール」を参照してください。

(3)　LAN

クライアントからデータベースに接続するために使用します。

1.3.2　必要なソフトウェア

ここでは，HAモニタ kitを使用する上で留意する必要があるソフトウェアの構成と，注意事項について説明します。

(1)　ソフトウェア構成

ソフトウェア構成を次の図に示します。

図1‒8　ソフトウェア構成

(a)　カーネル

Linux(x86)

システムの基盤となるオペレーティングシステムです。

(b)　系切り替え制御

HAモニタ

系切り替えを制御します。

HAモニタ kit

HAモニタを前提として動作する，HAモニタのオプション製品です。

(c)　プログラム

Oracle

リレーショナルデータベース管理システムです。HAモニタを使用したシステムでは，モニタモードのサーバとして管理されます。

(2)　ソフトウェアに関する注意事項

ソフトウェアに関する注意事項を次に示します。

ファイルシステムにASM（自動ストレージ管理）を使用する場合は，HAモニタ kitを使用したクラスタ環境は構築できません。

次のオプション製品，および機能は使用できません。

Oracle Clusterware

Oracle Data Guard Broker

Oracle RAC

Oracle Restart

1.4　HAモニタとの関係

HAモニタ kitは，HAモニタのオプション製品です。このマニュアルでは，HAモニタ kitに特化した内容だけを記載しています。このため，マニュアル「HAモニタ Linux(R)編」を参照し，HAモニタ kit固有の部分についてだけこのマニュアルを参照するようにしてください。

また，メッセージについては，HAモニタ kit固有のメッセージはこのマニュアルを，HAモニタ固有のメッセージはマニュアル「HAモニタ メッセージ」を参照してください。

このマニュアルとHAモニタシリーズのマニュアルの対応を，次の図に示します。

図1‒9　このマニュアルとHAモニタシリーズのマニュアルの対応

2　システムの管理

この章では，HAモニタ kitを使用したシステムで，HAモニタがサーバをどのように管理しているかについて説明します。HAモニタ kitを使用したシステムの動作の詳細についても説明しています。

なお，系や共有リソースの管理については，マニュアル「HAモニタ Linux(R)編」の「システムの管理」の説明を参照してください。

2.1　サーバの管理

HAモニタ kitを使用することで，HAモニタは稼働中のサーバ（OracleインスタンスまたはOracleリスナー）を監視し，Oracleの障害を検出できます。ここでは，障害検出の仕組みや検出できる障害の種類について説明します。

2.1.1　障害検出の仕組み

HAモニタ kitを使用したシステムでは，サーバの監視コマンドで実行サーバ（OracleインスタンスまたはOracleリスナー）を監視します。

(1)　サーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合

指定された実行間隔（サーバ対応の環境設定のptrlcmd_ex_interオペランドの指定値）ごとにサーバの監視コマンドを実行し，サーバの監視コマンドの終了結果（EXITコード）をHAモニタが判定します。

HAモニタは，サーバの監視コマンドの終了結果（EXITコード）に応じた動作をします。詳細は，マニュアル「HAモニタLinux(R)編」を参照してください。また，サーバ対応の環境設定のptrlcmd_ex_tmoutオペランドが指定されている場合，サーバの監視コマンド実行時，指定したタイムアウト時間内にコマンドが終了しないと，スローダウンとして検知します。この場合は，サーバ障害が発生したと判断します。障害を検出すると，設定に従って，HA モニタが系切り替え，または再起動をして業務を続行します。

サーバの監視コマンドによる障害検出の流れ（サーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合）を，次の図に示します。

図2‒1　サーバの監視コマンドによる障害検出の流れ（サーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合）

(2)　サーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンドを指定する場合

サーバの監視コマンドのプロセスをHAモニタが監視して障害を検出します。障害を検出すると，設定に従って，HAモニタが系切り替え，または再起動をして業務を続行します。サーバの監視コマンドによる障害検出の流れ（サーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンドを指定する場合）を，次の図に示します。

図2‒2　サーバの監視コマンドによる障害検出の流れ（サーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンドを指定する場合）

HAモニタ kitが提供するサーバの監視コマンドでは，Oracleインスタンスの場合，状態やスローダウン，プロセスの生存を監視します。Oracleリスナーの場合は，スローダウンやプロセスの生存を監視します。監視方法は，それぞれの制御用定義ファイルに設定します。制御用定義ファイルの設定については，「3.2.7(2)　制御用定義ファイルの設定」を参照してください。

2.1.2　検出できる障害の種類

ここでは，HAモニタ kitを使用したシステムで検出できる障害の種類について説明します。

(1)　HAモニタ kitが検出する障害

HAモニタ kitは，次の表に示すOracleの障害を検出できます。

表2‒1　HAモニタ kitが検出する障害

検出する障害

説明

Oracleインスタンスの障害

次の状態をOracleインスタンスの障害として検出します。

Oracleインスタンスのプロセスが存在しない

SQLによるデータベースへの問い合わせ異常

Oracleインスタンスのスローダウン

SQLによる問い合わせ応答が一定時間ない状態を，Oracleインスタンスのスローダウンとして検出します※。

Oracleリスナーの障害

Oracleリスナーのプロセスが存在しない状態を，Oracleリスナーの障害として検出します。

Oracleリスナーのスローダウン

Oracleリスナーのプロセスが一定時間応答しない状態を，Oracleリスナーのスローダウンとして検出します※。

注※　HAモニタ kitが問い合わせを開始してからの時間で検出します。

(2)　HAモニタが検出する障害

次の表に示すOracleの障害は，HAモニタ kitではなくHAモニタが検出します。

表2‒2　HAモニタが検出する障害

検出する障害

説明

ネットワーク障害

HAモニタのLANの監視機能を用いて検出します。LANの監視機能については，マニュアル「HAモニタ Linux(R)編」の「LANの監視および障害時の自動系切り替え」の説明を参照してください。

系障害

HAモニタがaliveメッセージの途絶によって検出します。系障害の検出については，マニュアル「HAモニタ Linux(R)編」の「系障害の検出」を参照してください。

2.2　処理の流れ

ここでは，HAモニタおよびHAモニタ kitがする処理の流れについて，すべての共有リソースを含めて説明します。

この節で説明する処理の流れでは，HAモニタおよびHAモニタ kitが出力するメッセージID，ならびに発行するイベントIDを記載しているため，どのタイミングでメッセージIDやイベントが発行されるかを調べるときにお読みください。また，ユーザコマンドを実行するタイミング，およびユーザコマンドに渡される引数も記載しています。ユーザコマンド作成時の参考にしてください。

系切り替え構成での運用の流れと，処理の流れで説明する内容との対応を次の図に示します。

図2‒3　系切り替え構成での運用の流れと，処理の流れで説明する内容との対応

注※　サーバの起動に失敗した場合の処理の流れについては，「2.2.2　サーバの起動失敗処理の流れ」を参照してください。

サーバの起動・停止・監視方法については，「5.2　Oracleインスタンス・Oracleリスナーの起動・停止・監視」を参照してください。

2.2.1　サーバの起動処理の流れ

サーバ（OracleインスタンスまたはOracleリスナー）の起動時に，HAモニタおよびHAモニタ kitがする処理の流れについて説明します。なお，この項で示す図は，一つのサーバにOracleインスタンスまたはOracleリスナーだけを対応させた場合の例です。

(1)　Oracleインスタンスの起動処理の流れ

Oracleインスタンスの起動時にHAモニタおよびHAモニタ kitがする処理の流れを次の図に示します。

図2‒4　Oracleインスタンスの起動処理の流れ

注※1　サーバのリソースに，クライアント接続用のIPアドレスを含める場合に実施します。サーバに必要なリソースについては，「3.1.2　リソース構成の検討」および「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

注※2　HAモニタが，サーバの起動コマンドを実行します。

注※3　一つのサーバで複数のOracleインスタンスを制御する場合，この部分の処理の流れを，制御するOracleインスタンスの数だけ繰り返します。

注※4　CDB（シングルテナント）構成の場合，モニタモードのサーバ起動コマンド（monbeginコマンド）でインスタンスを起動すると，PDBの自動起動の設定に関係なく，PDBも自動で起動します。

(2)　Oracleリスナーの起動処理の流れ

Oracleリスナーの起動時にHAモニタおよびHAモニタ kitがする処理の流れを次の図に示します。

図2‒5　Oracleリスナーの起動処理の流れ

注※1　サーバのリソースに，クライアント接続用のIPアドレスを含める場合に実施します。サーバに必要なリソースについては，「3.1.2　リソース構成の検討」および「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

注※2　HAモニタが，サーバの起動コマンドを実行します。

注※3　一つのサーバで複数のOracleリスナーを制御する場合，この部分の処理の流れを，制御するOracleリスナーの数だけ繰り返します。

2.2.2　サーバの起動失敗処理の流れ

サーバ（OracleインスタンスまたはOracleリスナー）の起動失敗時に，HAモニタおよびHAモニタ kitがする処理の流れについて説明します。なお，この項で示す図は，一つのサーバにOracleインスタンスまたはOracleリスナーだけを対応させた場合の例です。

(1)　Oracleインスタンスの起動失敗処理の流れ

Oracleインスタンスの起動失敗時にHAモニタおよびHAモニタ kitがする処理の流れを次の図に示します。

図2‒6　Oracleインスタンスの起動失敗処理の流れ

注※1　サーバのリソースに，クライアント接続用のIPアドレスを含める場合に実施します。サーバに必要なリソースについては，「3.1.2　リソース構成の検討」および「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

注※2　HAモニタが，サーバの起動コマンドを実行します。

注※3　CDB（シングルテナント）構成の場合，モニタモードのサーバ起動コマンド（monbeginコマンド）でインスタンスを起動すると，PDBの自動起動の設定に関係なく，PDBも自動で起動します。

(2)　Oracleインスタンスの起動タイムアウト時の処理の流れ

Oracleインスタンスが起動時にタイムアウトした場合にHAモニタおよびHAモニタ kitがする処理の流れを次の図に示します。

図2‒7　Oracleインスタンスの起動タイムアウト時の処理の流れ

注※1　サーバのリソースに，クライアント接続用のIPアドレスを含める場合に実施します。サーバに必要なリソースについては，「3.1.2　リソース構成の検討」および「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

注※2　HAモニタが，サーバの起動コマンドを実行します。

注※3　HAモニタが，サーバの停止コマンドを実行します。ただし，HAモニタの環境設定のtermcmd_at_abortオペランドにuseを指定したときに行います。

注※4　一つのサーバで複数のOracleインスタンスを制御する場合，この部分の処理の流れを，制御するOracleインスタンスの数だけ繰り返します。

注※5　CDB（シングルテナント）構成の場合，モニタモードのサーバ起動コマンド（monbeginコマンド）でインスタンスを起動すると，PDBの自動起動の設定に関係なく，PDBも自動で起動します。

(3)　Oracleリスナーの起動失敗処理の流れ

Oracleリスナーの起動失敗時にHAモニタおよびHAモニタ kitがする処理の流れを次の図に示します。

図2‒8　Oracleリスナーの起動失敗処理の流れ

注※1　サーバのリソースに，クライアント接続用のIPアドレスを含める場合に実施します。サーバに必要なリソースについては，「3.1.2　リソース構成の検討」および「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

注※2　HAモニタが，サーバの起動コマンドを実行します。

(4)　Oracleリスナーの起動タイムアウト時の処理の流れ

Oracleリスナーが起動時にタイムアウトした場合にHAモニタおよびHAモニタ kitがする処理の流れを次の図に示します。

図2‒9　Oracleリスナーの起動タイムアウト時の処理の流れ

注※1　サーバのリソースに，クライアント接続用のIPアドレスを含める場合に実施します。サーバに必要なリソースについては，「3.1.2　リソース構成の検討」および「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

注※2　HAモニタが，サーバの起動コマンドを実行します。

注※3　HAモニタが，サーバの停止コマンドを実行します。ただし，HAモニタの環境設定のtermcmd_at_abortオペランドにuseを指定したときに行います。

注※4　一つのサーバで複数のOracleリスナーを制御する場合，この部分の処理の流れを，制御するOracleリスナーの数だけ繰り返します。

2.2.3　サーバの停止処理の流れ

サーバ（OracleインスタンスまたはOracleリスナー）の停止時に，HAモニタおよびHAモニタ kitがする処理の流れについて説明します。なお，この項で示す図は，一つのサーバにOracleインスタンスまたはOracleリスナーだけを対応させた場合の例です。

(1)　Oracleインスタンスの停止処理の流れ

Oracleインスタンスの停止時にHAモニタおよびHAモニタ kitがする処理の流れを次の図に示します。

図2‒10　Oracleインスタンスの停止処理の流れ

注※1　HAモニタが，サーバの停止コマンドを実行します。

注※2　一つのサーバで複数のOracleインスタンスを制御する場合，この部分の処理の流れを，制御するOracleインスタンスの数だけ繰り返します。

注※3　HAモニタは，サーバの停止コマンドの完了を待ちます。

注※4　サーバのリソースに，クライアント接続用のIPアドレスを含める場合に実施します。サーバに必要なリソースについては，「3.1.2　リソース構成の検討」および「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

(2)　Oracleリスナーの停止処理の流れ

Oracleリスナーの停止時にHAモニタおよびHAモニタ kitがする処理の流れを次の図に示します。

図2‒11　Oracleリスナーの停止処理の流れ

注※1　HAモニタが，サーバの停止コマンドを実行します。

注※2　一つのサーバで複数のOracleリスナーを制御する場合，この部分の処理の流れを，制御するOracleリスナーの数だけ繰り返します。

注※3　HAモニタは，サーバの停止コマンドの完了を待ちます。

注※4　サーバのリソースに，クライアント接続用のIPアドレスを含める場合に実施します。サーバに必要なリソースについては，「3.1.2　リソース構成の検討」および「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

2.2.4　サーバの監視処理の流れ

サーバ（OracleインスタンスまたはOracleリスナー）の監視時に，HAモニタおよびHAモニタ kitがする処理の流れについて説明します。なお，この項で示す図は，一つのサーバにOracleインスタンスまたはOracleリスナーだけを対応させた場合の例です。

(1)　Oracleインスタンスの監視処理の流れ

Oracleインスタンスの監視時にHAモニタおよびHAモニタ kitがする処理の流れを次の図に示します。

図2‒12　Oracleインスタンスの監視処理の流れ

注※1　HAモニタが，サーバの監視コマンドを実行します。

サーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合

実行サーバの起動完了時に，サーバの監視コマンドを起動します。

サーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合

実行サーバの起動完了後，サーバ対応の環境設定のptrlcmd_ex_interオペランドに指定した監視間隔ごとに，サーバの監視コマンドを起動します。

注※2　次の監視間隔で，この部分の処理を繰り返します。

サーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合

サーバの監視コマンドのPATROL_INTERVAL環境変数に指定した監視間隔

サーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合

サーバ対応の環境設定のptrlcmd_ex_interオペランドに指定した監視間隔

注※3　HAモニタ kitは，SQLによる問い合わせ応答（データベースへのアクセス，およびI/O確認）を行います。応答が一定時間ない場合は，スローダウンと見なします。なお，スローダウンと見なすまでの時間は，Oracleインスタンス制御用定義ファイルのPATROLに指定します。

注※4　HAモニタ kitは，Oracleインスタンスの次のプロセスが存在するかどうかを確認します。

CKPT，DBW0，LGWR，PMON，SMON

注※5　一つのサーバで複数のOracleインスタンスを制御する場合，この部分の処理の流れを，制御するOracleインスタンスの数だけ繰り返します。

(2)　Oracleリスナーの監視処理の流れ

Oracleリスナーの監視時にHAモニタおよびHAモニタ kitがする処理の流れを次の図に示します。

図2‒13　Oracleリスナーの監視処理の流れ

注※1　HAモニタが，サーバの監視コマンドを実行します。

注※2　サーバの監視コマンドのPATROL_INTERVAL環境変数に指定した監視間隔で，この部分の処理を繰り返します。

注※3　HAモニタ kitは，リスナー制御ユティリティのコマンドを実行し，問い合わせ応答を行います。応答が一定時間ない場合は，スローダウンと見なします。なお，スローダウンと見なすまでの時間は，Oracleリスナー制御用定義ファイルのPATROLに指定します。

注※4　HAモニタ kitは，OracleリスナーのTNSLSNRプロセスが存在するかどうかを確認します。

注※5　一つのサーバで複数のOracleリスナーを制御する場合，この部分の処理の流れを，制御するOracleリスナーの数だけ繰り返します。

2.2.5　サーバ障害時の系切り替え処理の流れ

サーバ（OracleインスタンスまたはOracleリスナー）の障害が発生した場合に，HAモニタおよびHAモニタ kitがする処理の流れについて説明します。なお，この項で示す図は，一つのサーバにOracleインスタンスまたはOracleリスナーだけを対応させた場合の例です。

(1)　Oracleインスタンス障害時の系切り替え処理の流れ

Oracleインスタンス障害時にHAモニタおよびHAモニタ kitがする系切り替え処理の流れを次の図に示します。

図2‒14　Oracleインスタンス障害時の系切り替え処理の流れ

注※1　HAモニタが，サーバの停止コマンドを実行します。

注※2　一つのサーバで複数のOracleインスタンスを制御する場合，この部分の処理の流れを，制御するOracleインスタンスの数だけ繰り返します。

注※3　サーバのリソースに，クライアント接続用のIPアドレスを含める場合に実施します。サーバに必要なリソースについては，「3.1.2　リソース構成の検討」および「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

注※4　HAモニタが，サーバの起動コマンドを実行します。

(2)　Oracleリスナー障害時の系切り替え処理の流れ

Oracleリスナー障害時にHAモニタおよびHAモニタ kitがする系切り替え処理の流れを次の図に示します。

図2‒15　Oracleリスナー障害時の系切り替え処理の流れ

注※1　HAモニタが，サーバの停止コマンドを実行します。

注※2　一つのサーバで複数のOracleリスナーを制御する場合，この部分の処理の流れを，制御するOracleリスナーの数だけ繰り返します。

注※3　サーバのリソースに，クライアント接続用のIPアドレスを含める場合に実施します。サーバに必要なリソースについては，「3.1.2　リソース構成の検討」および「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

注※4　HAモニタが，サーバの起動コマンドを実行します。

3　システムの設計と構築

この章では，システムの設計と構築，および環境設定例について説明します。

システムの設計では，HAモニタ kitを業務システムに導入するに当たり，検討することについて説明します。

システムの構築では，HAモニタ kitを組み込んだシステムの構築手順，HAモニタ kitのディレクトリ構成，および構築に必要な設定項目の対応と設定の概要について説明します。

3.1　システムの設計

HAモニタ kitを使用した系切り替え構成を構築する前に，HAモニタのシステムの設計が必要です。HAモニタ kitを使用しないHAモニタのシステムと共通の部分については，マニュアル「HAモニタ Linux(R)編」の「HAモニタの導入とシステムの設計」の説明を参照してください。

ここでは，Oracleをモニタモードのサーバとして管理するために必要な検討事項について説明します。

3.1.1　Oracleの構成と系切り替え単位の検討

HAモニタは，サーバ単位で系切り替えをします。HAモニタ kitの制御対象となるOracleインスタンスおよびOracleリスナーを，系切り替えの単位であるサーバとどのように対応させるかを検討する必要があります。検討時は，次のことを考慮してください。

サーバは，運用および系切り替えをする単位で一つずつ設定してください。

複数のOracleインスタンスおよびOracleリスナーをまとめて運用・系切り替えしたい場合は，一つのサーバにまとめることもできます。

複数のOracleインスタンスおよびOracleリスナーを，まとめて運用・系切り替えしたい場合で，かつ次に示す場合は，複数のサーバを設定し，それらのサーバをグループ化してください。

起動・停止などの運用を個別に実施したい（一括で起動・停止しない）場合

運用する単位でサーバを分け，グループ化します。

Oracleユーザを分けたい場合

同じOracleユーザごとにサーバを分け，グループ化します。

監視対象となるOracleインスタンスおよびOracleリスナーそれぞれで，監視間隔に異なる値を設定したい場合

監視間隔が異なるごとにサーバを分け，グループ化します。

OracleインスタンスやOracleリスナーごとに障害検知時の動作を分けるなど，HAモニタのサーバ対応の環境設定を分けたい場合

サーバ対応の環境設定単位でサーバを分け，グループ化します。

次に，代表的な系切り替え構成の例を示します。

図3‒1　代表的な系切り替え構成の例

この例の現用系の場合の，Oracleインスタンス・Oracleリスナーとサーバの対応の例を，以降に示します。

図3‒2　一つのサーバに複数のOracleインスタンス・Oracleリスナーを対応させる例

図3‒3　Oracleインスタンス・Oracleリスナーごとにサーバを対応させ，かつグループ化する例

3.1.2　リソース構成の検討

ここでは，リソースに関する検討事項について説明します。

(1)　リソースとサーバとの対応

Oracleの系切り替え構成で，HAモニタが切り替える必要があるリソースと，サーバとの対応について次に示します。

共有ディスク

共有ディスクは，共有ディスクを使用するOracleインスタンスおよびOracleリスナーに対応する，サーバに定義します。

クライアント接続用のIPアドレス（エイリアスIPアドレス）

クライアントがデータベースに接続するためのエイリアスIPアドレスは，Oracleリスナーに対応するサーバの，LANの状態設定ファイルに定義します。Oracleリスナーを使用しない場合は，クライアントが接続するOracleインスタンスに対応するサーバの，LANの状態設定ファイルに定義します。

HAモニタで制御できるリソースについては，マニュアル「HAモニタ Linux(R)編」の「リソース構成の検討」の説明を参照してください。

(2)　リソースサーバの検討

複数のサーバで一つのリソースを共有する構成では，リソースサーバの使用を検討します。

リソースサーバについては，マニュアル「HAモニタ Linux(R)編」の「リソースサーバを使用する場合の構成」の説明を参照してください。

3.2　システムの構築

ここでは，システムの構築について説明します。システムの構築は，スーパユーザの権限で行ってください。系を追加する場合の手順など，HAモニタ kitを使用しないHAモニタのシステムと共通の部分については，マニュアル「HAモニタ Linux(R)編」の「システムの構築」の説明を参照してください。

なお，ここでは，システム構築の前提となるハードウェアはすでに構成されているものとして説明します。

3.2.1　構築の流れ

ここでは，HAモニタ kitを使用して，OracleをHAモニタのサーバとして設定する場合の構築の流れについて説明します。マニュアル「HAモニタ Linux(R)編」の「構築の流れ」の説明中の，「サーバを追加する場合の設定」を，ここに記載されている構築の流れに置き換えて読んでください。

ここで説明する作業は，マニュアル「HAモニタ Linux(R)編」の「構築の流れ」の説明の，「系を追加する場合」の設定が完了したあとに，システム管理者がスーパユーザの権限で実施します。

システムの構築の流れを，次の図に示します。

図3‒4　システム構築の流れ

システム構築の目的と，システム構築の流れで必要な手順との対応について説明します。

初めてHAモニタとHAモニタ kitを導入してシステムを構築する場合

このマニュアルとマニュアル「HAモニタ Linux(R)編」を併読し，図中に示すすべての項目を確認・設定します。

系を追加する場合

構築済みの系切り替え構成に系を追加する場合，マニュアル「HAモニタ Linux(R)編」の「構築の流れ」の説明を参照してください。HAモニタは，各系に一つ必要です。

サーバを追加する場合

構築済みの系切り替え構成にサーバを追加する場合，この図中に示す「サーバを追加する場合の設定」をします。

構築済みのシステムで系やサーバを追加する手順については，マニュアル「HAモニタ Linux(R)編」の「系を追加する」または「サーバを追加する」の説明を参照してください。

また，各手順の注意事項について説明します。

「Oracleのインストール」は，HAモニタが制御するOracleがインストールされていない場合にだけ実施します。

「Oracleのセットアップ・データベースの構築」は，HAモニタが制御するOracleインスタンスおよびOracleリスナーの数だけ実施します。

「HAモニタ kitのインストール」は，初めてHAモニタ kitを導入する場合に，系切り替え構成内の各系で実施します。

3.2.2　ディレクトリ構成

HAモニタ kitをインストールすると，/opt/hitachiの下にHAモニタ kitのディレクトリHAmonOraが作成されます。また，HAモニタをインストールした際に作成される/opt/hitachi/HAmon/etcの下に，HAモニタ kitのディレクトリHAmonOra_etcが作成されます。

HAモニタ kitをインストールしたあとのディレクトリ構成を，次の図に示します。

図3‒5　ディレクトリ構成

注意事項

コマンドファイル用ディレクトリ（/opt/hitachi/HAmonOra/bin）にあるファイルは編集しないでください。運用上，編集する必要がある場合は，該当するファイルをコマンドファイル編集用ディレクトリ（/opt/hitachi/HAmonOra/bin_ex）にコピーしてから，コマンドファイル編集用ディレクトリのファイルを編集してください。詳細は，「3.2.8　HAモニタ kitコマンドの編集」を参照してください。

上記の図に示すディレクトリ，およびインストール時にそれらのディレクトリ上に作成されるファイルのアクセス権を変更しないでください。

3.2.3　構築に必要な設定項目の対応と設定の概要

ここでは，HAモニタ kitを使用したシステムを設定するに当たり，理解しておきたい設定項目の対応と設定の概要について説明します。システム内の設定の関連を，次の図に示します。

図3‒6　構築に必要な設定項目の対応と設定の概要

次に，図に示した設定の対応について説明します。番号は，図中の番号と対応しています。

サーバの起動・停止・監視コマンド，およびサーバの監視コマンド実行シェルのサンプルを，サーバの数だけコピーして設定します。

詳細については，「3.2.7(1)　サーバの起動・停止・監視コマンドの設定」を参照してください。

Oracleインスタンス制御用定義ファイルのサンプルを，Oracleインスタンスの数だけコピーして設定します。

詳細については，「3.2.7(2)　制御用定義ファイルの設定」を参照してください。

Oracleリスナー制御用定義ファイルのサンプルを，Oracleリスナーの数だけコピーして設定します。

詳細については，「3.2.7(2)　制御用定義ファイルの設定」を参照してください。

サーバ対応の環境設定（servers）に，「3.1.1　Oracleの構成と系切り替え単位の検討」で検討したサーバの数だけ，サーバの定義をします。

定義ファイルの作成については，「3.2.9　定義ファイルの作成（サーバ）」を参照してください。

LANの状態設定ファイルは，クライアント接続用のIPアドレスを使用するサーバの分だけ作成します。

クライアント接続用のIPアドレスを使用するサーバは，「3.1.2　リソース構成の検討」を参照して決定してください。また，設定方法については，「3.2.6　Oracleが使用する共有リソースの設定」を参照してください。

3.2.4　Oracleのインストール

Oracleのインストール手順については，Oracleのマニュアルを参照してください。ここでは，Oracleのインストール時の注意事項について説明します。

Oracleをローカルディスクにインストールする場合は，現用系と予備系で，次の設定値を同一にしてください。

Oracleユーザのユーザ名（通常はoracle）とユーザID，グループ名とグループID

Oracleホームディレクトリ

Oracleを共有ディスクにインストールする場合は，インストールに使用しなかった系で，インストールに使用した系と次の設定値を同一にしてください。

Oracleユーザのユーザ名（通常はoracle）とユーザID，グループ名とグループID

カーネルパラメタなどのOSの設定

インストールの実行中にデータベースを作成する場合は，事前に「3.2.5(1)　データベースの構築」を参照してください。

Oracle Enterprise Manager Database Controlを系切り替え環境（クラスタ環境）で使用する場合は，注意事項があります。詳細については，Oracleのマニュアルを参照してください。

Oracleユーザのデータベースへの接続の認証方式は，OS認証である必要があります。OS認証の詳細については，Oracleのマニュアルを参照してください。

Oracleユーザには，sysdba権限が必要です。Oracleユーザに，sysdba権限を付与してください。

3.2.5　Oracleのセットアップ・データベースの構築

Oracleのインストールが完了したら，Oracleのセットアップ・データベースの構築を実施します。Oracleのセットアップ・データベースの構築手順については，Oracleのマニュアルを参照してください。

ここでは，データベースの構築時，およびOracleリスナーの構築時の注意事項について説明します。

(1)　データベースの構築

ここでは，系切り替え構成に対応したデータベースを構築するために必要な設定について説明します。データベースの構築時には，次の項目を参照して設定してください。

データベースの構築は，Oracleインスタンスを稼働させる系のどれか一つから実施してください。

データベースは，HAモニタが制御できるファイルシステムに作成してください。

データベースを構成する次のファイルは，共有ディスク上に格納してください。

サーバー・パラメータファイル

制御ファイル

データファイル

REDOログファイル

アーカイブログファイル

サーバー・パラメータファイル（SPFILE）がローカルディスクに作成されている場合は，ファイルを共有ディスクに移動してから，次のどちらかを実施してください。

初期化パラメータファイル（PFILE）に移動先のサーバー・パラメータファイルのパスを定義する。

移動元のディレクトリに，移動先のサーバー・パラメータファイルのシンボリックリンクを作成し，移動前のパスから参照できるようにする。

フラッシュリカバリ領域には，共有ディスク上のパスを指定してください。

(2)　Oracleリスナーの構築

Oracleリスナーの構築は，現用系・予備系の全系で実施します。

クライアント接続用のIPアドレス（エイリアスIPアドレス）を使用するため，Oracleリスナー構築後に次の設定をしてください。

/etc/hostsファイルに使用する，エイリアスIPアドレスとホスト名を登録します。全系で同じ名称にしてください。

Oracleのローカル・ネーミング・パラメータのファイル（tnsnames.ora）のネット・サービス名のホストを，手順1.で登録したエイリアスIPアドレスのホスト名に変更します。

設定例を次に示します。

/etc/hostsファイルの例

192.168.0.11  server1    # alias IP address

tnsnames.oraの例

ORCL1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = server1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = SHARED)
      (SERVICE_NAME = orcl1)
    )
  )

参考

クライアントでは，手順2.で修正したtnsnames.oraを使用して，登録したホスト名で接続してください。

# sqlplus user/passwd@server1/ORCL1

3.2.6　Oracleが使用する共有リソースの設定

Oracleのセットアップ・データベースの構築が完了したら，Oracleが使用する共有リソースを設定します。次の項目を設定してください。

共有ディスクの設定

共有ディスクをHAモニタが制御するための設定をします。詳細については，マニュアル「HAモニタ Linux(R)編」の「共有ディスクの設定」の説明を参照してください。

LANの状態設定ファイルの設定

クライアント接続用のIPアドレスをHAモニタで切り替えができるように，IPアドレスを使用するサーバごとにLANの状態設定ファイルを作成します。詳細については，マニュアル「HAモニタ Linux(R)編」の「LANの状態設定ファイルの設定」を参照してください。

3.2.7　HAモニタ kitの設定

Oracleが使用する共有リソースの設定が完了したら，HAモニタ kitの設定をします。HAモニタ kitの設定には，サーバの起動・停止・監視コマンドの設定，および制御用定義ファイルの設定があります。

(1)　サーバの起動・停止・監視コマンドの設定

HAモニタ kitでは，サーバの起動・停止・監視コマンドのサンプルファイルを提供しています。サーバの数だけ，これらのファイルを任意のディレクトリにコピーし，環境に合わせて設定します。HAモニタの環境設定用ディレクトリ（/opt/hitachi/HAmon/etc）下にコピーすることを推奨します。

HAモニタ kitが提供するサーバの起動・停止コマンドのサンプルファイルの格納ディレクトリを，次の表に示します。

表3‒1　サーバの起動・停止コマンドのサンプルファイルの格納ディレクトリ

コマンド

格納ディレクトリ

サーバの起動コマンド

/opt/hitachi/HAmonOra/lib/actcommand

サーバの停止コマンド

/opt/hitachi/HAmonOra/lib/termcommand

HAモニタ kitが提供するサーバの監視コマンドのサンプルファイルの格納ディレクトリを，次の表に示します。格納ディレクトリはOracleのデータベース構成によって異なります。

表3‒2　サーバの監視コマンドのサンプルファイルの格納ディレクトリ

Oracleのデータベース構成

コマンド

格納ディレクトリ

CDB（シングルテナント）構成

HAモニタのサーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合

サーバの監視コマンド

/opt/hitachi/HAmonOra/lib/ptrlcmd_ex

シングル構成

HAモニタのサーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合（推奨）

サーバの監視コマンド

/opt/hitachi/HAmonOra/lib/ptrlcmd_ex

HAモニタのサーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合

サーバの監視コマンド

/opt/hitachi/HAmonOra/lib/patrolcommand

サーバの監視コマンド実行シェル

/opt/hitachi/HAmonOra/lib/patrol.sh

コピーしたファイルの名称は，コピー元のファイルと同一にする必要はありません。構築するサーバが複数存在し，単純にコピーするとファイル名が重複する場合は，コピー先のディレクトリを変更するか，重複しないようにファイル名を変更してください。

サーバの起動・停止・監視コマンド，およびサーバの監視コマンド実行シェルは，次の表に示すユーザで読み込みと実行を行います。アクセス権をサンプルファイルから変更する場合は，読み込みと実行を行うユーザにアクセス権を付与してください。アクセス権がない場合，各コマンドの実行に失敗します。

表3‒3　サーバの起動・停止・監視コマンド，およびサーバの監視コマンド実行シェルの読み込みと実行を行うユーザ

ファイル名

読み込みと実行を行うユーザ

サーバの起動コマンド

スーパユーザ

サーバの停止コマンド

スーパユーザ

HAモニタのサーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合（推奨）

サーバの監視コマンド

スーパユーザ

HAモニタのサーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合

サーバの監視コマンド

サーバの監視コマンド実行シェルのORACLE_USER環境変数に指定するOracleユーザ

サーバの監視コマンド実行シェル

スーパユーザ

それぞれのコマンドの詳細な設定方法については，「4.　サーバの起動・停止・監視コマンドの設定」を参照してください。

(2)　制御用定義ファイルの設定

HAモニタ kitが制御するOracleインスタンスまたはOracleリスナーごとに，制御用定義ファイルを設定する必要があります。HAモニタ kitが提供する制御用定義ファイルのサンプルファイルを，Oracleのデータベース構成に合わせてコピーしてリネームし，必要に応じて，ファイル内のパラメタの値の変更や，任意の環境変数の設定などを行ってください。また，監視するOracleインスタンスまたはOracleリスナーが複数存在する場合は，OracleインスタンスまたはOracleリスナーの数だけ制御用定義ファイルを設定してください。

制御用定義ファイルのコピー元ファイルとコピー先ディレクトリを，次の表に示します。

表3‒4　制御用定義ファイルのコピー元ファイルとコピー先ディレクトリ

制御用定義ファイル

コピー元ファイル

コピー先ディレクトリ

Oracleインスタンス制御用定義ファイル

シングル構成の場合

/opt/hitachi/HAmonOra/lib/orcl1.env

CDB（シングルテナント）構成の場合

/opt/hitachi/HAmonOra/lib/orcl1_cdb.env

/opt/hitachi/HAmon/etc/HAmonOra_etc/instance

Oracleリスナー制御用定義ファイル

/opt/hitachi/HAmonOra/lib/LISTENER.env

/opt/hitachi/HAmon/etc/HAmonOra_etc/listener

それぞれのファイルは，次のようにリネームしてください。ファイル名の太字の部分は，それぞれ該当する値に置き換えてください。

Oracleインスタンス制御用定義ファイル：インスタンス識別子.env

Oracleリスナー制御用定義ファイル：リスナー名.env

コピーする際は，コピー先の設定済みのファイルを誤って上書きして消去しないように注意してください。また，コピーしたファイルのアクセス権は，コピー元ファイルのアクセス権と同じにして，そのあとはアクセス権を変更しないでください。

以降，ファイルの詳細について説明します。

記述形式

パラメタを「パラメタ名=値」の形式で1行に一つずつ記述します。パラメタ，イコール（=），および値の前後に空白を記述しないでください。なお，パラメタの記述は順不同です。

任意の環境変数を設定したい場合は，「環境変数名=値」の形式で1行に一つずつ記述します。

パラメタの詳細

指定できるパラメタの詳細について，次に示します。

表3‒5　制御用定義ファイルに指定できるパラメタの詳細

パラメタ名

説明

ORACLE_SID

Oracleインスタンス制御用定義ファイルに指定します。制御対象のOracleインスタンスの，ORACLE_SID環境変数の値（インスタンス識別子）を指定します。

ORACLE_SID環境変数の詳細については，Oracleのマニュアルを参照してください。

LISTENER_NAME

Oracleリスナー制御用定義ファイルに指定します。制御対象のOracleリスナーのリスナー名を指定します。リスナー名の詳細については，Oracleのマニュアルを参照してください。

ORACLE_BASE

制御対象のOracleインスタンスまたはOracleリスナーのORACLE_BASE環境変数の値（Oracleベースディレクトリ）を指定します。

ORACLE_BASE環境変数の詳細については，Oracleのマニュアルを参照してください。

ORACLE_HOME

制御対象のOracleインスタンスまたはOracleリスナーのORACLE_HOME環境変数の値（Oracleホームディレクトリ）を指定します。

ORACLE_HOME環境変数の詳細については，Oracleのマニュアルを参照してください。

ORACLE_USER

Oracleユーザのアカウント名を指定します。Oracleユーザの詳細については，Oracleのマニュアルを参照してください。

DB_NOACCESS

Oracleインスタンス制御用定義ファイルに指定します。SQLを使用して，Oracleインスタンスにアクセスするかどうかを指定します。指定できる値は次のとおりです。

yes：SQLでOracleインスタンスにアクセスしません。Oracleインスタンスの状態やスローダウンの監視はしないで，プロセスの生存監視だけをします。

no：SQLでOracleインスタンスにアクセスして，Oracleインスタンスの状態やスローダウンの監視，およびプロセスの生存監視をします。

パラメタを省略した場合は，noが仮定されます。次のような運用をする場合は，yesを指定してください。

HAモニタ kitがデータベースにアクセスするのを禁止する運用にしたい場合

SQLのALTER SYSTEM SUSPEND文で，データベースへのアクセスを禁止する運用にしたい場合※

Oracleインスタンスの状態を，"OPEN"以外の状態にする運用にしたい場合※

注※　ただし，次の条件をすべて満たす場合は，パラメタにno（または省略）を指定できます。

・HAモニタのバージョンが01-69以降

・HAモニタのサーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定している

・HAモニタ・サーバ稼働中の設定変更コマンド（monchangeコマンド）で監視を一時停止したあとに，SQLのALTER SYSTEM SUSPEND文でデータベースへのアクセスを禁止する，またはOracleインスタンスの状態を"OPEN"以外の状態にするなどの運用である

LISTENER_NOACCESS

Oracleリスナー制御用定義ファイルの場合に指定します。リスナー制御ユティリティを使用して，Oracleリスナーにアクセスするかどうかを指定します。指定できる値は次のとおりです。

yes：リスナー制御ユティリティを使用しません。Oracleリスナーのスローダウンの監視はしないで，プロセスの生存監視だけをします。

no：リスナー制御ユティリティを使用して，Oracleリスナーのスローダウンの監視，およびプロセスの生存監視をします。

パラメタを省略した場合は，noが仮定されます。

PATROL

OracleインスタンスまたはOracleリスナーにアクセスしてから，スローダウンと見なすまでの時間（秒）を指定します。指定できる値は，60〜3600です。

DB_NOACCESSまたはLISTENER_NOACCESSにyesを指定した場合は，このパラメタに指定した値は無視されます。

ABORT_LIMIT

通常停止ができない場合に，強制停止に移行するまでの待ち時間（秒）を，10〜3600の範囲で指定します。

PATROL_TABLE

監視する表領域を指定します。通常は，指定する必要はありません。このパラメタを省略した場合は，dualが仮定されます。

CDBにyes，または，DB_NOACCESSにyesを指定した場合，このパラメタに指定した値は無視されます。

dual：dual表を監視します。

dba：HAモニタ kitの01-02以前のバージョンと同じ表領域（ディクショナリ表(dba_data_files)）を監視します。

CDB

Oracleのデータベース構成が，CDB（シングルテナント）構成かどうかを指定します。指定できる値は次のとおりです。

yse：CDB（シングルテナント）構成の場合に指定します。

no：シングル構成の場合に指定します。

パラメタを省略した場合は，noが仮定されます。

PDB_NAME

Oracleのデータベース構成が，CDB（シングルテナント）構成の場合，このパラメタに起動・監視するPDB名を指定します。CDB（シングルテナント）構成の場合，必ず指定してください。指定できるPDB名は一つです。

CDBにnoを指定した場合は，このパラメタは無視されます。

記述例

制御用定義ファイルの記述例を示します。この記述例は，サンプルファイルの内容と同様です。各パラメタは，実際の環境に合わせて設定してください。

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（シングルテナント）構成

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

注意事項

OracleインスタンスまたはOracleリスナーの稼働中に，定義済みの制御用定義ファイルを変更しないでください。

定義の指定方法を誤ると，HAモニタ kitのコマンドが異常終了し，OracleインスタンスまたはOracleリスナーの制御に失敗します。この結果，サーバの起動や停止に失敗したり，OracleインスタンスまたはOracleリスナーの異常をHAモニタが検出したりします。

3.2.8　HAモニタ kitコマンドの編集

SQL*Plusで使用するコマンド，およびリスナー制御ユティリティのコマンドなどを編集します。HAモニタ kitコマンドは，通常は編集する必要はありません。

参考

例えば，Oracleの設定でSYSの監査ログ取得が有効化されている場合，SYSユーザでOracleに接続すると，監査ログが監視ごとに出力され，大量のログファイルが生成されます。これを回避するために，Oracleインスタンスの監視時に接続するOracleユーザを変更したい場合，HAモニタ kitコマンドの編集を検討してください。詳細については，「(2)編集例」の「Oracleインスタンスの監視時に接続するOracleユーザを変更する場合」を参照してください。

HAモニタ kitコマンドを編集する場合は，次に示すコマンドの構造，および編集例を参考にして，編集手順に従って編集してください。

HAモニタ kitのコマンドの構造

HAモニタ kitのコマンドの構造を次に示します。

サーバの起動コマンドの構造

サーバの起動コマンドと，OracleインスタンスおよびOracleリスナーの起動コマンドの関係を次の図に示します。

図3‒7　サーバの起動コマンドと，OracleインスタンスおよびOracleリスナーの起動コマンドの関係

サーバの停止コマンドの構造

サーバの停止コマンドと，OracleインスタンスおよびOracleリスナーの停止コマンドの関係を次の図に示します。

図3‒8　サーバの停止コマンドと，OracleインスタンスおよびOracleリスナーの停止コマンドの関係

サーバの監視コマンドの構造

サーバの監視コマンドと，OracleインスタンスおよびOracleリスナーの監視コマンドの関係を次の図に示します。

図3‒9　サーバの監視コマンドと，OracleインスタンスおよびOracleリスナーの監視コマンドの関係（サーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合）

図3‒10　サーバの監視コマンドと，OracleインスタンスおよびOracleリスナーの監視コマンドの関係（サーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合）

(1)　編集手順

HAモニタ kitコマンドを編集する手順を次に示します。手順3は，必要に応じて実施してください。

図3‒11　HAモニタ kitコマンドを編集する手順

編集したいファイルを，cp -pコマンドでコマンドファイル用ディレクトリからコマンドファイル編集用ディレクトリにコピーします。

コマンドファイル用ディレクトリ

/opt/hitachi/HAmonOra/bin

コマンドファイル編集用ディレクトリ

/opt/hitachi/HAmonOra/bin_ex

コマンドファイル編集用ディレクトリのファイルを編集します。

ここでは，haorainsbgnファイルを編集しています。

詳細については，「(2)編集例」を参照してください。

HAモニタ kit 01-00からバージョンアップしてから編集する場合だけこの手順を実施します。バージョンアップ後のHAモニタ kitのサーバの起動・停止・監視コマンドのサンプルファイルを使用して，サーバの起動・停止・監視コマンドを再設定します。

詳細は，「3.2.7(1)　サーバの起動・停止・監視コマンドの設定」を参照してください。

注意事項

編集後にHAモニタ kit 01-01以降からバージョンアップした場合は，コマンドファイル編集用ディレクトリ（/opt/hitachi/HAmonOra/bin_ex）に新しいバージョンのファイルがインストールされません。そのため，コマンドファイル用ディレクトリ（/opt/hitachi/HAmonOra/bin）にある新しいバージョンのファイルを，編集手順に従って再度編集しなければならない場合があります。編集が必要なファイルについては，リリースノートの「使用上の注意事項」を参照してください。

(2)　編集例

任意のOracleユーザでOracleに接続したい場合の，HAモニタ kitコマンドの編集例を次に示します。

Oracleインスタンスの起動および停止時に接続するOracleユーザを変更する場合

編集内容に従って編集してください。次の編集内容は，パスワード認証したSYSユーザでOracleインスタンスを起動および停止する場合の例です。

対象ファイル

haorainsbgn，およびhaorainsendsub

編集内容

編集前

connect△/△as△sysdba

編集後

connect△sys/パスワード△as△sysdba

（凡例）　△：半角スペース

ファイル中の該当個所はすべて同様に編集してください。

注意事項

・Oracleユーザにはsysdba権限が付与されている必要があります。

・パスワード認証とする場合，パスワード有効期限を無期限にしてください。

Oracleインスタンスの監視時に接続するOracleユーザを変更する場合

編集内容に従って編集してください。ただし，DB_NOACCESSにyesを指定した場合，Oracleインスタンスの監視時にOracleへ接続しないため，編集する必要はありません。

対象ファイル

haorainsptlsub，およびhaorainsptl.sql

編集内容1（パスワード認証したSYSTEMユーザでOracleインスタンスを監視する場合）

編集前

connect△/△as△sysdba

編集後

connect△system/パスワード

（凡例）　△：半角スペース

ファイル中の該当個所はすべて同様に編集してください。

注意事項

パスワード認証とする場合，パスワード有効期限を無期限にしてください。

編集内容2（OS認証した一般DBユーザでOracleインスタンスを監視する場合）

編集前

connect△/△as△sysdba

編集後

connect△/

（凡例）　△：半角スペース

ファイル中の該当個所はすべて同様に編集してください。

注意事項

・サーバの監視コマンド実行シェル「patrol.sh」のORACLE_USER環境変数に，新たに作成したOSユーザのアカウント名を指定してください。

・OS認証した一般DBユーザを作成してください。

・一般DBユーザにDBAロールおよびCONNECTロールを付与してください。

3.2.9　定義ファイルの作成（サーバ）

HAモニタ kitの設定が完了したら，「3.1.1　Oracleの構成と系切り替え単位の検討」で決定したサーバごとに，HAモニタのサーバ対応の環境設定を作成します。作成方法については，マニュアル「HAモニタ Linux(R)編」の「サーバ対応の環境設定（servers）」の説明を参照してください。

サーバ対応の環境設定のオペランドで注意が必要なものについてだけ，次の表に示します。

表3‒6　注意が必要なサーバ対応の環境設定のオペランド

オペランド名

注意事項

name

「4.2　サーバの起動コマンドの設定」で設定した，サーバの起動コマンドの絶対パスを指定します。

acttype

monitorを指定します。

termcommand

「4.3　サーバの停止コマンドの設定」で設定した，サーバの停止コマンドの絶対パスを指定します。

patrolcommand

Oracleのデータベース構成が，シングル構成で，サーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合に指定します。

「4.5.2　サーバの監視コマンド実行シェル」で設定した，サーバの監視コマンド実行シェルの絶対パスを指定します。

ptrlcmd_ex

Oracleのデータベース構成が次の場合に指定します。

CDB（シングルテナント）構成の場合

シングル構成で，サーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合

HAモニタの機能によって，サーバ稼働中にOracleインスタンスおよびOracleリスナーの監視を一時停止および再開できるため，このオペランドを指定することを推奨します。

「3.2.7(1)　サーバの起動・停止・監視コマンドの設定」で設定した，サーバの監視コマンドの絶対パスを指定します。

ptrlcmd_ex_inter

サーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合に指定します。5秒を指定してください。

ptrlcmd_ex_retry

サーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合に指定します。ptrlcmd_exオペランドに指定したサーバの監視コマンドで監視処理に失敗した場合に，監視をリトライする回数を指定します。

サーバの監視コマンドが一時的に失敗する場合を考慮して，2回リトライすることを推奨します。

ptrlcmd_ex_tmout

サーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合に指定します。

OracleインスタンスおよびOracleリスナーのスローダウンの検知については，PATROLで監視しますが，ptrlcmd_ex_tmoutオペランドではサーバの監視コマンドの無応答を監視します。監視がいつまでも無応答とならないようにするため，ptrlcmd_ex_tmoutオペランドの指定を推奨します。ただし，監視時間が小さいと誤検知につながりますので，十分大きな値を指定してください。

目安として，サーバの監視コマンドの開始から終了までの時間（監視するOracleインスタンスおよびOracleリスナーのPATROL値の総和）の2倍以上の値を指定してください。

（例）

Oracleインスタンス数が1でPATROLが120秒，Oracleリスナー数が1でPATROLが120秒である場合，480以上を指定します（（120秒+120秒）×2=480秒）。

servexec_retry

0を指定することを推奨します。

ただし，サーバ障害を検出した際に再起動をしたい場合は，指定を省略するか，または再起動回数を指定してください。

waitserv_exec

yesを指定します。

group

「3.1.1　Oracleの構成と系切り替え単位の検討」で検討したとおり，サーバを分けてグループ化する場合に指定します。同じグループのサーバには，同じグループ名を指定します。

start_timeout

このオペランドを指定する場合は，HAモニタの環境設定のtermcmd_at_abortオペランドにyesを指定し，タイムアウト時にサーバの停止コマンドを実行して，再起動できるようにします。

stop_timeout

指定しないでください。stop_timeoutオペランドの指定による停止処理のタイムアウトでは，OracleインスタンスおよびOracleリスナーの強制停止が実行されない場合があります。

3.2.10　障害情報を収集するための設定

Oracleを制御するサーバにUAPを追加する構成では，UAPのスローダウンが発生した場合にシェルを実行させて原因を調査するための情報を取得できます。

詳細については，マニュアル「HAモニタ Linux(R)編」の「障害情報を収集するための設定」を参照してください。

3.2.11　構築したシステムの動作確認

システムの構築が完了して設定と定義のチェックに問題がなかったら，構築システムの動作確認をしてください。ここでは，HAモニタ kitを使用したシステムで，特に確認しておきたい点についてだけ説明します。システムの動作確認の流れや詳細については，マニュアル「HAモニタ Linux(R)編」の「構築したシステムの動作確認」の説明を参照してください。

(1)　サーバの動作確認

HAモニタ kitを使用する上で必要な，サーバの起動・停止確認について説明します。

サーバの起動確認

HAモニタ kitのサーバログを基に，次のことを確認します。

Oracleインスタンスに対応するサーバの場合は，該当するOracleインスタンスに対してメッセージKAMK00302-Iが出力されている。

Oracleリスナーに対応するサーバの場合は，該当するOracleリスナーに対してメッセージKAMK00322-Iが出力されている。

メッセージが出力されていない場合，サーバの起動コマンドに設定した環境変数に誤りがあるおそれがあります。サーバの起動コマンドの設定については「4.2　サーバの起動コマンドの設定」を参照してください。

サーバの停止確認

HAモニタ kitのサーバログを基に，次のことを確認します。

Oracleインスタンスに対応するサーバの場合は，該当するOracleインスタンスに対してメッセージKAMK00305-Iが出力されている。

Oracleリスナーに対応するサーバの場合は，該当するOracleリスナーに対してメッセージKAMK00325-Iが出力されている。

メッセージが出力されていない場合，サーバの停止コマンドに設定した環境変数に誤りがあるおそれがあります。サーバの停止コマンドの設定については「4.3　サーバの停止コマンドの設定」を参照してください。

サーバの監視確認

HAモニタ kitのサーバログを基に，次のことを確認します。

Oracleインスタンスに対応するサーバ，Oracleリスナーに対応するサーバのどちらの場合もメッセージKAMK00421-Iが出力されている。

メッセージが出力されていない場合，サーバの監視コマンドまたはサーバの監視コマンド実行シェルに設定した環境変数に誤りがあるおそれがあります。サーバの監視コマンドおよびサーバの監視コマンド実行シェルの設定については「4.5　サーバの監視コマンドの設定（patrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合）」を参照してください。

(2)　系切り替えのテスト

HAモニタ kitを使用する上で必要な，系切り替えのテストついて説明します。

計画系切り替えの確認／サーバ障害時の自動系切り替えの確認

系切り替えが成功したあとに切り替え先の系で，HAモニタ kitのサーバログを基に，次のことを確認します。

Oracleインスタンスに対応するサーバの場合は，該当するOracleインスタンスに対してメッセージKAMK00302-Iが出力されている。

Oracleリスナーに対応するサーバの場合は，該当するOracleリスナーに対してメッセージKAMK00322-Iが出力されている。

メッセージが出力されていない場合，サーバの起動コマンドに設定した環境変数に誤りがあるおそれがあります。サーバの起動コマンドの設定については「4.2　サーバの起動コマンドの設定」を参照してください。

3.3　環境設定例

HAモニタ kitを使用したシステムの環境設定例を示します。ここでは，Oracleのシステム構成別に環境設定の例を示します。

CDB（シングルテナント）構成で，OracleインスタンスとOracleリスナーを一つのサーバで監視する場合のシステム構成

シングル構成（HAモニタのサーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合）で，OracleインスタンスとOracleリスナーを一つのサーバで監視する場合のシステム構成

シングル構成（HAモニタのサーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合）で，Oracleインスタンスと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　環境設定例中で使用するディレクトリのパスを次に示します。

サーバの起動コマンド：/opt/hitachi/HAmon/etc/orasrv/actcommand_orasrv

サーバの停止コマンド：/opt/hitachi/HAmon/etc/orasrv/termcommand_orasrv

サーバの監視コマンド：/opt/hitachi/HAmon/etc/orasrv/ptrlcmd_ex_orasrv

Oracleベースディレクトリ：/home/oracle

Oracleホームディレクトリ：/home/oracle/product/18.0.0/dbhome_1

各パラメタは，実際の環境に合わせて設定してください。

注※2　サーバの監視コマンドを指定します。

サーバの監視コマンドが監視処理を実施する間隔です（ptrlcmd_ex_inter）。

サーバの監視コマンドを再試行する回数です（ptrlcmd_ex_retry）。

サーバの監視コマンドがタイムアウトする時間です（ptrlcmd_ex_tmout）。

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

/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}
}
####################################################################
　：（省略）

3.3.2　シングル構成（HAモニタのサーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合）で，OracleインスタンスとOracleリスナーを一つのサーバで監視する場合のシステム構成例

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

参考

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

サーバ識別名.up（定義ファイル：/opt/hitachi/HAmon/etc/orasrv.up）

サーバ識別名.down（定義ファイル：/opt/hitachi/HAmon/etc/orasrv.down）

図3‒13　シングル構成（HAモニタのサーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定する場合）で，OracleインスタンスとOracleリスナーを一つのサーバで監視する場合のシステム構成例

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

サーバの起動コマンド：/opt/hitachi/HAmon/etc/orasrv/actcommand_orasrv

サーバの停止コマンド：/opt/hitachi/HAmon/etc/orasrv/termcommand_orasrv

サーバの監視コマンド：/opt/hitachi/HAmon/etc/orasrv/ptrlcmd_ex_orasrv

Oracleベースディレクトリ：/home/oracle

Oracleホームディレクトリ：/home/oracle/product/18.0.0/dbhome_1

各パラメタは，実際の環境に合わせて設定してください。

注※2　サーバの監視コマンドを指定します。

サーバの監視コマンドが監視処理を実施する間隔です（ptrlcmd_ex_inter）。

サーバの監視コマンドを再試行する回数です（ptrlcmd_ex_retry）。

サーバの監視コマンドがタイムアウトする時間です（ptrlcmd_ex_tmout）。

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

/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,
        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}
}
####################################################################
　：（省略）

3.3.3　シングル構成（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‒14　シングル構成（HAモニタのサーバ対応の環境設定のpatrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合）で，OracleインスタンスとOracleリスナーを一つのサーバで監視する場合のシステム構成例

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

サーバの起動コマンド：/opt/hitachi/HAmon/etc/orasrv/actcommand_orasrv

サーバの停止コマンド：/opt/hitachi/HAmon/etc/orasrv/termcommand_orasrv

サーバの監視コマンド実行シェル：/opt/hitachi/HAmon/etc/orasrv/patrol_orasrv.sh

Oracleベースディレクトリ：/home/oracle

Oracleホームディレクトリ：/home/oracle/product/18.0.0/dbhome_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
####################################################################
　：（省略）

4　サーバの起動・停止・監視コマンドの設定

この章では，サーバの起動・停止・監視コマンドの設定，および使用するコマンドについて説明します。

4.1　サーバの起動・停止・監視コマンドの概要

サーバの起動・停止・監視コマンドは，プログラムを起動・停止・監視するための処理を記述したシェルです。

HAモニタ kitでは，サーバの起動・停止・監視コマンドのサンプルファイルを提供しています。サンプルファイルをコピーし，この章で説明する内容に従ってサーバの起動・停止・監視コマンドを設定し，必要に応じてカスタマイズしてください。

サーバの起動・停止・監視コマンドの詳細については，マニュアル「HAモニタ Linux(R)編」の「サーバの起動・停止・監視コマンドの作成」の説明を参照してください。

なお，サーバの起動・停止・監視コマンドが出力するメッセージ（サーバの起動・停止・監視コマンドの延長で実行されるOracleのコマンドの，標準出力・標準エラー出力も含みます）は，サーバログに出力されます。サーバログについては，「5.4　サーバログの確認」を参照してください。

4.2　サーバの起動コマンドの設定

HAモニタ kitは，サーバの起動コマンドのサンプルファイルを提供しています。サンプルファイルをコピーしてここで説明する内容に従って設定し，必要に応じてカスタマイズしてください。サンプルファイルの格納場所やコピー先については，「3.2.7(1)　サーバの起動・停止・監視コマンドの設定」を参照してください。

サーバの起動コマンドでは，起動処理が記述されたact_proc()シェル関数を実行し，OracleリスナーとOracleインスタンスを起動します。

サーバの起動コマンドのサンプルファイルの内容を次の図に示します。

図4‒1　サーバの起動コマンドのサンプルファイルの内容

図中の1.〜5.について説明します。

プログラムの起動に必要な動作環境を設定する環境変数です。

ここで設定する内容については，「4.2.1　環境変数」を参照してください。

Oracleリスナーの起動処理です。

haoralsnrbgnコマンドを実行して，リスナー名で指定したOracleリスナーを起動する処理が記述されています。ここで設定する内容については，「4.2.2　設定方法」を参照してください。

haoralsnrbgnコマンドについては，「4.6　サーバの起動・停止・監視コマンドの設定に使用するコマンド」の「haoralsnrbgn（Oracleリスナーの起動）」を参照してください。

Oracleインスタンスの起動処理です。

haorainsbgnコマンドを実行して，インスタンス識別子で指定したOracleインスタンスを起動する処理が記述されています。ここで設定する内容については，「4.2.2　設定方法」を参照してください。

haorainsbgnコマンドについては，「4.6　サーバの起動・停止・監視コマンドの設定に使用するコマンド」の「haorainsbgn（Oracleインスタンスの起動）」を参照してください。

サーバの起動コマンドの戻り値です。

ここで設定する内容については，「4.2.2　設定方法」を参照してください。

act_proc()シェル関数の処理です。

ユーザ独自の処理を追加したい場合，このact_proc()シェル関数の中に追加します。ここで設定する内容については，「4.2.3　サーバの起動コマンドのカスタマイズ」を参照してください。

4.2.1　環境変数

図4-1の1.の環境変数について説明します。

LOGNAME

サーバログのファイル名を指定します。起動・停止・監視コマンドのLOGNAMEの値は，すべて同じ値を指定してください。また，サーバごとにユニークな値を指定してください。そのためLOGNAMEに指定する値は，サーバのサーバ識別名と合わせることをお勧めします。提供するサンプルファイルでは，サーバ識別名として「orasrv」が仮定されています。

サーバログの出力先については，「5.4　サーバログの確認」を参照してください。

LOGSIZE

サーバログのファイルサイズ（単位：バイト）を整数で指定します。デフォルトでは「1048576」が仮定されています。通常はデフォルトのファイルサイズのまま運用します。出力内容が多く，ログ情報が不足する場合にだけ拡張してください。サーバログのファイルサイズの算出方法については，「5.4.2　ファイルサイズ」を参照してください。

なお，LOGNAME環境変数に同じ値を指定したサーバでは，サーバの起動・停止・監視コマンドのLOGSIZE環境変数にも同じ値を指定してください。

4.2.2　設定方法

図4-1の2.〜4.の起動処理の設定方法について説明します。

図中の2.（Oracleリスナーの起動処理）の設定

提供するサンプルファイルでは，サーバに対応するOracleリスナー（リスナー名「LISTENER」）を一つ起動する設定になっています。サーバに対応するOracleリスナーがない場合は，図中の2.の記述をコメントアウト，または削除してください。一つのサーバで複数のOracleリスナーを起動したい場合は，図中の2.の記述を追加してください。

提供するサンプルファイルでは，リスナー名として「LISTENER」が仮定されています。下線部の引数「LISTENER」を，起動したいOracleリスナーのリスナー名に変更してください。

図中の3.（Oracleインスタンスの起動処理）の設定

提供するサンプルファイルでは，サーバに対応するOracleインスタンス（インスタンス識別子「orcl1」）を一つ起動する設定になっています。サーバに対応するOracleインスタンスがない場合は，図中の3.の記述をコメントアウト，または削除してください。一つのサーバで複数のOracleインスタンスを起動したい場合は，図中の3.の記述を追加してください。

提供するサンプルファイルでは，インスタンス識別子として「orcl1」が仮定されています。下線部の引数「orcl1」を，起動したいOracleインスタンスのインスタンス識別子に変更してください。

図中の4.（サーバの起動コマンドの戻り値）の設定

提供するサンプルファイルでは，OracleインスタンスまたはOracleリスナーの起動に失敗した場合に，サーバの起動を中止しない設定になっています。OracleインスタンスまたはOracleリスナーの起動に失敗した場合は，サーバの起動完了後に監視処理で障害を検出します。

4.2.3　サーバの起動コマンドのカスタマイズ

サーバの起動コマンドの中に，業務に必要な，Oracle以外のアプリケーションの処理やユーザ独自の処理などを追加できます。カスタマイズをする場合には，次の注意事項に従ってください。

処理を追加する前に，マニュアル「HAモニタ Linux(R)編」の「サーバの起動コマンドの作成」の説明を参照してください。

処理は，サーバの起動コマンド内のact_proc()シェル関数の中に追加してください。act_proc()シェル関数とシェル変数以外は，編集しないでください。

ここに記述した処理はスーパユーザの権限で実行されます。権限を変更した場合は，スーパユーザの権限に戻してください。

act_proc()シェル関数の中では，exitコマンドを使用しないでください。処理を終了させる場合は，returnコマンドを使用してください。

act_proc()シェル関数のリターンコードがサーバの起動コマンドの戻り値となります。サーバの起動を中止したい場合は，act_proc()シェル関数を0以外でリターンさせてください。

実行したコマンドが常駐プロセスになるなど，サーバの起動コマンドに制御が戻らない処理は追加しないでください。

act_proc()シェル関数が出力するメッセージの出力先については，「5.4　サーバログの確認」を参照してください。

act_proc()シェル関数の中で実行するコマンドや入出力するファイルは，絶対パスで指定してください。ここでいうコマンドとは，HAモニタ kitが提供するコマンド以外のものを指します。

次のシェル変数名を変更しないでください。

LOGNAME

LOGSIZE

シェル変数を追加する場合は，コマンド内を検索し，すでに使用されていないことを確認してから追加してください。

4.3　サーバの停止コマンドの設定

HAモニタ kitは，サーバの停止コマンドのサンプルファイルを提供しています。サンプルファイルをコピーしてここで説明する内容に従って設定し，必要に応じてカスタマイズしてください。サンプルファイルの格納場所やコピー先については，「3.2.7(1)　サーバの起動・停止・監視コマンドの設定」を参照してください。

サーバの停止コマンドのサンプルファイルは，停止処理が記述されたterm_proc()シェル関数を実行し，OracleインスタンスとOracleリスナーを停止します。

サーバの停止コマンドのサンプルファイルの内容を次の図に示します。

図4‒2　サーバの停止コマンドのサンプルファイルの内容

図中の1.〜5.について説明します。

プログラムの停止に必要な動作環境を設定する環境変数です。

ここで設定する内容については，「4.3.1　環境変数」を参照してください。

Oracleインスタンスの停止処理です。

haorainsendコマンドを実行して，インスタンス識別子で指定したOracleインスタンスを停止する処理が記述されています。ここで設定する内容については，「4.3.2　設定方法」を参照してください。

haorainsendコマンドについては，「4.6　サーバの起動・停止・監視コマンドの設定に使用するコマンド」の「haorainsend（Oracleインスタンスの停止）」を参照してください。

Oracleリスナーの停止処理です。

haoralsnrendコマンドを実行して，リスナー名で指定したOracleリスナーを停止する処理が記述されています。ここで設定する内容については，「4.3.2　設定方法」を参照してください。

haoralsnrendコマンドについては，「4.6　サーバの起動・停止・監視コマンドの設定に使用するコマンド」の「haoralsnrend（Oracleリスナーの停止）」を参照してください。

term_proc()シェル関数の処理です。

ユーザ独自の処理を追加したい場合，このterm_proc()シェル関数の中に追加します。ここで設定する内容については，「4.3.3　サーバの停止コマンドのカスタマイズ」を参照してください。

サーバの停止コマンドの戻り値です。

4.3.1　環境変数

図4-2の1.の環境変数について説明します。

LOGNAME

サーバログのファイル名を指定します。起動・停止・監視コマンドのLOGNAMEの値は，すべて同じ値を指定してください。また，サーバごとにユニークな値を指定してください。そのためLOGNAMEに指定する値は，サーバのサーバ識別名と合わせることをお勧めします。提供するサンプルファイルでは，サーバ識別名として「orasrv」が仮定されています。

サーバログの出力先については，「5.4　サーバログの確認」を参照してください。

LOGSIZE

サーバログのファイルサイズ（単位：バイト）を整数で指定します。デフォルトでは「1048576」が仮定されています。通常はデフォルトのファイルサイズのまま運用します。出力内容が多く，ログ情報が不足する場合にだけ拡張してください。サーバログのファイルサイズの算出方法については，「5.4.2　ファイルサイズ」を参照してください。

なお，LOGNAME環境変数に同じ値を指定したサーバでは，サーバの起動・停止・監視コマンドのLOGSIZE環境変数に同じ値を指定してください。

4.3.2　設定方法

図4-2の2.と3.の停止処理の設定方法について説明します。

図中の2.（Oracleインスタンスの停止処理）の設定

提供するサンプルファイルでは，サーバに対応するOracleインスタンス（インスタンス識別子「orcl1」）を一つ停止する設定になっています。サーバに対応するOracleインスタンスがない場合は，図中の2.の記述をコメントアウト，または削除してください。一つのサーバで複数のOracleインスタンスを停止したい場合は，図中の2.の記述を追加してください。

提供するサンプルファイルでは，インスタンス識別子として「orcl1」が仮定されています。下線部の引数「orcl1」を，停止したいOracleインスタンスのインスタンス識別子に変更してください。

図中の3.（Oracleリスナーの停止処理）の設定

提供するサンプルファイルでは，サーバに対応するOracleリスナー（リスナー名「LISTENER」）を一つ停止する設定になっています。サーバに対応するOracleリスナーがない場合は，図中の3.の記述をコメントアウト，または削除してください。一つのサーバで複数のOracleリスナーを停止したい場合は，図中の3.の記述を追加してください。

提供するサンプルファイルでは，リスナー名として「LISTENER」が仮定されています。下線部の引数「LISTENER」を，停止したいOracleリスナーのリスナー名に変更してください。

なお，OracleインスタンスおよびOracleリスナーの停止順序を変更したい場合は，ファイル内の停止処理の順番を変更してください。

4.3.3　サーバの停止コマンドのカスタマイズ

サーバの停止コマンドの中に，業務に必要な，Oracle以外のアプリケーションの処理やユーザ独自の処理などを追加できます。カスタマイズをする場合には，次の注意事項に従ってください。

処理を追加する前に，マニュアル「HAモニタ Linux(R)編」の「サーバの停止コマンドの作成」の説明を参照してください。

処理は，サーバの停止コマンド内のterm_proc()シェル関数の中に追加してください。term_proc()シェル関数とシェル変数以外は，編集しないでください。

ここに記述した処理はスーパユーザの権限で実行されます。権限を変更した場合は，スーパユーザの権限に戻してください。

term_proc()シェル関数の中では，exitコマンドを使用しないでください。処理を終了させる場合は，returnコマンドを使用してください。

term_proc()シェル関数のリターンコードがサーバの停止コマンドの戻り値となります。

HAモニタがサーバの停止コマンドに渡す引数は，term_proc()シェル関数の第1引数（$1）を参照することで確認できます。

term_proc()シェル関数が出力するメッセージの出力先については，「5.4　サーバログの確認」を参照してください。

term_proc()シェル関数の中で実行するコマンドや入出力するファイルは，絶対パスで指定してください。ここでいうコマンドとは，HAモニタ kitが提供するコマンド以外のものを指します。

次のシェル変数名を変更しないでください。

LOGNAME

LOGSIZE

シェル変数を追加する場合は，コマンド内を検索し，すでに使用されていないことを確認してから追加してください。

4.4　サーバの監視コマンドの設定（ptrlcmd_exオペランドでサーバの監視コマンドを指定する場合）

ここでは，ptrlcmd_exオペランド（HAモニタのサーバ対応の環境設定）でサーバの監視コマンドを指定する場合の，サーバの監視コマンドについて説明します。

4.4.1　サーバの監視コマンド

HAモニタ kitは，サーバの監視コマンドのサンプルファイルを提供しています。サンプルファイルをコピーしてここで説明する内容に従って設定し，必要に応じてカスタマイズしてください。サンプルファイルの格納場所やコピー先については，「3.2.7(1)　サーバの起動・停止・監視コマンドの設定」を参照してください。

サーバの監視コマンドのサンプルファイルは，監視処理が記述されたpatrol_proc()シェル関数を，HAモニタのサーバ対応の環境設定のptrlcmd_ex_interオペランドの間隔で実行し，OracleインスタンスとOracleリスナーを監視します。

サーバの監視コマンドのサンプルファイルの内容を次の図に示します。

図4‒3　サーバの監視コマンドのサンプルファイルの内容

プログラムの監視に必要な動作環境を設定する環境変数です。

ここで設定する内容については，「(1)　環境変数」を参照してください。

Oracleインスタンスの監視処理です。

haorainsptlコマンドを実行して，インスタンス識別子で指定したOracleインスタンスを監視する処理が記述されています。ここで設定する内容については，「(2)　設定方法」を参照してください。

haorainsptlコマンドについては，「4.6　サーバの起動・停止・監視コマンドの設定に使用するコマンド」の「haorainsptl（Oracleインスタンスの状態確認）」を参照してください。

Oracleリスナーの監視処理です。

haoralsnrptlコマンドを実行して，リスナー名で指定したOracleリスナーを監視する処理が記述されています。ここで設定する内容については，「(2)　設定方法」を参照してください。

haoralsnrptlコマンドについては，「4.6　サーバの起動・停止・監視コマンドの設定に使用するコマンド」の「haoralsnrptl（Oracleリスナーの状態確認）」を参照してください。

patrol_proc()シェル関数の処理です。

ユーザ独自の処理を追加したい場合，このpatrol_proc()シェル関数の中に追加します。ここで設定する内容については，「(3)　サーバの監視コマンドのカスタマイズ」を参照してください。

(1)　環境変数

図4-3の1.の環境変数について説明します。

LOGNAME

サーバログのファイル名を指定します。起動・停止・監視コマンドのLOGNAMEの値は，すべて同じ値を指定してください。また，サーバごとにユニークな値を指定してください。そのためLOGNAMEに指定する値は，サーバのサーバ識別名と合わせることをお勧めします。提供するサンプルファイルでは，サーバ識別名として「orasrv」が仮定されています。

サーバログの出力先については，「5.4　サーバログの確認」を参照してください。

LOGSIZE

サーバログのファイルサイズ（単位：バイト）を整数で指定します。デフォルトでは「1048576」が仮定されています。通常はデフォルトのファイルサイズのまま運用します。出力内容が多く，ログ情報が不足する場合にだけ拡張してください。サーバログのファイルサイズの算出方法については，「5.4.2　ファイルサイズ」を参照してください。

なお，LOGNAME環境変数に同じ値を指定したサーバでは，サーバの起動・停止・監視コマンドのLOGSIZE環境変数に同じ値を指定してください。

(2)　設定方法

図4-3の2.と3.の監視処理の設定方法について説明します。

図中の2.（Oracleインスタンスの監視処理）の設定

提供するサンプルファイルでは，サーバに対応するOracleインスタンス（インスタンス識別子「orcl1」）を一つ監視する設定になっています。サーバに対応するOracleインスタンスがない場合は，図中の2.の記述をコメントアウト，または削除してください。一つのサーバで複数のOracleインスタンスを監視したい場合は，図中の2.の記述を追加してください。

監視処理の結果，スローダウンを検知した場合は，サーバの監視コマンドの戻り値に10を返します。これによってHAモニタはサーバ障害と判断します。

監視処理が失敗した場合は，サーバの監視コマンドの戻り値に1を返します。これによってHAモニタは監視処理をリトライします。

提供するサンプルファイルでは，インスタンス識別子として「orcl1」が仮定されています。下線部の引数「orcl1」を，監視したいOracleインスタンスのインスタンス識別子に変更してください。

図中の3.（Oracleリスナーの監視処理）の設定

提供するサンプルファイルでは，サーバに対応するOracleリスナー（リスナー名「LISTENER」）を一つ監視する設定になっています。サーバに対応するOracleリスナーがない場合は，図中の3.の記述をコメントアウト，または削除してください。一つのサーバで複数のOracleリスナーを監視したい場合は，図中の3.の記述を追加してください。

監視処理の結果，スローダウンを検知した場合は，サーバの監視コマンドの戻り値に11を返します。これによってHAモニタはサーバ障害と判断します。

監視処理が失敗した場合は，サーバの監視コマンドの戻り値に2を返します。これによってHAモニタは監視処理をリトライします。ただし，図中の2.（Oracleインスタンスの監視処理）で，サーバの監視コマンドの戻り値が10以上の場合は，Oracleリスナーの監視処理が失敗しても戻り値を変更しません（戻り値2を返しません）。

提供するサンプルファイルでは，リスナー名として「LISTENER」が仮定されています。下線部の引数「LISTENER」を，監視したいOracleリスナーのリスナー名に変更してください。

なお，OracleインスタンスおよびOracleリスナーの監視順序を変更したい場合は，ファイル内の監視処理の順番を変更してください。

(3)　サーバの監視コマンドのカスタマイズ

サーバの監視コマンドの中に，業務に必要な，Oracle以外のアプリケーションの処理やユーザ独自の処理などを追加できます。カスタマイズをする場合には，次の注意事項に従ってください。

処理を追加する前に，マニュアル「HAモニタ Linux(R)編」の「サーバの監視コマンドの作成」の説明を参照してください。

処理は，サーバの監視コマンド内のpatrol_proc()シェル関数の中に追加してください。patrol_proc()シェル関数とシェル変数以外は，編集しないでください。

ここに記述した処理はスーパユーザの権限で実行されます。権限を変更した場合は，スーパユーザの権限に戻してください。

patrol_proc()シェル関数の中では，exitコマンドを使用しないでください。処理を終了させる場合は，returnコマンドを使用してください。

patrol_proc()シェル関数のリターンコードが0以外の場合，patrol_proc()シェル関数のリターンコードがサーバの監視コマンドの終了結果（EXITコード）となります。HAモニタは，サーバの監視コマンドの終了結果（EXITコード）に応じた動作をします。詳細は，マニュアル「HAモニタLinux(R)編」を参照してください。

patrol_proc()シェル関数の中では，無限ループなどの終了しない処理を作り込まないでください。

patrol_proc()シェル関数が出力するメッセージの出力先については，「5.4　サーバログの確認」を参照してください。

patrol_proc()シェル関数の中で実行するコマンドや入出力するファイルは，絶対パスで指定してください。ここでいうコマンドとは，HAモニタ kitが提供するコマンド以外のものを指します。

次のシェル変数名を変更しないでください。

LOGNAME

LOGSIZE

シェル変数を追加する場合は，コマンド内を検索し，すでに使用されていないことを確認してから追加してください。

4.5　サーバの監視コマンドの設定（patrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合）

ここでは，patrolcommandオペランド（HAモニタのサーバ対応の環境設定）でサーバの監視コマンド実行シェルを指定する場合の，サーバの監視コマンドおよびサーバの監視コマンド実行シェルについて説明します。

4.5.1　サーバの監視コマンド

HAモニタ kitは，サーバの監視コマンドのサンプルファイルを提供しています。サンプルファイルをコピーしてここで説明する内容に従って設定し，必要に応じてカスタマイズしてください。サンプルファイルの格納場所やコピー先については，「3.2.7(1)　サーバの起動・停止・監視コマンドの設定」を参照してください。

サーバの監視コマンドのサンプルファイルは，監視処理が記述されたpatrol_proc()シェル関数をユーザが設定した間隔で実行し，OracleインスタンスとOracleリスナーを監視します。

サーバの監視コマンドのサンプルファイルの内容を次の図に示します。

図4‒4　サーバの監視コマンドのサンプルファイルの内容

図中の1.〜4.について説明します。

プログラムの監視に必要な動作環境を設定する環境変数です。

ここで設定する内容については，「(1)　環境変数」を参照してください。

Oracleインスタンスの監視処理です。

haorainsptlコマンドを実行して，インスタンス識別子で指定したOracleインスタンスを監視する処理が記述されています。ここで設定する内容については，「(2)　設定方法」を参照してください。

haorainsptlコマンドについては，「4.6　サーバの起動・停止・監視コマンドの設定に使用するコマンド」の「haorainsptl（Oracleインスタンスの状態確認）」を参照してください。

Oracleリスナーの監視処理です。

haoralsnrptlコマンドを実行して，リスナー名で指定したOracleリスナーを監視する処理が記述されています。ここで設定する内容については，「(2)　設定方法」を参照してください。

haoralsnrptlコマンドについては，「4.6　サーバの起動・停止・監視コマンドの設定に使用するコマンド」の「haoralsnrptl（Oracleリスナーの状態確認）」を参照してください。

patrol_proc()シェル関数の処理です。

ユーザ独自の処理を追加したい場合，このpatrol_proc()シェル関数の中に追加します。ここで設定する内容については，「(3)　サーバの監視コマンドのカスタマイズ」を参照してください。

(1)　環境変数

図4-4の1.の環境変数について説明します。

LOGNAME

サーバログのファイル名を指定します。起動・停止・監視コマンドのLOGNAMEの値は，すべて同じ値を指定してください。また，サーバごとにユニークな値を指定してください。そのためLOGNAMEに指定する値は，サーバのサーバ識別名と合わせることをお勧めします。提供するサンプルファイルでは，サーバ識別名として「orasrv」が仮定されています。

サーバログの出力先については，「5.4　サーバログの確認」を参照してください。

LOGSIZE

サーバログのファイルサイズ（単位：バイト）を整数で指定します。デフォルトでは「1048576」が仮定されています。通常はデフォルトのファイルサイズのまま運用します。出力内容が多く，ログ情報が不足する場合にだけ拡張してください。サーバログのファイルサイズの算出方法については，「5.4.2　ファイルサイズ」を参照してください。

なお，LOGNAME環境変数に同じ値を指定したサーバでは，サーバの起動・停止・監視コマンドのLOGSIZE環境変数に同じ値を指定してください。

PATROL_INTERVAL

監視処理の実行間隔（監視処理が終了してから次の監視処理を開始するまでの間隔）を，1〜3600（単位：秒）の範囲で指定します。デフォルトでは「5」が仮定されています。通常はデフォルトの実行間隔から変更する必要はありません。

(2)　設定方法

図4-4の2.と3.の監視処理の設定方法について説明します。

図中の2.（Oracleインスタンスの監視処理）の設定

提供するサンプルファイルでは，サーバに対応するOracleインスタンス（インスタンス識別子「orcl1」）を一つ監視する設定になっています。サーバに対応するOracleインスタンスがない場合は，図中の2.の記述をコメントアウト，または削除してください。一つのサーバで複数のOracleインスタンスを監視したい場合は，図中の2.の記述を追加してください。

提供するサンプルファイルでは，インスタンス識別子として「orcl1」が仮定されています。下線部の引数「orcl1」を，監視したいOracleインスタンスのインスタンス識別子に変更してください。

図中の3.（Oracleリスナーの監視処理）の設定

提供するサンプルファイルでは，サーバに対応するOracleリスナー（リスナー名「LISTENER」）を一つ監視する設定になっています。サーバに対応するOracleリスナーがない場合は，図中の3.の記述をコメントアウト，または削除してください。一つのサーバで複数のOracleリスナーを監視したい場合は，図中の3.の記述を追加してください。

提供するサンプルファイルでは，リスナー名として「LISTENER」が仮定されています。下線部の引数「LISTENER」を，監視したいOracleリスナーのリスナー名に変更してください。

なお，OracleインスタンスおよびOracleリスナーの監視順序を変更したい場合は，ファイル内の監視処理の順番を変更してください。

(3)　サーバの監視コマンドのカスタマイズ

サーバの監視コマンドの中に，業務に必要な，Oracle以外のアプリケーションの処理やユーザ独自の処理などを追加できます。カスタマイズをする場合には，次の注意事項に従ってください。

処理を追加する前に，マニュアル「HAモニタ Linux(R)編」の「サーバの監視コマンドの作成」の説明を参照してください。

処理は，サーバの監視コマンド内のpatrol_proc()シェル関数の中に追加してください。patrol_proc()シェル関数とシェル変数以外は，編集しないでください。

ここに記述した処理はOracleユーザの権限で実行されます。権限を変更した場合は，Oracleユーザの権限に戻してください。

patrol_proc()シェル関数の中では，exitコマンドを使用しないでください。処理を終了させる場合は，returnコマンドを使用してください。

patrol_proc()シェル関数のリターンコードが0以外の場合，サーバの監視コマンドは終了し，HAモニタがサーバ障害を検出します。この際，patrol_proc()シェル関数のリターンコードがサーバの監視コマンドの戻り値となります。

patrol_proc()シェル関数の中では，無限ループなどの終了しない処理を作り込まないでください。

patrol_proc()シェル関数が出力するメッセージの出力先については，「5.4　サーバログの確認」を参照してください。

patrol_proc()シェル関数の中で実行するコマンドや入出力するファイルは，絶対パスで指定してください。ここでいうコマンドとは，HAモニタ kitが提供するコマンド以外のものを指します。

次のシェル変数名を変更しないでください。

LOGNAME

LOGSIZE

PATROL_INTERVAL

シェル変数を追加する場合は，コマンド内を検索し，すでに使用されていないことを確認してから追加してください。

4.5.2　サーバの監視コマンド実行シェル

サーバの監視コマンド実行シェルは，サーバの監視コマンドを実行するためにHAモニタ kitがサンプルファイルを提供しているシェルです。サンプルファイルをコピーしてここで説明する内容に従って設定してください。サンプルファイルの格納場所やコピー先については，「3.2.7(1)　サーバの起動・停止・監視コマンドの設定」を参照してください。

サーバの監視コマンド実行シェルのサンプルファイルの内容を次の図に示します。

図4‒5　サーバの監視コマンド実行シェルのサンプルファイルの内容

図中の1.について説明します。

プログラムの監視に必要な動作環境を設定する環境変数です。

ここで設定する内容については，「(1)　環境変数」を参照してください。

(1)　環境変数

図4-5の1.の環境変数について説明します。

ORACLE_USER

Oracleユーザのアカウント名を指定します。

PATROL_SHELL

「4.5.1　サーバの監視コマンド」で設定した，サーバの監視コマンドを絶対パスで指定します。

(2)　注意事項

次のシェル変数名を変更しないでください。

ORACLE_USER

PATROL_SHELL

4.6　サーバの起動・停止・監視コマンドの設定に使用するコマンド

サーバの起動・停止・監視コマンドの設定に使用するコマンドの一覧を次の表に示します。

表4‒1　サーバの起動・停止・監視コマンドの設定に使用するコマンドの一覧

コマンド名

機能

関連するサブコマンド※

haorainsbgn

Oracleインスタンスを起動します。

haoraenvcheck

haorainsend

Oracleインスタンスを停止します。

haoraenvcheck

haorainsendsub

haorainsptl

Oracleインスタンスの状態を確認します。

haoraenvcheck

haorainsptlsub

haoralsnrbgn

Oracleリスナーを起動します。

haoraenvcheck

haoralsnrend

Oracleリスナーを停止します。

haoraenvcheck

haoralsnrendsub

haoralsnrptl

Oracleリスナーの状態を確認します。

haoraenvcheck

haoralsnrptlsub

注※

サブコマンドは，コマンド名に記載しているコマンドから呼び出されます。そのため，サーバの起動・停止・監視コマンドに設定する必要はありません。

コマンドの説明で使用する見出し

コマンドの説明で使用する，各見出しについて説明します。なお，各コマンドの説明では，次の項目のうち必要な項目についてだけ説明しています。

形式

コマンドの記述形式について説明しています。

実行できるユーザ

コマンドを実行する権限を持つユーザを示します。

機能

コマンドの機能について説明します。

オプション

オプションの指定内容や，オプションを指定するときの注意事項などを説明します。

戻り値

コマンドの戻り値について説明します。

注意事項

コマンドを実行するときの注意事項を説明します。

文法記述記号

コマンドの説明で使用する文法記述記号を説明します。各文法記述記号の意味を，次の表に示します。

表4‒2　コマンドの文法記述記号一覧

文法記述記号

意味

{　}

この記号で囲まれている項目の中から，一つを選択して指定することを示します。複数の項目が記述されている場合に，そのうちの一つを選択して指定します。

（例）

haorainsendsub インスタンス識別子 { -n | -a }

haorainsendsubサブコマンドでは，-nまたは-aのどちらかを選択して指定することを示します。

|

{　}で囲まれている複数の項目間の区切りを示します。

（例）

haoralsnrendsub リスナー名 { -n | -a }

haoralsnrendsubサブコマンドでは，-nまたは-aのどちらかを選択して指定することを示します。

haorainsbgn（Oracleインスタンスの起動）

形式

haorainsbgn インスタンス識別子

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

HAモニタ kitで監視するOracleインスタンスを起動します。このコマンドは，サーバの起動コマンドの中でだけ使用できます。サーバの起動コマンドの記述内容については，「4.2　サーバの起動コマンドの設定」を参照してください。

このコマンドで起動できるのは，HAモニタ kitで監視するための設定が完了したOracleインスタンスだけです。

オプション

インスタンス識別子

Oracleインスタンス制御用定義ファイルのORACLE_SIDに定義済みの，起動したいOracleインスタンスのインスタンス識別子を指定します。

戻り値

値

意味

0

正常終了（Oracleインスタンスの起動に成功しました）

0以外

異常終了

haorainsend（Oracleインスタンスの停止）

形式

haorainsend インスタンス識別子

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

HAモニタ kitで監視中のOracleインスタンスを停止します。このコマンドは，サーバの停止コマンドの中でだけ使用できます。サーバの停止コマンドの記述内容については，「4.3　サーバの停止コマンドの設定」を参照してください。

このコマンドで停止できるのは，HAモニタ kitで監視中のOracleインスタンスだけです。

Oracleインスタンスを正常に停止できない場合は，Oracleインスタンス制御用定義ファイルのABORT_LIMITに設定した待ち時間の経過後に，Oracleインスタンスを強制停止します。

オプション

インスタンス識別子

Oracleインスタンス制御用定義ファイルのORACLE_SIDに定義済みの，停止したいOracleインスタンスのインスタンス識別子を指定します。

戻り値

値

意味

0

正常終了（Oracleインスタンスの停止に成功しました）

0以外

異常終了

注意事項

Oracleインスタンスを強制停止できない場合，Oracleインスタンス制御用定義ファイルのABORT_LIMITで設定した待ち時間の経過後に強制停止の処理を中止します。このコマンドの実行から終了までに，最大で設定した待ち時間の2倍の時間が掛かることがあります。

haorainsptl（Oracleインスタンスの状態確認）

形式

haorainsptl インスタンス識別子

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

Oracleインスタンスのプロセスの存在を確認します。Oracleインスタンス制御用定義ファイルのDB_NOACCESSを省略するか，noを指定した場合は，加えてOracleインスタンスの状態やスローダウンを確認します。

このコマンドは，サーバの監視コマンドの中でだけ使用できます。サーバの監視コマンドの記述内容については，「4.4　サーバの監視コマンドの設定（ptrlcmd_exオペランドでサーバの監視コマンドを指定する場合）」または「4.5　サーバの監視コマンドの設定（patrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合）」を参照してください。

このコマンドで状態を確認できるのは，HAモニタ kitで監視するための設定が完了したOracleインスタンスだけです。

オプション

インスタンス識別子

Oracleインスタンス制御用定義ファイルのORACLE_SIDに定義済みの，状態を確認したいOracleインスタンスのインスタンス識別子を指定します。

戻り値

値

意味

0

正常終了（確認の結果，Oracleインスタンスの異常を検知しませんでした）

1

正常終了（確認の結果，Oracleインスタンスの異常を検知しました）

125

正常終了（確認の結果，Oracleインスタンスのスローダウンを検知しました。この結果は，HAモニタのサーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定している場合に出力されます）

上記以外

異常終了（確認処理中に異常が発生，または確認処理が異常終了しました）

haorainsendsub（Oracleインスタンスの停止）

形式

haorainsendsub インスタンス識別子 { -n | -a }

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

HAモニタ kitで監視中のOracleインスタンスを停止します。このコマンドは，haorainsend（Oracleインスタンスの停止）から呼び出されるサブコマンドです。

オプション

インスタンス識別子

Oracleインスタンス制御用定義ファイルのORACLE_SIDに定義済みの，停止したいOracleインスタンスのインスタンス識別子を指定します。

-n

Oracleインスタンスを正常停止させます。

-a

Oracleインスタンスを強制停止させます。

戻り値

値

意味

0

正常終了（Oracleインスタンスの停止に成功しました）

0以外

異常終了

haorainsptlsub（Oracleインスタンスの状態確認）

形式

haorainsptlsub インスタンス識別子 { -slowdown | -status }

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

Oracleインスタンスの状態，およびスローダウンを確認するためのSQLを実行します。このコマンドは，haorainsptl（Oracleインスタンスの状態確認）から呼び出されるサブコマンドです。

オプション

インスタンス識別子

Oracleインスタンス制御用定義ファイルのORACLE_SIDに定義済みの，状態を確認したいOracleインスタンスのインスタンス識別子を指定します。

-slowdown

スローダウン監視用のSQLを実行します。

-status

状態確認用のSQLを実行します。

戻り値

値

意味

0

正常終了（Oracleインスタンスの状態確認に成功しました）

0以外

異常終了

haoralsnrbgn（Oracleリスナーの起動）

形式

haoralsnrbgn リスナー名

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

HAモニタ kitで監視するOracleリスナーを起動します。このコマンドは，サーバの起動コマンドの中でだけ使用できます。サーバの起動コマンドの記述内容については，「4.2　サーバの起動コマンドの設定」を参照してください。

このコマンドで起動できるのは，HAモニタ kitで監視するための設定が完了したOracleリスナーだけです。

オプション

リスナー名

Oracleリスナー制御用定義ファイルのLISTENER_NAMEに定義済みの，起動したいOracleリスナーのリスナー名を指定します。

戻り値

値

意味

0

正常終了（Oracleリスナーの起動に成功しました）

0以外

異常終了

haoralsnrend（Oracleリスナーの停止）

形式

haoralsnrend リスナー名

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

HAモニタ kitで監視中のOracleリスナーを停止します。このコマンドは，サーバの停止コマンドの中でだけ使用できます。サーバの停止コマンドの記述内容については，「4.3　サーバの停止コマンドの設定」を参照してください。

このコマンドで停止できるのは，HAモニタ kitで監視中のOracleリスナーだけです。

オプション

リスナー名

Oracleリスナー制御用定義ファイルのLISTENER_NAMEに定義済みの，停止したいOracleリスナーのリスナー名を指定します。

戻り値

値

意味

0

正常終了（Oracleリスナーの停止に成功しました）

0以外

異常終了

haoralsnrptl（Oracleリスナーの状態確認）

形式

haoralsnrptl リスナー名

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

Oracleリスナーのプロセスの存在を確認します。Oracleリスナー制御用定義ファイルのLISTENER_NOACCESSを省略するか，noを指定した場合は，加えてスローダウンを確認します。

このコマンドは，サーバの監視コマンドの中でだけ使用できます。サーバの監視コマンドの記述内容については，「4.4　サーバの監視コマンドの設定（ptrlcmd_exオペランドでサーバの監視コマンドを指定する場合）」または「4.5　サーバの監視コマンドの設定（patrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合）」を参照してください。

このコマンドで状態を確認できるのは，HAモニタ kitで監視するための設定が完了したOracleリスナーだけです。

オプション

リスナー名

Oracleリスナー制御用定義ファイルのLISTENER_NAMEに定義済みの，状態を確認したいOracleリスナーのリスナー名を指定します。

戻り値

値

意味

0

正常終了（確認の結果，Oracleリスナーの異常を検知しませんでした）

1

正常終了（確認の結果，Oracleリスナーの異常を検知しました）

125

正常終了（確認の結果，Oracleリスナーのスローダウンを検知しました。この結果は，HAモニタのサーバ対応の環境設定のptrlcmd_exオペランドでサーバの監視コマンドを指定している場合に出力されます）

上記以外

異常終了（確認処理中に異常が発生，または確認処理が異常終了しました）

haoralsnrendsub（Oracleリスナーの停止）

形式

haoralsnrendsub リスナー名 { -n | -a }

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

HAモニタ kitで監視中のOracleリスナーを停止します。このコマンドは，haoralsnrend（Oracleリスナーの停止）から呼び出されるサブコマンドです。

オプション

リスナー名

Oracleリスナー制御用定義ファイルのLISTENER_NAMEに定義済みの，停止したいOracleリスナーのリスナー名を指定します。

-n

Oracleリスナーを正常停止させます。

-a

Oracleリスナーを強制停止させます。

戻り値

値

意味

0

正常終了（Oracleリスナーの停止に成功しました）

0以外

異常終了

haoralsnrptlsub（Oracleリスナーの状態確認）

形式

haoralsnrptlsub リスナー名

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

Oracleリスナーのスローダウンを確認するためのSQLを実行します。このコマンドは，haoralsnrptl（Oracleリスナーの状態確認）から呼び出されるサブコマンドです。

オプション

リスナー名

Oracleリスナー制御用定義ファイルのLISTENER_NAMEに定義済みの，状態を確認したいOracleリスナーのリスナー名を指定します。

戻り値

値

意味

0

正常終了（Oracleリスナーの状態確認に成功しました）

0以外

異常終了

haoraenvcheck（制御用定義ファイルのチェック）

形式

haoraenvcheck 制御用定義ファイル名 { -instance | -listener }

実行できるユーザ

スーパユーザ，Oracleユーザ

機能

制御用定義ファイルの定義内容が規則に合っているかどうかをチェックするサブコマンドです。次のコマンドの中でだけ使用できます。

haorainsbgn

haoralsnrbgn

haorainsend

haoralsnrend

haorainsptl

haoralsnrptl

オプション

制御用定義ファイル名

制御用定義ファイル名を指定します。

-instance

Oracleインスタンス制御用定義ファイルの定義をチェックをする場合に指定します。

-listener

Oracleリスナー制御用定義ファイルの定義をチェックをする場合に指定します。

戻り値

値

意味

0

正常終了（制御用定義ファイルの定義チェックに成功しました）

0以外

異常終了

5　システムの運用

この章では，構築したシステムの運用に関する内容のうち，Oracleインスタンス・Oracleリスナーの起動・停止方法，サーバログの確認，障害が発生した場合のオペレータの操作，およびシステムを変更する方法などについて説明します。

このマニュアルに記載がないシステムの運用に関する内容については，マニュアル「HAモニタ Linux(R)編」の「システムの運用」を参照してください。

5.1　運用の流れ

HAモニタ kitを使用した系切り替え構成のOracleインスタンスおよびOracleリスナーは，HAモニタのモニタモードのサーバとして運用します。HAモニタ kitを使用した系切り替え構成での運用の流れは，HAモニタを使用した一般的な系切り替え構成の場合と同じです。構築したシステムの運用の流れについては，マニュアル「HAモニタ Linux(R)編」の「運用の流れ」の説明を参照してください。

注意事項

Oracleインスタンス制御用定義ファイルのDB_NOACCESSを省略しているか，またはnoを指定しているOracleインスタンスでは，稼働中にSQLのALTER SYSTEM SUSPEND文を実行してデータベースのI/Oを停止しないでください。稼働中にALTER SYSTEM SUSPEND文を実行すると，HAモニタ kitがOracleインスタンスの障害を検出するおそれがあります。

サンプルファイルの停止コマンド・監視コマンド，およびそれらをコピー・編集して作成したコマンドを，手動で実行しないでください。/opt/hitachi/HAmon/spool/配下のログファイル（oralog）が一般ユーザの書き込み権限なしで作成されてしまうおそれがあります。その場合，サーバ起動時にサーバの監視コマンドがそのログファイルにアクセスできないため，異常を検知します。もしそれらのコマンドを手動で実行してしまった場合は，ログファイルに一般ユーザの書き込み権限を付与してください。

HAモニタ kitが提供しているコマンド内では，ヒアドキュメントを利用しているため，/tmpディレクトリに一時ファイルが出力されます。そのため，もし/tmp領域に空きがないと，一時ファイルの出力エラーとなります。この場合，サーバの監視コマンドが異常を検知して，HAモニタはサーバの系切り替えをします。これを防ぐために，サーバ稼働中は/tmp領域が満杯にならない運用としてください。

5.2　Oracleインスタンス・Oracleリスナーの起動・停止・監視

ここでは，HAモニタ kitを使用したシステムのOracleインスタンスまたはOracleリスナーの起動・停止・監視について説明します。OracleインスタンスおよびOracleリスナーは，モニタモードのサーバとして管理されます。このため，OracleインスタンスまたはOracleリスナーの起動・停止・監視は，HAモニタのコマンドで実施します。

なお，HAモニタのサーバとして稼働中のOracleインスタンスまたはOracleリスナーは，必ずHAモニタのコマンドで起動・停止してください。HAモニタ kitを使用した系切り替え構成のOracleインスタンスまたはOracleリスナーをHAモニタのコマンド以外で起動・停止すると，HAモニタが障害を検出してしまう場合があります。

5.2.1　OracleインスタンスまたはOracleリスナーの起動

OracleインスタンスまたはOracleリスナーを起動するには，モニタモードのサーバ起動コマンド（monbeginコマンド）を実行します。モニタモードのサーバ起動コマンド（monbeginコマンド）は，HAモニタの運用コマンドです。なお，CDB（シングルテナント）構成の場合，monbeginコマンドでOracleインスタンスを起動すると，PDBの自動起動設定に関係なく，PDBも自動で起動します。

このコマンドについては，マニュアル「HAモニタ Linux(R)編」の「monbegin（モニタモードのサーバの起動）」の説明を参照してください。

5.2.2　OracleインスタンスまたはOracleリスナーの停止

OracleインスタンスまたはOracleリスナーを停止するには，モニタモードのサーバ停止コマンド（monendコマンド）を実行します。モニタモードのサーバ停止コマンド（monendコマンド）は，HAモニタの運用コマンドです。HAモニタ kitは，サーバの停止処理中にOracleインスタンスまたはOracleリスナーの停止に失敗した場合，またはユーザが指定した時間を経過してもOracleインスタンスまたはOracleリスナーが停止しない場合，OracleインスタンスまたはOracleリスナーを強制停止します。

このコマンドについては，マニュアル「HAモニタ Linux(R)編」の「monend（モニタモードのサーバの停止）」の説明を参照してください。

5.2.3　OracleインスタンスまたはOracleリスナーの監視

OracleインスタンスまたはOracleリスナーの起動が完了すると，HAモニタはサーバの監視コマンドを実行し，サーバを監視します。

サーバの監視コマンドでは，次の方法でサーバを監視しています。

サーバがOracleインスタンスの場合

Oracleインスタンスのプロセスの生存監視

SQLによるOracleインスタンスの状態問い合わせ

Oracleインスタンスのスローダウン監視

サーバがOracleリスナーの場合

Oracleリスナーのプロセスの生存監視

リスナー制御ユティリティを使用した，応答の有無によるスローダウン監視

サーバの監視コマンドの概要や動作の詳細については，マニュアル「HAモニタ Linux(R)編」の「モニタモードのサーバの監視」，および「サーバの監視コマンドの制御」の説明を参照してください。

サーバ（OracleインスタンスおよびOracleリスナー）の監視の一時停止・再開をする場合

次の条件を両方とも満たす場合は，HAモニタ・サーバ稼働中の設定変更コマンド（monchangeコマンド）で，サーバの監視の一時停止・再開ができます。

HAモニタのバージョンが01-69以降

HAモニタのサーバ対応の環境設定のptrlcmd_exオペランドで監視コマンドを指定している

サーバの監視を一時停止する手順

HAモニタ・サーバ稼働中の設定変更コマンド（monchangeコマンド）で，サーバの監視を一時停止します。なお，サーバの監視を一時停止している間に，系切り替えをしないようにするためには，あらかじめ，待機サーバ停止コマンド（monsbystpコマンド）を実行して待機サーバを停止してください。

サーバの監視を再開する手順

HAモニタ・サーバ稼働中の設定変更コマンド（monchangeコマンド）で，サーバの監視を再開します。監視再開後，系切り替え可能状態でなければ，待機系で，モニタモードのサーバの起動コマンド（monbeginコマンド）を実行して系切り替え可能状態にしてください。

5.3　Oracleインスタンス・OracleリスナーのHAモニタを介さない起動・停止

HAモニタ kitはデータベースをマウントし，オープンした状態でOracleインスタンスを起動します。このため，Oracleインスタンスに対して次に示す運用をする場合は，HAモニタを介さないで起動・停止する必要があります。

データベースをマウントしないでOracleインスタンスを起動する場合

データベースをオープンしないでOracleインスタンスを起動する場合

Oracleインスタンスへのアクセスを制限して起動する場合

OracleインスタンスをUPGRADEモードとして起動する場合

Oracleインスタンスを強制的に起動する場合

Oracleインスタンスを起動してメディアリカバリをする場合

Oracle Data Guardを使用したディザスタリカバリ構成で，スイッチオーバを実施する場合

Oracle Data Guardを使用したディザスタリカバリ構成で，プライマリ・データベースのスイッチオーバ後にスタンバイ・データベースとして運用する場合

ここでは，OracleインスタンスとOracleリスナーを，HAモニタを介さないで起動・停止する方法を説明します。

5.3.1　Oracleインスタンス・OracleリスナーをHAモニタを介さないで起動する

HAモニタを介さないでOracleインスタンスまたはOracleリスナーを起動する場合，HAモニタおよびHAモニタ kitがサーバの起動時に実施しているすべての制御をユーザが行います。

HAモニタを介さないでサーバを起動した場合，HAモニタによる監視（系切り替え）はできません。また，HAモニタを介さないで起動したOracleインスタンスおよびOracleリスナーの稼働中は，それらに対応するサーバを起動しないでください。

HAモニタを介さないでOracleインスタンスまたはOracleリスナーを起動する手順を，次に示します。

OracleインスタンスまたはOracleリスナーに対応するサーバが起動している場合は，HAモニタのサーバの停止コマンド（monendコマンド）でサーバを停止する。

OracleインスタンスまたはOracleリスナーが使用するリソース（共有ディスクやクライアント接続用のIPアドレス）を手動で接続する。

OracleインスタンスまたはOracleリスナーを起動する。

起動方法，および起動に必要なオプションについては，Oracleのマニュアルを参照してください。

5.3.2　Oracleインスタンス・OracleリスナーをHAモニタを介さないで停止する

HAモニタを介さないで起動したOracleインスタンスまたはOracleリスナーを停止する場合，HAモニタおよびHAモニタ kitがサーバの停止時に実施しているすべての制御をユーザが行います。

HAモニタを介さないでOracleインスタンスまたはOracleリスナーを停止する手順を，次に示します。

OracleインスタンスまたはOracleリスナーを停止する。

停止方法，および停止に必要なオプションについては，Oracleのマニュアルを参照してください。

OracleインスタンスまたはOracleリスナーが使用するリソース（共有ディスクやクライアント接続用のIPアドレス）を手動で切断する。

切断しないと，HAモニタを介した運用に戻したときに，現用・待機の両系から共有ディスクが接続されデータベースを破壊するなどのおそれがあります。必ず切断してください。

5.4　サーバログの確認

HAモニタ kitは，サーバの起動・停止・監視コマンドが出力するメッセージをサーバログに出力します。サーバの起動・停止・監視コマンドの中で実行するOracleのコマンドなどの標準出力・標準エラー出力も，サーバログに出力されます。サーバログを確認することで，サーバの起動・停止・監視コマンドの処理の結果を調査できます。システムの運用中は，監視処理の結果によって，サーバログの内容は常に更新されます。

注意事項

サーバの稼働中にサーバログを確認する場合は参照だけとし，保存しないでください。参照中に出力されたログ情報が，失われるおそれがあります。

ここでは，サーバログの詳細について説明します。

5.4.1　ファイルの種類

サーバログの一覧を，次の表に示します。ファイル名の「サーバ識別名」の部分には，HAモニタ kitが提供するサーバの起動・停止・監視コマンドの，LOGNAME環境変数の値が適用されます。

表5‒1　サーバログの一覧

ファイル名

説明

/opt/hitachi/HAmon/spool/サーバ識別名.oralog

サーバログのファイルです。サーバの起動・停止・監視コマンドが出力するメッセージの内容が出力されます。

/opt/hitachi/HAmon/spool/サーバ識別名.oralog_old

1世代前のサーバログのファイルです。次に示すタイミングでサーバログのファイルが指定サイズを超えた場合に，サーバログのファイル名の末尾に"_old"を付けてリネームされ，作成されます。

サーバの起動・停止・監視コマンドの実行時

サーバの監視コマンド内で監視処理を実行する直前

/opt/hitachi/HAmon/spool/サーバ識別名.oralog_err

直近のエラー発生時のサーバログのファイルです。サーバの起動・停止・監視コマンドが0以外の戻り値で終了する場合に，サーバログのファイル名の末尾に"_err"を付けてリネームされ，作成されます。障害調査をする場合は，このファイルを参照してください。

5.4.2　ファイルサイズ

サーバログのファイルサイズは，サーバの起動・停止・監視コマンドのLOGSIZE環境変数で変更できます。デフォルトでは，1,048,576バイト（1メガバイト）です。通常はデフォルトのファイルサイズのまま運用します。出力内容が多く，ログ情報が不足する場合にだけ拡張してください。

ファイルサイズを変更する場合は，次の計算式1〜計算式3の結果のうち，最も大きな値よりも大きい値に設定してください。計算式の単位はバイトです。

計算式1

240+（サーバ内のOracleインスタンスおよびOracleリスナーの数）×160

＋（OracleなどHAモニタ kit以外の製品がサーバの起動処理で出力するメッセージの合計サイズ）

計算式2

60+（サーバ内のOracleインスタンスおよびOracleリスナーの数）×170

＋（OracleなどHAモニタ kit以外の製品が1回の監視処理で出力するメッセージの合計サイズ）

計算式3

240+（サーバ内のOracleインスタンスおよびOracleリスナーの数）×160

＋（OracleなどHAモニタ kit以外の製品がサーバの停止処理で出力するメッセージの合計サイズ）

サーバの起動・停止・監視コマンドのLOGSIZE環境変数については，「4.　サーバの起動・停止・監視コマンドの設定」を参照してください。

なお，一定期間分のログを保持するように見積もりたい場合や，ファイルが保持できるログの合計サイズを計算したい場合は，サーバの起動から停止までに出力されるメッセージの合計サイズを，次に示す計算式で求めてください。

なお，次の計算式中の「計算式1」「計算式2」「計算式3」は，サーバログのファイルサイズの見積もりに使用した計算式の結果のことです。

計算式1＋計算式2×（サーバの稼働時間（単位：秒）÷サーバの監視コマンドの監視処理の間隔（単位：秒））＋計算式3

5.4.3　出力例

サーバログの出力例を次の図に示します。ここで示す例は，Oracleインスタンスの起動に失敗した場合の出力内容です。

次に，図中の番号について説明します。

HAモニタ kitのコマンドが出力するメッセージです。メッセージの出力日時やIDなどが出力されます。出力例では，メッセージKAMK00401-Iなどが出力されています。HAモニタ kitが出力するメッセージの詳細については，「6.2　メッセージの詳細」を参照してください。

HAモニタ kitがOracleの操作をした結果，Oracleが出力したメッセージや，ユーザがサーバの起動・停止・監視コマンドに追加した処理によって出力されたメッセージです。この行に出力されるメッセージについては，Oracleのマニュアルなどを参照してください。

5.4.4　メッセージの言語環境

サーバログに出力されるOracleのメッセージは，HAモニタの言語環境と対応した言語で出力されます。メッセージの言語環境の対応を，次の表に示します。

表5‒2　メッセージの言語環境の対応

HAモニタの言語環境（LANG）

Oracleの言語環境（NLS_LANG）

メッセージの言語

ja_JP.UTF-8

JAPANESE_JAPAN.AL32UTF8

日本語（UTF-8）

ja_JP.eucJP

JAPANESE_JAPAN.JA16EUC

日本語（EUC）

ja_JP.SJIS

JAPANESE_JAPAN.JA16SJIS

日本語（S-JIS）

その他

設定されない

英語

5.5　障害発生による系切り替え時の運用

ここでは，HAモニタ kitを使用したシステムで障害が発生した場合に収集する障害情報について説明します。障害を検出したあとのオペレータの対処については，マニュアル「HAモニタ Linux(R)編」の「障害発生による系切り替え時の運用」の説明を参照してください。

5.5.1　障害情報を収集する

障害が発生した場合，HAモニタ kitの障害情報を収集します。HAモニタ kitの障害情報は，HAモニタのトラブルシュート情報収集コマンド（montsコマンド）でHAモニタの障害情報と一緒に収集されます。HAモニタの障害情報の収集については，マニュアル「HAモニタ Linux(R)編」の「障害情報を収集する」の説明を参照してください。

HAモニタ kitには，次の障害情報があります。

サーバログ

詳細については，「5.4　サーバログの確認」を参照してください。

制御用定義ファイル

詳細については，「3.2.7(2)　制御用定義ファイルの設定」を参照してください。

サーバの起動・停止・監視コマンド

/opt/hitachi/HAmon/etcに，サーバの起動・停止・監視コマンドがある場合にだけ収集されます。詳細については，「3.2.7(1)　サーバの起動・停止・監視コマンドの設定」を参照してください。

5.6　障害への対処

障害の発生時に出力されるメッセージを基に，オペレータは障害に対処してください。また，必要に応じて，HAモニタ kitの障害情報を収集してください。HAモニタ kitの障害情報については，「5.5.1　障害情報を収集する」を参照してください。

HAモニタ kitでは，次の障害が発生した場合は，サーバログの内容を確認して対処します。サーバログには，サーバの起動・停止・監視コマンドが出力するメッセージの内容が出力されます。

Oracleインスタンスの起動失敗

Oracleインスタンスの再起動失敗

Oracleインスタンスの停止失敗

Oracleインスタンスの障害

Oracleリスナーの起動失敗

Oracleリスナーの再起動失敗

Oracleリスナーの停止失敗

Oracleリスナーの障害

サーバログについては「5.4　サーバログの確認」を，メッセージの対処については「6.　メッセージ」またはマニュアル「HAモニタ メッセージ」を参照してください。また，HAモニタの系切り替えシステムで発生する代表的な障害の例については，マニュアル「HAモニタ Linux(R)編」の「障害への対処」の説明を参照してください。

5.7　システムの変更

ここでは，システムを変更したときに必要な設定，および注意事項について説明します。

5.7.1　Oracleをアップグレードする

Oracleをアップグレードする場合，サーバを設定し直す必要があります。Oracleをアップグレードするときに必要なサーバの設定手順について，次に示します。

モニタモードのサーバの停止コマンド（monendコマンド）を実行して，サーバを停止する。

Oracleが使用する共有ディスクを，手動で参照＋更新接続する。

共有ディスクの接続方法については，OSのマニュアルを参照してください。

Oracleをアップグレードする。

アップグレードの方法については，Oracleのマニュアルを参照してください。

Oracleインスタンス・Oracleリスナーの制御用定義ファイルを修正する。

Oracleをアップグレードすると，Oracleホームディレクトリが変更されます。制御用定義ファイルのORACLE_HOMEを，アップグレード後の値に修正してください。

共有ディスクを手動で切り離す。

共有ディスクの切り離し方法については，OSのマニュアルを参照してください。

モニタモードのサーバの起動コマンド（monbeginコマンド）でサーバを起動する。

5.7.2　Oracleインスタンス・Oracleリスナーを追加する

ここでは，OracleインスタンスまたはOracleリスナーを，HAモニタ kitの制御対象に追加する方法について，構築済みのサーバに追加する場合と新しいサーバとして追加する場合とに分けて説明します。

(1)　構築済みのサーバに追加する

構築済みのサーバに，OracleインスタンスまたはOracleリスナーを追加する手順を，次に示します。

モニタモードのサーバの停止コマンド（monendコマンド）を実行して，サーバを停止する。

OracleインスタンスまたはOracleリスナーを追加したいサーバを停止しないまま，サーバの停止コマンドに設定を追加して設定内容を誤ると，OracleインスタンスおよびOracleリスナーを停止できなくなるおそれがあります。設定の追加は，必ずサーバを停止してから実施してください。

データベースを作成する。

追加するデータベースを，Oracleのマニュアルを参照して作成してください。

追加するOracleインスタンス・Oracleリスナーの制御用定義ファイルを作成する。

制御用定義ファイルについては，「3.2.7(2)　制御用定義ファイルの設定」を参照してください。

サーバの起動・停止・監視コマンドに設定を追加する。

追加したいOracleインスタンスまたはOracleリスナー用の処理を，サーバの起動・停止・監視コマンドに追加します。サーバの起動・停止・監視コマンドの設定については，「4.　サーバの起動・停止・監視コマンドの設定」を参照してください。

モニタモードのサーバの起動コマンド（monbeginコマンド）でサーバを起動する。

(2)　新しいサーバとして追加する

新しいサーバとしてOracleインスタンスまたはOracleリスナーを追加する方法は，「3.2　システムの構築」を参照してください。OracleインスタンスおよびOracleリスナーを設定するサーバの起動・停止・監視コマンドについては，「4.　サーバの起動・停止・監視コマンドの設定」を参照してください。

5.7.3　Oracleインスタンス・Oracleリスナーを削除する

OracleインスタンスまたはOracleリスナーを，HAモニタ kitの制御対象から削除する手順を，次に示します。

モニタモードのサーバの停止コマンド（monendコマンド）を実行して，サーバを停止する。

OracleインスタンスまたはOracleリスナーを削除したいサーバを停止しないまま，誤ってサーバの停止コマンドの設定を削除すると，OracleインスタンスおよびOracleリスナーを停止できなくなるおそれがあります。設定の削除は，必ずサーバを停止してから実施してください。

サーバの起動・停止・監視コマンドから設定を削除する。

削除したいOracleインスタンスまたはOracleリスナー用の処理を，サーバの起動・停止・監視コマンドから削除，またはコメントアウトします。サーバの起動・停止・監視コマンドの設定については，「4.　サーバの起動・停止・監視コマンドの設定」を参照してください。

Oracleインスタンス・Oracleリスナーの制御用定義ファイルを削除する（任意）。

定義ファイルの削除は任意です。データベースを削除する場合は削除します。データベースを残す場合は将来再利用することを目的として，定義ファイルを残しておくことができます。

モニタモードのサーバの起動コマンド（monbeginコマンド）でサーバを起動する。

5.7.4　Oracleインスタンス・Oracleリスナーに関する設定を変更する

構築済みのOracleインスタンスまたはOracleリスナーに関するサーバの起動・停止・監視コマンド，および制御用定義ファイルを変更する方法を，次に示します。

モニタモードのサーバの停止コマンド（monendコマンド）を実行して，サーバを停止する。

サーバを停止しないまま設定を変更すると，設定誤りによってOracleインスタンスおよびOracleリスナーを停止できなくなったり，設定内容と動作中のサーバの監視コマンドの動作が一致しなくなり，サーバの監視コマンドの状態を把握できなくなったりするおそれがあります。設定の変更は，必ずサーバを停止してから実施してください。

サーバの起動・停止・監視コマンドや制御用定義ファイルなどの設定を変更する。

サーバの起動・停止・監視コマンドについては，「4.　サーバの起動・停止・監視コマンドの設定」を参照してください。

制御用定義ファイルについては，「3.2.7(2)　制御用定義ファイルの設定」を参照してください。

モニタモードのサーバの起動コマンド（monbeginコマンド）でサーバを起動する。

5.7.5　CDB（シングルテナント）構成でPDBをunplugおよびplugする

HAモニタ kitがOracleを監視中にPDBをunplugすると，Oracleのスローダウンを検知します。

PDBをunplugする場合は，次のどちらかの運用をしてください。

実行サーバを停止したあと，HAモニタを介さないでOracleを起動してから，PDBをunplugする。

HAモニタのコマンドでOracleの監視を一時停止してから，PDBをunplugする。

それぞれの運用でPDBをunplugおよびplugする手順を次に示します。

(1)　実行サーバを停止したあと，HAモニタを介さないでOracleを起動してから，PDBをunplugおよびplugする

モニタモードのサーバの停止コマンド（monend コマンド）を実行して，実行サーバを停止する。

このコマンドについては，マニュアル「HA モニタ Linux(R)編」の「monend（モニタモードのサーバの停止）」の説明を参照してください。

Oracleインスタンスを，HAモニタを介さないで起動する。

詳細は，「5.3.1　Oracleインスタンス・OracleリスナーをHAモニタを介さないで起動する」を参照してください。

PDBがOPENしている場合は，PDBをCLOSEする。

PDBをCLOSEする方法についてはOracleのドキュメントを参照してください。

PDBをunplugする。

PDBをunplugする方法についてはOracleのドキュメントを参照してください。

PDBをplugする。

運用に合わせて，必要となるPDBをplugしてください。PDBをplugする方法についてはOracleのドキュメントを参照してください。

Oracleインスタンス制御用定義ファイルのPDB_NAMEを変更する。

Oracleインスタンス制御用定義ファイルのPDB_NAMEの指定を，系切り替え構成内のすべての系で，plugしたPDB名に変更してください。

PDB_NAMEに指定したPDB名を変更しない場合，およびPDB_NAMEに誤ったPDB名を指定した場合は，Oracleインスタンス起動時に，HAモニタ kitがOracleインスタンスの異常を検出します。

Oracleインスタンスを，HAモニタを介さないで停止する。

詳細は，「5.3.2　Oracleインスタンス・OracleリスナーをHAモニタを介さないで停止する」を参照してください。

モニタモードのサーバの起動コマンド（monbeginコマンド）でサーバを起動する。

(2)　HAモニタのコマンドでOracleの監視を一時停止してから，PDBをunplugおよびplugする

HAモニタ・サーバ稼働中の設定変更コマンド（monchangeコマンド）でOracleインスタンスの監視を一時停止する。

DB_NOACCESSにyesを指定している場合，この操作は不要です。

このコマンドについては，マニュアル「HAモニタLinux(R)編」の，HAモニタ・サーバ稼働中の設定変更コマンド（monchangeコマンド）の説明を参照してください。

PDBをCLOSEする。

PDBをCLOSEする方法についてはOracleのドキュメントを参照してください。

PDBをunplugする。

PDBをunplugする方法についてはOracleのドキュメントを参照してください。

PDBをplugする。

運用に合わせて，必要となるPDBをplugしてください。PDBをplugする方法についてはOracleのドキュメントを参照してください。

Oracleインスタンス制御用定義ファイルのPDB_NAMEを変更する。

DB_NOACCESSにyesを指定している場合，この操作は不要です。

Oracleインスタンス制御用定義ファイルのPDB_NAMEの指定を，系切り替え構成内のすべての系で，plugしたPDB名に変更してください。

PDB_NAMEに指定したPDB名を変更しない場合，およびPDB_NAMEに誤ったPDB名を指定した場合は，Oracleインスタンス監視の再開時に，HAモニタ kitがOracleインスタンスの異常を検出します。

PDBをREAD WRITEでOPENする。

PDBをOPENする方法についてはOracleのドキュメントを参照してください。

HAモニタ・サーバ稼働中の設定変更コマンド（monchangeコマンド）でOracleインスタンスの監視を再開する。

このコマンドについては，マニュアル「HAモニタ Linux(R)編」の「monchange（HAモニタ・サーバ稼働中の設定変更）」の説明を参照してください。

6　メッセージ

この章では，HAモニタ kitが出力するメッセージについて説明します。

6.1　メッセージの形式

メッセージの形式について説明します。

6.1.1　メッセージの出力形式

出力されるメッセージの形式を次に示します。

KAMKnnnnn-i xx....xx

KAMKnnnnn-i：メッセージID

xx....xx：メッセージテキスト

サーバログに出力されるメッセージには，メッセージIDの前に，出力日時が"yyyy/mm/dd HH:MM:SS "の形式で付与されます。

6.1.2　メッセージの記述形式

(1)　記述形式

このマニュアルでのメッセージの記述形式を次に示します。

KAMKnnnnn-i (X)

Message text

メッセージの意味について説明します。

aa....aa：可変値について説明します。

S：

システムがメッセージを出力したあとにする，主な処理を示します。

O：

メッセージ確認後，オペレータがする処理を示します。

対策：

メッセージ確認時のシステム管理者の処置を示します。

なお，「O：」や「対策：」に記載されている「保守員に連絡してください。」とは，購入時の契約に基づいて，システム管理者が弊社問い合わせ窓口へ連絡することを示します。

(2)　メッセージIDの記号の説明

メッセージIDの記号の意味を次に示します。

KAMK：

HAモニタ kitのメッセージであることを示します。

nnnnn：

メッセージの通し番号を示します。

i：

メッセージの種類を示します。

E：

各ライブラリ，コマンド，サーバの機能が働かない障害が発生したことを示しています。

定義誤り，コマンドのオペランド指定誤りによって，動作できないことを示しています。

W：

コマンドの動作状況などについての警告を示しています。

I：

E，およびWに該当しないメッセージで，単純に動作を示しています。

(X)：

メッセージの出力先種別を示します。

(P)：サーバログファイル

(L)：メッセージログファイル（syslog）

一つのメッセージが，複数の出力先を持つ場合は，出力先種別を"+"でつないで記載します。

6.2　メッセージの詳細

HAモニタ kitのメッセージの詳細について説明します。

KAMK00021-E (P+L)

The aa....aa command contains syntax errors.

HAモニタ kitのコマンドの実行形式に誤りがあります。

aa....aa：コマンド名

S：

コマンド処理を中止します。

O：

コマンドを正しい形式で実行してください。

KAMK00120-E (P+L)

The file aa....aa contains errors. Parameter : bb....bb

aa....aaに示す制御用定義ファイル内の，bb....bbに示すパラメタの指定方法が誤っています。

aa....aa：ファイル名

bb....bb：パラメタ名

S：

処理を終了します。

対策：

「3.2.7(2)　制御用定義ファイルの設定」を参照して，パラメタ名に示すパラメタの誤りを修正してください。

KAMK00130-E (P+L)

The file aa....aa does not exist.

aa....aaに示す制御用定義ファイルが存在しません。

aa....aa：ファイル名

S：

処理を終了します。

対策：

次を確認してください。

コマンドの引数に指定したOracleインスタンスのインスタンス識別子，またはOracleリスナーのリスナー名が正しいか。

制御用定義ファイル名が正しいか。

制御用定義ファイル，およびそれらを配置しているディレクトリに，一般ユーザの読み込み権限が付与されているか。

制御用定義ファイルが存在しない場合は，「3.2.7(2)　制御用定義ファイルの設定」を参照して作成してください。

KAMK00201-I (P)

Usage : haorainsbgn ORACLE_SID

Oracleインスタンスの起動コマンド（haorainsbgnコマンド）の実行形式が誤っているとき，メッセージKAMK00021-Eに続いて出力されます。

S：

処理を続行します。

KAMK00202-I (P)

Usage : haorainsend ORACLE_SID

Oracleインスタンスの停止コマンド（haorainsendコマンド）の実行形式が誤っているとき，メッセージKAMK00021-Eに続いて出力されます。

S：

処理を続行します。

KAMK00203-I (P)

Usage : haorainsptl ORACLE_SID

Oracleインスタンスの状態確認コマンド（haorainsptlコマンド）の実行形式が誤っているとき，メッセージKAMK00021-Eに続いて出力されます。

S：

処理を続行します。

KAMK00204-I (P)

Usage : haoralsnrbgn LISTENER_NAME

Oracleリスナーの起動コマンド（haoralsnrbgnコマンド）の実行形式が誤っているとき，メッセージKAMK00021-Eに続いて出力されます。

S：

処理を続行します。

KAMK00205-I (P)

Usage : haoralsnrend LISTENER_NAME

Oracleリスナーの停止コマンド（haoralsnrendコマンド）の実行形式が誤っているとき，メッセージKAMK00021-Eに続いて出力されます。

S：

処理を続行します。

KAMK00206-I (P)

Usage : haoralsnrptl LISTENER_NAME

Oracleリスナーの状態確認コマンド（haoralsnrptlコマンド）の実行形式が誤っているとき，メッセージKAMK00021-Eに続いて出力されます。

S：

処理を続行します。

KAMK00301-I (P)

Oracle instance aa....aa will now start.

aa....aaで示すOracleインスタンスを起動します。

aa....aa：インスタンス識別子

S：

処理を続行します。

KAMK00302-I (P)

Oracle instance aa....aa has started.

aa....aaで示すOracleインスタンスの起動が完了しました。

aa....aa：インスタンス識別子

S：

処理を続行します。

KAMK00303-E (P+L)

An attempt to start Oracle instance aa....aa has failed.

aa....aaで示すOracleインスタンスの起動に失敗しました。

aa....aa：インスタンス識別子

S：

処理を終了します。

O：

サーバログに出力されている内容を基に原因を調査してください。

KAMK00304-I (P)

Oracle instance aa....aa will now stop.

aa....aaで示すOracleインスタンスを停止します。

aa....aa：インスタンス識別子

S：

処理を続行します。

KAMK00305-I (P)

Oracle instance aa....aa has stopped.

aa....aaで示すOracleインスタンスを停止しました。

aa....aa：インスタンス識別子

S：

処理を続行します。

KAMK00306-E (P+L)

An attempt to stop Oracle instance aa....aa has failed.

aa....aaで示すOracleインスタンスの停止に失敗しました。

aa....aa：インスタンス識別子

S：

処理を終了します。

O：

サーバログに出力されている内容を基に原因を調査してください。

KAMK00308-E (P+L)

An error was detected in Oracle instance aa....aa.

Oracleインスタンスの状態確認によって，aa....aaで示すOracleインスタンスの異常を検知しました。

aa....aa：インスタンス識別子

S：

処理を続行します。

対策：

Oracleのログを確認し，異常を検知した原因を取り除いてください。

KAMK00309-E (P+L)

A slowdown was detected in Oracle instance aa....aa.

Oracleインスタンスの状態確認によって，aa....aaで示すOracleインスタンスのスローダウンを検知しました。

aa....aa：インスタンス識別子

S：

処理を続行します。

対策：

Oracleのログを確認し，スローダウンを検知した原因を取り除いてください。

KAMK00310-W (P)

Oracle instance aa....aa could not be terminated.

aa....aaで示すOracleインスタンスを正常停止できませんでした。

aa....aa：インスタンス識別子

S：

処理を続行します。

KAMK00311-W (P)

The processing to stop Oracle instance aa....aa timed out.

aa....aaで示すOracleインスタンスの正常停止処理がタイムアウトしたことによって，Oracleインスタンスを正常停止できませんでした。

aa....aa：インスタンス識別子

S：

処理を続行します。

KAMK00312-I (P)

Oracle instance aa....aa will be forcibly stopped.

aa....aaで示すOracleインスタンスを強制停止します。

aa....aa：インスタンス識別子

S：

処理を続行します。

KAMK00321-I (P)

Oracle listener aa....aa will now start.

aa....aaで示すOracleリスナーを起動します。

aa....aa：リスナー名

S：

処理を続行します。

KAMK00322-I (P)

Oracle listener aa....aa has started.

aa....aaで示すOracleリスナーの起動が完了しました。

aa....aa：リスナー名

S：

処理を続行します。

KAMK00323-E (P+L)

An attempt to start Oracle listener aa....aa has failed.

aa....aaで示すOracleリスナーの起動に失敗しました。

aa....aa：リスナー名

S：

処理を終了します。

O：

サーバログに出力されている内容を基に原因を調査してください。

KAMK00324-I (P)

Oracle listener aa....aa will now stop.

aa....aaで示すOracleリスナーを停止します。

aa....aa：リスナー名

S：

処理を続行します。

KAMK00325-I (P)

Oracle listener aa....aa has stopped.

aa....aaで示すOracleリスナーを停止しました。

aa....aa：リスナー名

S：

処理を続行します。

KAMK00326-E (P+L)

An attempt to stop Oracle listener aa....aa has failed.

aa....aaで示すOracleリスナーの停止に失敗しました。

aa....aa：リスナー名

S：

処理を続行します。

O：

サーバログに出力されている内容を基に原因を調査してください。

KAMK00328-E (P+L)

An error was detected in Oracle listener aa....aa.

Oracleリスナーの状態確認によって，aa....aaで示すOracleリスナーの異常を検知しました。

aa....aa：リスナー名

S：

処理を続行します。

対策：

Oracleのログを確認し，異常を検知した原因を取り除いてください。

KAMK00329-E (P+L)

A slowdown was detected in Oracle listener aa....aa.

Oracleリスナーの状態確認によって，aa....aaで示すOracleリスナーのスローダウンを検知しました。

aa....aa：リスナー名

S：

処理を続行します。

対策：

Oracleのログを確認し，スローダウンを検知した原因を取り除いてください。

KAMK00330-W (P)

Oracle listener aa....aa could not be terminated.

aa....aaで示すOracleリスナーを正常停止できませんでした。

aa....aa：リスナー名

S：

処理を続行します。

KAMK00331-W (P)

The processing to stop Oracle listener aa....aa timed out.

aa....aaで示すOracleリスナーの正常停止処理がタイムアウトしたことによって，Oracleリスナーを正常停止できませんでした。

aa....aa：リスナー名

S：

処理を続行します。

KAMK00332-I (P)

Oracle listener aa....aa will be forcibly stopped.

aa....aaで示すOracleリスナーを強制停止します。

aa....aa：リスナー名

S：

処理を続行します。

KAMK00356-E (P)

User name : aa....aa does not exist in system.

ユーザ名に示すユーザがシステムに存在しません。

aa....aa：ユーザ名

S：

処理を続行します。

対策：

制御用定義ファイルの，ORACLE_USERに設定したOracleユーザのアカウント名が正しいかどうかを確認してください。正しい場合は，システムにOracleユーザが存在することを確認してください。

KAMK00401-I (P)

********** The actcommand start. **********

サーバの起動コマンドが実行されたことを示します。

S：

処理を続行します。

KAMK00402-I (P)

********** The actcommand end. (aa....aa) **********

サーバの起動コマンドの実行が終了したことを示します。

aa....aa：サーバの起動コマンドの戻り値

S：

処理を続行します。

対策：

戻り値が0以外の場合は，サーバの起動コマンド内の設定内容とサーバログを調査してください。

KAMK00411-I (P)

********** The termcommand start. **********

サーバの停止コマンドが実行されたことを示します。

S：

処理を続行します。

KAMK00412-I (P)

********** The termcommand end. (aa....aa) **********

サーバの停止コマンドの実行が終了したことを示します。

aa....aa：サーバの停止コマンドの戻り値

S：

処理を続行します。

対策：

戻り値が0以外の場合は，サーバの停止コマンド内の設定内容とサーバログを調査してください。

KAMK00421-I (P)

********** The patrolcommand start. **********

サーバの監視コマンドが実行されたことを示します。

S：

処理を続行します。

KAMK00422-I (P)

********** The patrolcommand end. (aa....aa) **********

サーバの監視コマンドの実行が終了したことを示します。

aa....aa：サーバの監視コマンドの戻り値

S：

処理を続行します。

対策：

戻り値が0以外の場合は，サーバの監視コマンド内の設定内容とサーバログを調査してください。

KAMK00423-E (P+L)

An error was detected during monitoring process. The patrolcommand will now stop.

サーバの監視コマンド内の監視処理で異常を検知したため監視コマンドを終了します。

S：

処理を終了します。

対策：

サーバログに出力された内容を基に原因を調査してください。

なお，HAモニタ kitが提供しているコマンド内では，ヒアドキュメントを利用しているため，一時ファイルの出力先である/tmp領域に空きがない場合，サーバの監視コマンドが異常を検知します。異常を検知した場合は，/tmp領域に空きを作成し，かつ，サーバ稼働中に/tmp領域が満杯にならないようにしてください。

また，サーバ起動後すぐにこのエラーメッセージが出力されて異常を検知する場合は，設定に誤りがあるおそれがあります。次に示す設定を確認してください。

HAモニタから利用するシェルの改行コードが，OSに準拠したものになっているか。

HAモニタから利用するシェルの構文，およびパスなどの設定値が正しいか。

サーバの監視コマンドに，Oracleユーザの読み込み権限と実行権限が付与されているか。

サーバの監視コマンド実行シェルのPATROL_SHELL環境変数に指定する，サーバの監視コマンドのパスが正しいか。

同じサーバの起動・停止・監視コマンドのLOGNAME環境変数には，すべて同じ値を指定しているか。また，サーバごとにユニークな値を指定しているか。

HAモニタのサーバ対応の環境設定（servers）のwaitserv_execオペランドに「yes」を指定しているか。

/opt/hitachi/HAmon/spool/配下のログファイル（oralog）に，一般ユーザの読み込み権限，および書き込み権限が付与されているか。

サーバの監視コマンド，およびサーバの停止コマンドを手動で実行した場合，一般ユーザの書き込み権限がないログファイルが生成されているおそれがあります。

CDB（シングルテナント）構成の場合，インスタンス制御用定義ファイルのCDBにyesが設定されているか。

CDB（シングルテナント）構成の場合，インスタンス制御用定義ファイルのPDB_NAMEに設定したPDB名が正しいか。

KAMK00601-E (P+L)

An error occurred in the aa....aa system call. Error details : bb....bb Functional name : cc....cc

HAモニタ kitの関数内で発行したシステムコールでエラーが発生しました。詳細コードについては，対応するOSのマニュアルを参照してください。

aa....aa：発行したシステムコール

bb....bb：詳細コード（1〜3桁）

cc....cc：エラーが発生した関数名

S：

処理を続行します。

O：

システム管理者に連絡してください。

対策：

詳細コードを基に原因を調査してください。

付録

付録A　各バージョンの変更内容

各バージョンの変更内容を示します。

付録A.1　HAモニタ kit for Oracle 01-03の変更内容（3000-9-135-20）

HAモニタ kit for Oracle 01-03の変更内容（3000-9-135-20）を次の表に示します。

追加・変更内容

Oracleのデータベース構成として，CDB（シングルテナント）構成に対応した。

これに伴い，次の制御用定義パラメタを追加した。

PATROL_TABLE

CDB

PDB_NAME

サーバの監視を一時停止できるようにした。

これに伴い，次のオペランドを追加した。

ptrlcmd_ex

ptrlcmd_ex_inter

ptrlcmd_ex_retry

ptrlcmd_ex_tmout

これによって，本番運用中，監視対象のサーバプログラムをメンテナンスしたい場合などに監視状態を解除することができる。

HAモニタ kitが監視する表領域としてdual表を指定できるようにした。これに伴い，次の制御用定義パラメタを追加した。

PATROL_TABLE

次のメッセージを追加した。

KAMK00356-

次のメッセージを変更した。

KAMK00130-E

KAMK00423-E

前版の変更内容を付録に移動した。

Oracle Database 18cをサポートした。

付録A.2　HAモニタ kit for Oracle 01-01の変更内容（3000-9-135-10）

HAモニタ kit for Oracle 01-01の変更内容（3000-9-135-10）を次の表に示します。

追加・変更内容

HAモニタおよびHAモニタ kitがする処理の流れについての説明を変更した。

HAモニタ kit のコマンドを編集できるようにした。これに伴い，次のサブコマンドを追加した。

haorainsendsub（Oracleインスタンスの停止）

haorainsptlsub（Oracleインスタンスの状態確認）

haoralsnrendsub（Oracleリスナーの停止）

haoralsnrptlsub（Oracleリスナーの状態確認）

haoraenvcheck（制御用定義ファイルのチェック）

また，サーバの起動・停止・監視コマンドのサンプルファイルの内容を変更した。

制御用定義ファイルに，任意の環境変数を指定できるようにした。

制御用定義ファイルに指定できるパラメタに，ORACLE_BASEを追加した。

注意が必要なサーバ対応の環境設定のオペランドにservexec_retryを追加した。

Oracle Database 12cをサポートした。

付録B　このマニュアルの参考情報

このマニュアルを読むに当たっての参考情報を示します。

付録B.1　関連マニュアル

関連マニュアルを次に示します。必要に応じてお読みください。

高信頼化システム監視機能 HAモニタ Linux(R)編（3000-9-132），および高信頼化システム監視機能 HAモニタ Linux(R)（x86）編（3000-9-201）

このマニュアルでは，「HAモニタ Linux(R)編」と略して記載します。

高信頼化システム監視機能 HAモニタ メッセージ（3000-9-203）

このマニュアルでは，「HAモニタ メッセージ」と略して記載します。

付録B.2　このマニュアルでの表記

このマニュアルでは，製品名を次のように表記しています。

製品名

表記

Linux

Linux(R)

Linux

Linux（x86）

Red Hat(R) Enterprise Linux(R) server 6(x86)

Red Hat(R) Enterprise Linux(R) server 6(x86_64)

Red Hat(R) Enterprise Linux(R) server 7(x86_64)

Red Hat(R) Enterprise Linux(R) server 8(x86_64)

Oracle

Oracle Database 10g

Oracle Database 11g

Oracle Database 12c

Oracle Database 18c

Oracle Database 19c

UNIX

UNIX

付録B.3　英略語

このマニュアルで使用する英略語を次に示します。

英略語

英字での表記

ASM

Automatic Storage Management

CDB

Multitenant Container Database

DB

Database

EUC

Extended UNIX Code

FS

File System

HA

High Availability

I/O

Input/Output

LAN

Local Area Network

LVM

Logical Volume Manager

Non-CDB

Non-Multitenant Container Database

OS

Operating System

PDB

Pluggable Database

RAC

Real Application Clusters

UTF-8

8-bit UCS Transformation Format

付録B.4　KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

索引

A

ABORT_LIMIT[1]

acttype[1]

C

CDB[1]

CDB(シングルテナント)構成[1]

CDB(マルチテナント)構成[1]

D

DB_NOACCESS[1]

G

group[1]

H

haoraenvcheck[1]

haorainsbgn[1]

haorainsend[1]

haorainsendsub[1]

haorainsptl[1]

haorainsptlsub[1]

haoralsnrbgn[1]

haoralsnrend[1]

haoralsnrendsub[1]

haoralsnrptl[1]

haoralsnrptlsub[1]

HAモニタ kit[1]

構成[1]

設定[1]

必要なソフトウェア[1]

必要なハードウェア[1]

目的[1]

HAモニタ kitが検出する障害[1]

HAモニタが検出する障害[1]

L

LAN[1]

LISTENER_NAME[1]

LISTENER_NOACCESS[1]

LOGNAME〔サーバの監視コマンド〕[1]、[2]

LOGNAME〔サーバの起動コマンド〕[1]

LOGNAME〔サーバの停止コマンド〕[1]

LOGSIZE〔サーバの監視コマンド〕[1]、[2]

LOGSIZE〔サーバの起動コマンド〕[1]

LOGSIZE〔サーバの停止コマンド〕[1]

M

monbegin[1]

monend[1]

monts[1]

N

name[1]

Non-CDB（シングル）構成[1]

O

Oracle

アップグレードする[1]

インストール[1]

構成[1]

構成と系切り替え単位の検討[1]

データベースの構築[1]

ORACLE_BASE[1]

ORACLE_HOME[1]

ORACLE_SID[1]

ORACLE_USER[1]

ORACLE_USER〔サーバの監視コマンド実行シェル〕[1]

Oracleインスタンス[1]

HAモニタを介さないで起動する[1]

HAモニタを介さないで停止する[1]

監視[1]

起動[1]

削除する[1]

制御用定義ファイル[1]

追加する[1]

停止[1]

Oracleインスタンスの起動〔コマンド〕[1]

Oracleインスタンスの状態確認〔コマンド〕[1]

Oracleインスタンスの状態確認〔サブコマンド〕[1]

Oracleインスタンスの停止〔コマンド〕[1]

Oracleインスタンスの停止〔サブコマンド〕[1]

Oracleリスナー[1]

HAモニタを介さないで起動する[1]

HAモニタを介さないで停止する[1]

監視[1]

起動[1]

構築[1]

削除する[1]

制御用定義ファイル[1]

追加する[1]

停止[1]

Oracleリスナーの起動〔コマンド〕[1]

Oracleリスナーの状態確認〔コマンド〕[1]

Oracleリスナーの状態確認〔サブコマンド〕[1]

Oracleリスナーの停止〔コマンド〕[1]

Oracleリスナーの停止〔サブコマンド〕[1]

P

PATROL[1]

PATROL_INTERVAL〔サーバの監視コマンド〕[1]

PATROL_SHELL〔サーバの監視コマンド実行シェル〕[1]

PATROL_TABLE[1]

patrolcommand[1]

PDB_NAME[1]

ptrlcmd_ex[1]

ptrlcmd_ex_inter[1]

ptrlcmd_ex_retry[1]

ptrlcmd_ex_tmout[1]

R

RAC構成[1]

S

servexec_retry[1]

start_timeout[1]

stop_timeout[1]

T

termcommand[1]

W

waitserv_exec[1]

い

インスタンス識別子[1]

か

環境設定例[1]

き

共有ディスク[1]

共有リソース

Oracleが使用する共有リソースの設定[1]

け

系切り替え構成[1]

系切り替えのテスト[1]

こ

構築に必要な設定項目の対応と設定の概要[1]

さ

サーバ[1]

動作確認[1]

サーバの監視コマンド

カスタマイズ[1]、[2]

サーバの監視コマンドのサンプルファイルの格納ディレクトリ[1]

サーバの監視コマンドの設定（patrolcommandオペランドでサーバの監視コマンド実行シェルを指定する場合）[1]

サーバの監視コマンドの設定（ptrlcmd_exオペランドでサーバの監視コマンドを指定する場合）[1]

サーバの起動コマンド

カスタマイズ[1]

設定[1]

サーバの起動・停止コマンドのサンプルファイルの格納ディレクトリ[1]

サーバの停止コマンド

カスタマイズ[1]

設定[1]

サーバログの確認[1]

し

システム構築の流れ[1]

システムの動作確認[1]

障害

Oracleインスタンスの障害[1]

Oracleインスタンスのスローダウン[1]

Oracleリスナーの障害[1]

Oracleリスナーのスローダウン[1]

系障害[1]

種類[1]

障害検出の仕組み[1]

障害情報を収集する[1]

ネットワーク障害[1]

処理の流れ[1]

Oracleインスタンス障害時の系切り替え[1]

Oracleインスタンスの監視[1]

Oracleインスタンスの起動[1]

Oracleインスタンスの起動失敗[1]

Oracleインスタンスの起動タイムアウト時[1]

Oracleインスタンスの停止[1]

Oracleリスナー障害時の系切り替え[1]

Oracleリスナーの監視[1]

Oracleリスナーの起動[1]

Oracleリスナーの起動失敗[1]

Oracleリスナーの起動タイムアウト時[1]

Oracleリスナーの停止[1]

シングル構成[1]

シングルテナント構成[1]

せ

制御用定義ファイルのコピー元ファイルとコピー先ディレクトリ[1]

制御用定義ファイルの設定[1]

制御用定義ファイルのチェック〔サブコマンド〕[1]

て

定義ファイル[1]

ディレクトリ構成[1]

ま

マルチテナント構成[1]

め

メッセージの言語環境の対応[1]

り

リスナー名[1]

リソース

構成の検討[1]

サーバとの対応[1]

リソースサーバ

検討[1]

ろ

ローカルディスク[1]