Hitachi

ノンストップデータベース HiRDB Version 9 コマンドリファレンス(UNIX(R)用)


2.41.1 pdgeterの形式と規則

〈この項の構成〉

(1) 機能

HiRDBシステムで障害が発生した場合,pdgeterコマンドを実行することで,障害情報を指定ディレクトリ又はDATなどに出力できます。通常は,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の情報だけを取得する場合に指定します。

表2‒6 -aオプションと取得する障害情報の関係

取得情報

-aオプション

備考

あり

なし

$PDDIR/spool下の全ファイル

なし。

$PDDIR/conf下の全ファイル

$PDDIR/.dbenv下の全ファイル

RPCトレースファイル

$PDDIR/tmp下の全ファイル

×

pdinit制御文

pdgeterコマンドを実行する前に,コマンド実行ホストの$PDDIR/conf下に次のファイル名称でコピーしておいてください。

pdinit制御文:$PDDIR/conf/INITCONT

コピー先のホストを次に示します。

<-aオプション指定あり>

コマンド実行ホストにコピーしてください。

<-aオプション指定なし>

障害情報の取得対象ホストのどれかにコピーしてください。

pdmod制御文

pdgeterコマンドを実行する前に,障害情報の取得対象ホストのどれかの$PDDIR/conf下にコピーしておいてください。

マスタディレクトリ

×

  • コマンド実行ホストに$PDDIR/conf/INITCONTがある場合に障害情報を取得します。

  • pdmodで拡張したHiRDBファイルについては,取得対象外とします。

  • 障害情報の取得対象ホストが複数で,かつ他ホストがコマンド実行ホストと異なるHiRDBシステムのホストの場合は,他ホストの情報は取得できません。コマンド実行ホストがあるHiRDBシステムの情報だけ取得できます。

  • -xオプションにシングルサーバ又はディクショナリサーバを指定しているときだけ,情報を取得します。

  • 情報を取得するための,一時的に必要なディスク容量は,pdflsコマンドで求めてください(取得するHiRDBファイルのレコード長×レコード数)。

データディレクトリ

×

データディクショナリ

×

OSライブラリ

OSによって異なります。

HP-UX版
  • /usr/lib/libdld.sl

  • /lib/libm.sl

  • /lib/libc.sl

HP-UX(64)版
  • /usr/lib/pa20_64/libdld.sl

  • /usr/lib/pa20_64/libm.sl

  • /usr/lib/pa20_64/libc.sl

HP-UX(IPF)版
  • /usr/lib/hpux64/libdl.so

  • /usr/lib/hpux64/libm.so

  • /usr/lib/hpux64/libc.so

AIX版
  • /usr/lib/libdl.a

  • /lib/libm.a

  • /lib/libc.a

Linux版
  • /usr/lib/libdl.so

  • /lib/libm.so

  • /lib/libc.so

ソートライブラリ

×

×

なし。

共用メモリ内容

  • HiRDBが稼働中のときだけ障害情報を取得します。

  • -mオプション指定時は障害情報を取得しません。

  • ファイル名はshmdumpとなり,$PDDIR/spool/pdshmdump下へ出力されます。

  • マニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照し,共用メモリの見積もりをしてください。

    【HiRDB/シングルサーバの場合】

    ユニットコントローラが使用する共用メモリの計算式+シングルサーバが使用する共用メモリの計算式

    【HiRDB/パラレルサーバの場合】

    ユニットコントローラが使用する共用メモリの計算式+各サーバが使用する共用メモリの計算式

    なお,これらの容量は,HiRDB稼働中にpdls -d memコマンドを実行すれば確認できます。

システム情報

  • ファイル名はpdgeter.sysinf.hhmmss(hh:時,mm:分,ss:秒)となります。

  • -mオプション指定時は,OSの情報だけを出力します。

  • HiRDB停止時は,シェル内部で実行するHiRDBの一連のコマンドが異常終了するため,OSの情報とHiRDBの一連のコマンドのエラーメッセージをファイルに出力します。

ログ

×

×

なし。

システムログファイル

×

×

ユーザ用RDエリア

×

×

(凡例)

○:取得します。

△:備考の内容によって取得する情報が異なります。

×:取得しません。

(e) -t

トラブルシュート情報をDAT以外のテープ装置に出力する場合に指定します。

AIX版の場合,このオプションは指定できません。

このオプションを指定する場合は,必ず-wオプションでワークディレクトリ名称を指定してください。

pdgeterコマンドは,tarコマンドの追加書き(-rオプション)を使用し,テープ装置にトラブルシュート情報を取得しますが,テープ装置によっては,追加書きオプションをサポートしていない場合があり,これらのテープ装置には障害情報を出力できませんでした。-tオプションを指定すると,取得するトラブルシュート情報をいったんワークディレクトリ上に格納した後,追加書きなしでテープ装置に出力します。これによって,DAT以外のテープ装置にもトラブルシュート情報を取得できます。

