ディスク障害などによるデータベース資源の異常を監視する場合、監視対象のデータベース資源を指定したファイルを作成します。このファイルを、DBミラーリング動作環境ファイルのDB_INH_OBSERVEパラメタに指定することで、異常発生時にDBミラーリングシステムで自動的にノード切替えを行うことが可能です。
本章では、監視対象のデータベース資源を指定した、DB監視資源定義ファイルの作成方法を説明します。
ポイント
データベース資源の監視方法として、異常発生時に自動切替えを選択した場合、業務への影響の考慮やデータベースとしてのリカバリを行わずに即座にノードの切替えを行います。
データベース資源の異常(閉塞)が発生した場合は、メッセージやRDBコマンドにより状態を判断してから、適切な処置を実施後にノードの切替えを行った方が、業務への影響を少なくできる場合があります。例えばテンポラリログファイルが閉塞した場合に、ロストデータ発生を防止することができます。このため、DB_INH_OBSERVEパラメタを指定しない運用を推奨します。自動切替えを利用するかどうかは、この点と業務要件を考慮して検討してください。
本機能はデータベース資源にディスク障害が発生した場合などを対象とした機能であり、各データベース資源の閉塞情報を監視することを目的としています。
参照
メッセージ監視の詳細は“9.3 ノードの異常発生の監視”を参照してください。
データベースの監視はSymfoware Serverの運用コマンドをDBミラーリングシステムが利用して行います。
監視可能なデータベース資源と監視方法を下表に説明します。
データベース資源 | 監視方法 | |
---|---|---|
RDBコマンド | 表示項目 | |
ロググループ管理ファイル | rdblog -V -M | status:ロググループ管理ファイルの状態 |
ログ管理ファイル | rdblog -V -I | status :ログ管理ファイルの状態 |
テンポラリログファイル | rdblog -V -t -g ロググループ名 | Status:テンポラリログファイルの状態 |
RDBディクショナリ | rdbinf -z -a | Cause:運用情報の設定原因 |
DSI(表またはインデックス) | rdbinf -l inh -a | 閉塞種別 |
RDBディレクトリファイル | -(注) | RDBディレクトリファイルの状態 |
注) 内部インタフェースを使用します。
参照
Symfoware Serverのrdblogコマンド、およびrdbinfコマンドの詳細については“コマンドリファレンス”を参照してください。
Symfoware Serverのメッセージ監視については“RDB運用ガイド”を参照してください。
DB監視資源定義ファイルは、任意のファイル名で作成し、任意のディレクトリに配置します。配置したファイルの絶対パス名をDB_INH_OBSERVEパラメタに指定してDBミラーリングサービスを開始することで、指定が有効となります。
DB監視資源定義ファイルのひな型は、Symfoware Serverのインストールディレクトリ\DX\DEMO\MC配下に以下のファイル名で格納してあります。
ファイル名 | 内容 |
---|---|
inh_observe.env.sjis | 日本語版(SJIS) |
inh_observe.env | 英語版 |
利用者は、エディタを使用して、このテキストファイルに各パラメタを定義します。記述形式は、以下のとおりです。
なお、行の先頭が番号記号“#”の場合、その行はコメント行として扱われます。また、行の途中に番号記号“#”を指定することはできません。
定義指示文<改行> :
各行の定義指示文の記述形式は、次のとおりです。
定義種別 = [指定値1][,指定値2]・・・
注意
定義指示文は複数行にまたがって記述することはできません。
等号“=”前後に空白、タブを指定することができます。
コンマ“,”前後に空白、タブを指定することができます。
監視対象のデータベース資源は以下のパラメタで指定します。
データベース資源 | 定義種別 | 指定値 |
---|---|---|
ロググループ管理ファイル | LOGGROUPMANAGE_STATUS | 監視対象の“status”の値をコンマ“,”で区切って指定する。 |
ログ管理ファイル | LOGMANAGE_STATUS | 監視対象の“status”の値をコンマ“,”で区切って指定する。 |
LOGMANAGE_TMPSTATUS | 監視対象の“tmpstatus”の値をコンマ“,”で区切って指定する。(注) | |
テンポラリログファイル | TMPLOGFILE_LOGGROUPNAME | 監視対象のロググループ名を指定する。 (注) |
TMPLOGFILE_STATUS | 監視対象の“Status”の値をコンマ“,”で区切って指定する。 | |
RDBディクショナリ | RDBDICTIONARY_CAUSE | 監視対象の“Cause”の値をコンマ“,”で区切って指定する。 |
DSI(表またはインデックス) | DSI_INHTYPE | 監視対象の“閉塞種別”の値をコンマ“,”で区切って指定する。 |
RDBディレクトリファイル | RDBDIRECTORY_CONDITION | 監視対象として“abnormal/attach”(使用不可能状態)を指定する。 |
監査ログデータベース 監査ログ用ロググループのログ管理ファイル 監査ログ用ロググループのテンポラリログファイル | MONITOR_AUDITLOG | YESまたはNOを指定する。 NO:監査ログに関する資源の監視を行わない |
注)テンポラリログファイルを監視対象にする場合は、運用形態により以下の指定をしてください。
スケーラブルログ運用を行っている場合は、ログ管理ファイルのLOGMANAGE_TMPSTATUSで指定してください。
スケーラブルログ運用を行っていない場合は、テンポラリログファイルのTMPLOGFILE_LOGGROUPNAMEおよびTMPLOGFILE_STATUSで指定してください。なお、TMPLOGFILE_LOGGROUPNAMEには“system”を指定してください。
各定義種別の指定値は“表D.3 監視可能なデータベース資源と監視方法”で説明しているRDBコマンドおよび表示項目に対応します。
LOGGROUPMANAGE_STATUS = trouble LOGMANAGE_STATUS = failure LOGMANAGE_TMPSTATUS = failure TMPLOGFILE_LOGGROUPNAME = system TMPLOGFILE_STATUS = trouble RDBDICTIONARY_CAUSE = HER DSI_INHTYPE = HER RDBDIRECTORY_CONDITION = abnormal/attach MONITOR_AUDITLOG = NO
ポイント
各定義種別の構文が誤っている場合は、DBミラーリングサービスの開始がエラーとなります。
Symfoware/RDBのRDB構成パラメタファイルにRDBLOGGROUPMANAGEパラメタを指定していない場合、LOGGROUPMANAGE_STATUSおよびTMPLOGFILE_LOGGROUPNAMEを指定しないでください。指定するとDBミラーリングサービスの開始でエラーメッセージが出力され、監視対象となりません。
テンポラリログファイルの監視において、TMPLOGFILE_LOGGROUPNAMEを省略するとシステムロググループが監視対象となります。
RDBディレクトリファイルの監視は、RDBディクショナリ用のRDBディレクトリファイルとユーザデータベース用のRDBディレクトリファイルが監視対象となります。