2.45.1 pdgeterの形式と規則
(1) 機能
HiRDBシステムで障害が発生した場合,pdgeterコマンドを実行することで,障害情報を指定ディレクトリ又はDATなどに出力できます。
なお,pdgeterコマンドは,バージョン10-03以降にサポートされた機能,及びHiRDBがサポートする新規プラットフォームに対応していません。
また,pdgeterコマンドで取得する情報はpdinfogetコマンドで取得する情報より少ないため,障害情報を取得する際はpdinfogetコマンドを使用してください。
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
pdgeter 〔{-o 出力先ディレクトリ名|出力先デバイス名}〕 〔-w ワークディレクトリ名〕 〔-x ホスト名〔,ホスト名〕…〕 〔-am〕 〔-t〕
(4) オプション
(a) {-o 出力先ディレクトリ名|出力先デバイス名}
障害情報を出力するディレクトリ名又はデバイス名を指定します。省略した場合,$PDDIR/erinf/outinf下に出力されます。
- 出力先ディレクトリ名 〜<パス名>
-
障害情報をディレクトリに出力する場合,そのディレクトリ名を絶対パス名で指定します。pdgeterコマンドを実行するホストのディレクトリ名を指定してください。
- 出力先デバイス名 〜<パス名>
-
障害情報をDATなどに出力する場合,そのデバイス名を指定します。pdgeterコマンドを実行するホストに備え付けてあるDATなどのデバイス名を指定してください。
(b) -w ワークディレクトリ名 〜<パス名>
テープ装置にトラブルシュート情報を出力するとき,出力する情報をいったん蓄えるためのワークディレクトリ名を指定します。ディレクトリ名は,pdgeterコマンドを実行するサーバマシンのディレクトリ名を絶対パスで指定します。HiRDBは,このワークディレクトリ下に一時的にワークファイルを作成します。この一時的ワークファイルを作成するのは次に示す場合です。
-
-tオプションを指定する場合
-
pdgeterコマンド起動サーバマシン以外の情報をテープ装置に出力する場合
このオプションを省略した場合,$PDDIR/erinf/workが仮定されます。
また,このオプションには"/dev"で始まるディレクトリを指定できません。
(c) -x ホスト名〔,ホスト名〕… 〜<識別子>((1〜32))
障害情報を取得するホストの名称を指定します。省略した場合,pdgeterコマンドを実行したホストの名称が仮定されます。
(d) -am
障害情報の種類を指定します。
- -a
-
すべての障害情報を取得する場合に指定します。省略した場合は,最小限の障害情報だけを取得します。-aオプションと取得する障害情報の関係を次の表に示します。
このオプションを指定しても,すべてのHiRDBシステムのマスタディレクトリ,データディレクトリ,及びデータディクショナリの情報は取得できません。pdgeterコマンドを実行したホストがあるHiRDBシステムで,かつ-xオプションにマスタディレクトリなどがあるホスト(シングルサーバ又はディクショナリサーバ)を指定した場合に限り,マスタディレクトリ,データディレクトリ,及びデータディクショナリの情報を取得します。
- -m
-
共用メモリダンプの情報を取得しない場合,及びシステム情報のOSの情報だけを取得する場合に指定します。
- (凡例)
-
○:取得します。
△:備考の内容によって取得する情報が異なります。
×:取得しません。
(e) -t
トラブルシュート情報をDAT以外のテープ装置に出力する場合に指定します。
AIX版の場合,このオプションは指定できません。
このオプションを指定する場合は,必ず-wオプションでワークディレクトリ名称を指定してください。
pdgeterコマンドは,tarコマンドの追加書き(-rオプション)を使用し,テープ装置にトラブルシュート情報を取得しますが,テープ装置によっては,追加書きオプションをサポートしていない場合があり,これらのテープ装置には障害情報を出力できませんでした。-tオプションを指定すると,取得するトラブルシュート情報をいったんワークディレクトリ上に格納した後,追加書きなしでテープ装置に出力します。これによって,DAT以外のテープ装置にもトラブルシュート情報を取得できます。
(5) 規則
-
pdgeterコマンドは,HiRDBの稼働に関係なく実行できます。
-
pdgeterコマンドは任意のサーバマシンで実行できます。ただし,障害情報の取得対象ホスト間でリモートシェルが実行できるよう設定しておく必要があります。pdgeterコマンドを実行するホストだけの障害情報を取得する場合には,これに該当しません。また,-aオプション指定時には,障害情報を取得するホストのどれかで実行してください。
-
HiRDBが停止中のときは,共用メモリダンプの情報は取得されません。
-
障害情報をまとめたものをシェルスクリプト内でcompressコマンドを使用して圧縮しています。したがって,compress機能を使用できないシステムでは障害情報を圧縮しないで出力します。
(6) 注意事項
-
出力先ディレクトリ又はワークディレクトリが$PDDIR下の場合は,容量不足のためHiRDBが異常終了することがあります。そのため,十分なディスク容量を用意しておく必要があります。
-
指定した出力先ディレクトリ又はワークディレクトリがシステムにあるかどうか確認してください。指定を省略した場合は仮定値のディレクトリにファイルが作成されますが,既に$PDDIR/erinf/outinf又は$PDDIR/erinf/workのファイルがあるときはエラーメッセージを出力し処理を打ち切ります。存在しないディレクトリ又は書き込み権限のないディレクトリを指定した場合は,エラーメッセージを出力し処理を打ち切ります。
-
存在しないデバイスを指定した場合は,エラーメッセージを出力し処理を打ち切ります。
-
出力先ディレクトリ又はワークディレクトリ下に次のディレクトリ又はファイルがある場合は,エラーメッセージを出力し処理を打ち切ります。
PDDIR,lib,usr,HiRDB
-
ネットワーク障害の場合,自ホストの情報は取得できますが,他ホストの情報は取得できません。ただし,-xオプションに複数のホスト名を指定し,かつ-oオプションに出力先デバイス名を指定した場合は,自ホストの情報も取得できない可能性があります。この場合,-xオプションに指定するホストを自ホストだけにしてpdgeterコマンドを実行すれば自ホストの情報は取得できます。
-
ディレクトリに出力したファイルの名称はホストごとにユニークになりますが,コマンド実行ホストにまとめた結果をそのホストで展開すると障害情報が上書きされるので注意してください。また,デバイスに出力した障害情報は,同じDATなどを数回使用すると以前の障害情報が上書きされるので注意してください。
-
pdinitの制御文ファイル中のコメントが,次に示す形式と異なる場合は,pdgeterコマンドが正常に動作しないため,マスタディレクトリなどの情報を取得できません。
-
1行に複数のコメント(/*と*/で囲まれたもの)を記述している場合,コメント間に1バイト以上の空白があること。
-
コメントと制御文の間に1バイト以上の空白があること。
-
-
系切り替え機能を使用している場合,障害情報の取得方法は次のようになります。
-
IPアドレス引き継ぎあり
実行系ホストの情報は,コマンド実行ホストが実行系ホストでなくても情報は取得できます。待機系ホストの情報は,コマンド実行ホストが待機系ホストでなければ情報を取得できないので,待機系ホストにリモートログインしてpdgeterコマンドを実行する必要があります。
-
IPアドレス引き継ぎなし
実行系ホスト,待機系ホストで名称が異なるため,これらのホストの名称を-xオプションに指定すれば情報を取得できます。また,-aオプションを指定して,マスタディレクトリなどの情報を取得する場合は,-xオプションに実行系ホスト及び待機系ホストのホスト名を指定してください。
-
-
pdgeterコマンドを1ホスト上で複数同時実行すると,正常に動作しないため,正しい障害情報は取得できません。
-
-aオプションを指定した場合,pdgeterコマンド実行ホストのシステム共通定義($PDDIR/conf/pdsys)のpdstart及びpdunitオペランドの指定値を解析します。このとき,一つのpdstart又はpdunitオペランドが複数行にわたって記述されている場合,pdgeterコマンドは正常に動作しません。
-
-wオプション指定時,一時的に次の計算式に示す空きディスク容量が必要になります。
- a×b×2
-
a:トラブルシュート情報を取得するサーバマシン数
b:トラブルシュート情報を格納するファイル容量の総和
トラブルシュート情報を格納するファイルについては表「-aオプションと取得する障害情報の関係」を参照してください。
-
pdgeterコマンドの結果は,コマンド実行時のリターンコード,又はエラーメッセージの有無で確認できます。pdgeterコマンドのリターンコードを次に示します。
0:正常終了
4:警告終了(一部の情報取得処理をスキップ)
8:異常終了
12:割り込みによる終了
-
HiRDBの稼働中にpdgeterコマンドを実行する場合,出力先ディレクトリ又はワークディレクトリが$PDDIR下のディレクトリのときは,容量不足によってHiRDBが停止することがあるので十分なディスク容量を用意しておく必要があります。また,障害情報を出力先ディレクトリに残しておくと,ディスク容量が不足する可能性があるので不要な障害情報は削除しておいてください。pdgeterコマンドの実行ホストに用意する,ディスク容量及びデバイス容量の見積もりを次に示します。
-xオプションに指定するホスト
-oオプションに指定する出力先
ディレクトリ
デバイス
一つ
- <ディスク容量>
-
対象ホストにある取得情報ファイルの総和
- <デバイス容量>
-
−
- <ディスク容量>
-
対象ホストにある取得情報ファイルの総和※1※2※3
- <デバイス容量>
-
対象ホストにある取得情報ファイルの総和
複数
- <ディスク容量>
-
対象ホストにある取得情報ファイルの総和
- <デバイス容量>
-
−
- <ディスク容量>
-
対象ホストのすべての取得情報ファイルの総和※2※4
- <デバイス容量>
-
対象ホストにある取得情報ファイルの総和
- (凡例)
-
−:該当しません。
- 注1
-
対象ホストにある取得情報ファイルについては,表「-aオプションと取得する障害情報の関係」を参照してください。
- 注2
-
-aオプション指定時は,マスタディレクトリ,データディレクトリ,及びデータディクショナリの情報がHiRDBファイル単位に取得され,そのときにバックアップが取得されます。そのため,-aオプション指定時は,ディスク容量に更に一時的なバックアップファイル用として,次の計算式の値を加算してください。
レコード長×レコード数
レコード長及びレコード数は,pdflsコマンドを実行すると分かります。
- 注※1
-
対象ホストがpdgeterコマンドを実行したホストの場合,該当しません。
- 注※2
-
ワークディレクトリを使用するときに必要なディスク容量です。
- 注※3
-
-tオプションを指定していない場合は該当しません。
- 注※4
-
-tオプションを指定していない場合,対象ホストの1ホストごとの取得情報ファイルの総和となります。
(7) 出力形式
-oオプションに指定したディレクトリ又はデバイスに次の形式で情報を出力します。
-
ファイル名
ファイル名は,-o及び-wの指定によって次のようになります。
-xオプションに指定するホスト
-oオプションに指定する出力先
ディレクトリ
デバイス
pdgeterコマンド実行ホストだけ指定
ホスト名.時間.Z
各障害情報※
pdgeterコマンド実行ホスト以外のホストも指定
ホスト名.時間.Z
ホスト名.時間.Z
- 注
-
時間はhhmmssの形式です。
hh:時 mm:分 ss:秒
- 注※
-
-tオプションを指定した場合は「ホスト名.時間.Z」となります。
また,-o及び-wの指定に関係なく,pdgeterコマンド内で発行するOSコマンドの実行結果を,pdgeter.comlog.時間という名称のファイルに出力します。
-
形式
ホスト名.時間.Zを展開すると,ファイル名はホスト名.時間となります。ホスト名.時間ファイルは3個又は4個のファイルで構成されます。ホスト名.時間ファイルの内容を次の図に示します。
図2‒4 ホスト名.時間の内容