(5) 規則

  1. pdgeterコマンドは,HiRDBの稼働に関係なく実行できます。

  2. pdgeterコマンドは任意のサーバマシンで実行できます。ただし,障害情報の取得対象ホスト間でリモートシェルが実行できるよう設定しておく必要があります。pdgeterコマンドを実行するホストだけの障害情報を取得する場合には,これに該当しません。また,-aオプション指定時には,障害情報を取得するホストのどれかで実行してください。

  3. HiRDBが停止中のときは,共用メモリダンプの情報は取得されません。

  4. 障害情報をまとめたものをシェルスクリプト内でcompressコマンドを使用して圧縮しています。したがって,compress機能を使用できないシステムでは障害情報を圧縮しないで出力します。

(6) 注意事項

  1. 出力先ディレクトリ又はワークディレクトリが$PDDIR下の場合は,容量不足のためHiRDBが異常終了することがあります。そのため,十分なディスク容量を用意しておく必要があります。

  2. 指定した出力先ディレクトリ又はワークディレクトリがシステムにあるかどうか確認してください。指定を省略した場合は仮定値のディレクトリにファイルが作成されますが,既に$PDDIR/erinf/outinf又は$PDDIR/erinf/workのファイルがあるときはエラーメッセージを出力し処理を打ち切ります。存在しないディレクトリ又は書き込み権限のないディレクトリを指定した場合は,エラーメッセージを出力し処理を打ち切ります。

  3. 存在しないデバイスを指定した場合は,エラーメッセージを出力し処理を打ち切ります。

  4. 出力先ディレクトリ又はワークディレクトリ下に次のディレクトリ又はファイルがある場合は,エラーメッセージを出力し処理を打ち切ります。

    PDDIR,lib,usr,HiRDB

  5. ネットワーク障害の場合,自ホストの情報は取得できますが,他ホストの情報は取得できません。ただし,-xオプションに複数のホスト名を指定し,かつ-oオプションに出力先デバイス名を指定した場合は,自ホストの情報も取得できない可能性があります。この場合,-xオプションに指定するホストを自ホストだけにしてpdgeterコマンドを実行すれば自ホストの情報は取得できます。

  6. ディレクトリに出力したファイルの名称はホストごとにユニークになりますが,コマンド実行ホストにまとめた結果をそのホストで展開すると障害情報が上書きされるので注意してください。また,デバイスに出力した障害情報は,同じDATなどを数回使用すると以前の障害情報が上書きされるので注意してください。

  7. pdinitの制御文ファイル中のコメントが,次に示す形式と異なる場合は,pdgeterコマンドが正常に動作しないため,マスタディレクトリなどの情報を取得できません。

    • 1行に複数のコメント(/*と*/で囲まれたもの)を記述している場合,コメント間に1バイト以上の空白があること。

    • コメントと制御文の間に1バイト以上の空白があること。

  8. 系切り替え機能を使用している場合,障害情報の取得方法は次のようになります。

    • IPアドレス引き継ぎあり

      実行系ホストの情報は,コマンド実行ホストが実行系ホストでなくても情報は取得できます。待機系ホストの情報は,コマンド実行ホストが待機系ホストでなければ情報を取得できないので,待機系ホストにリモートログインしてpdgeterコマンドを実行する必要があります。

    • IPアドレス引き継ぎなし

      実行系ホスト,待機系ホストで名称が異なるため,これらのホストの名称を-xオプションに指定すれば情報を取得できます。また,-aオプションを指定して,マスタディレクトリなどの情報を取得する場合は,-xオプションに実行系ホスト及び待機系ホストのホスト名を指定してください。

  9. pdgeterコマンドを1ホスト上で複数同時実行すると,正常に動作しないため,正しい障害情報は取得できません。

  10. -aオプションを指定した場合,pdgeterコマンド実行ホストのシステム共通定義($PDDIR/conf/pdsys)のpdstart及びpdunitオペランドの指定値を解析します。このとき,一つのpdstart又はpdunitオペランドが複数行にわたって記述されている場合,pdgeterコマンドは正常に動作しません。

  11. -wオプション指定時,一時的に次の計算式に示す空きディスク容量が必要になります。

    a×b×2

    a:トラブルシュート情報を取得するサーバマシン数

    b:トラブルシュート情報を格納するファイル容量の総和

    トラブルシュート情報を格納するファイルについては表「-aオプションと取得する障害情報の関係」を参照してください。

  12. pdgeterコマンドの結果は,コマンド実行時のリターンコード,又はエラーメッセージの有無で確認できます。pdgeterコマンドのリターンコードを次に示します。

    0:正常終了

    4:警告終了(一部の情報取得処理をスキップ)

    8:異常終了

    12:割り込みによる終了

  13. 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オプションに指定したディレクトリ又はデバイスに次の形式で情報を出力します。

(8) 使用例

例1:

コマンド実行ホスト(host1)の障害情報を取得します。出力先ディレクトリ名は/err1とします。

[概要]

[図データ]

[コマンド実行例]
 pdgeter -o /err1 -x host1
例2:

複数のホスト(host2,host3)の障害情報を,コマンド実行ホスト(host1)に出力します。出力先デバイス名は/dev/dat01とし,ワークディレクトリ名は/workとします。

[概要]

[図データ]

[コマンド実行例]
 pdgeter -o /dev/dat01 -w /work -x host2,host3