Hitachi

ノンストップデータベース HiRDB Version 9 システム運用ガイド(UNIX(R)用)


付録C 障害調査のために必要な情報

原因を調査するために必要な資料は,大別すると,OSの情報とHiRDBの情報に分かれます。OSの情報はOSのコマンドなどで採取します。HiRDBの情報はHiRDBのコマンドなどで採取します。

サポートサービスをご利用になる場合,次の表に示す情報が必要になることがあります。トラブルの原因調査に必要な情報を次の表に示します。採取の優先順位を,性能の問題,無応答,異常終了の三つの場合に分けて説明します。最も優先順位の高い項目を1として,7段階で示しています。

表C‒1 障害調査のために必要な情報(OS)

項番

取得する情報

取得方法

性能

無応答

異常終了

1

syslogfile

OSの機能(コマンド)で取得します。

1

1

1

2

CPU利用率及びデバイス状況

OSのsarコマンドで取得します。コマンドの詳細については,OSのマニュアルを参照してください。

3

4

3

3

プロセスのCPU稼働・メモリ状態

OSのtopコマンドで取得します。コマンドの詳細については,OSのマニュアルを参照してください。

3

4

3

4

仮想メモリ情報

OSのvmstatコマンドで取得します。コマンドの詳細については,OSのマニュアルを参照してください。

3

4

3

5

ネットワークステータス情報

OSのnetstatコマンドで取得します。コマンドの詳細については,OSのマニュアルを参照してください。

3

4

3

表C‒2 障害調査のために必要な情報(HiRDB)

項番

取得する情報

取得方法

性能

無応答

異常終了

1

HiRDB障害情報

pdinfogetコマンドで取得します。出力情報を取得してください。

2

2

2

2

エラーログファイル

$PDDIR/spool/errlog下のファイルに出力されます。

2

2

2

3

コマンドログファイル

$PDDIR/spool/cmdlog下のファイルに出力されます。

2

2

2

4

HiRDBシステム定義の情報

$PDDIR/conf下のファイルをDATなどに取得してください。

4

5

4

5

表及びインデクスの定義情報

表及びインデクスを定義したときに使用した定義系SQLを記載したファイルをDATなどに取得してください。

4

6

PRFトレース情報ファイル

$PDDIR/spool/pdprf下のファイルに出力されます。PRFトレースの出力ディレクトリは,pd_prf_output_directoryオペランドで変更できます。

オンライン性能の低下が許容できる場合,速やかに原因を切り分けられるようにするために,PRFトレース取得レベルに0000007f(詳細レベル)を指定して,資料採取することを推奨します。

なお,pd_prf_levelオペランドの指定値を変更しなくても,pdprflevelコマンドを使用することで,HiRDB稼働中に取得レベルを変更することができます。

4

6

6

7

統計情報

統計情報の出力開始,終了コマンド(pdstbegin,pdstend)で次に示す情報を取得してください。

  • システムの稼働に関する統計情報(sys)

    推奨取得間隔:1時間

  • グローバルバッファプールに関する統計情報(buf)

  • データベース操作に関するHiRDBファイルの統計情報(fil)

これらの情報は$PDDIR/spool/pdstj1及びpdstj2に出力されます。

統計情報の取得後,統計解析ユティリティ(pdsteditコマンド)で統計情報を編集してください。

6

8

SQLオブジェクト情報※1

pdobils -C -H -Rコマンドで取得します。このコマンドを60秒間隔で実行して,追加書きのリダイレクト(>>)でファイルに出力してください。

5

9

SQLオブジェクト情報※2

pdobilsコマンドの-NオプションにSQLオブジェクト番号を指定して取得します。

6

10

実行中のSQL情報※3

pdobils -U -C -Hコマンドで取得します。このコマンドを実行し,出力される情報をリダイレクト(>)でファイルに出力してください。

6

4

11

サーバの通信制御情報

pdls -d rpc -aコマンドで取得します。このコマンドを60秒間隔で実行して追加書きのリダイレクト(>>)でファイルに出力してください。そのファイルをDATなどに取得してください。

  • 推奨取得間隔:60秒

  • 情報を1回取得するのに必要なディスク容量:約62キロバイト

5

4

4

12

サーバのトランザクションの状態に関する情報

pdls -d trn -aコマンドで取得します。このコマンドを60秒間隔で実行して追加書きのリダイレクト(>>)でファイルに出力してください。そのファイルをDATなどに取得してください。

  • 推奨取得間隔:60秒

  • 情報を1回取得するのに必要なディスク容量:約30キロバイト

5

6

5

13

サーバのプロセスの状態に関する情報

pdls -d prc -aコマンドで取得します。このコマンドを60秒間隔で実行して追加書きのリダイレクト(>>)でファイルに出力してください。そのファイルをDATなどに取得してください。

  • 推奨取得間隔:60秒

  • 情報を1回取得するのに必要なディスク容量:約28キロバイト

5

6

5

14

サーバの排他制御に関する情報

pdls -d lck -aコマンドで取得します。このコマンドを60秒間隔で実行して追加書きのリダイレクト(>>)でファイルに出力してください。そのファイルをDATなどに取得してください。

  • 推奨取得間隔:60秒

  • 情報を1回取得するのに必要なディスク容量:約62キロバイト

5

15

グローバルバッファ使用状況に関する情報

pdbuflsコマンドで取得します。このコマンドを60秒間隔で実行して追加書きのリダイレクト(>>)でファイルに出力してください。そのファイルをDATなどに取得してください。

  • 推奨取得間隔:60秒

  • 情報を1回取得するのに必要なディスク容量:約3キロバイト

5

16

SQLトレースファイル及びエラーログファイル

クライアント環境定義のPDCLTPATHオペランドで指定したディレクトリ下に出力されます。PDCLTPATHオペランドを省略した場合は,APを実行しているカレントディレクトリ下に出力されます。

出力されたファイルをDATなどに取得してください。ファイル名はpderr又はpdsqlで始まっています。

6

5

17

システムログファイル

pdlogunldコマンドでシステムログをアンロードします。アンロードログファイルをDATなどに取得してください。

6

7

6

18

コアファイル

ユティリティが無応答になった場合は次に示す手順でコアファイルを取得してください。

〈手順〉

  1. pdls -d prcコマンドで,ユティリティのサーバプロセスIDを確認してください。

  2. pdcancel -dコマンドで,1で確認したサーバプロセスをキャンセルしてください。

3

(凡例)

−:情報を取得する必要はありません。

注※1 必要なディスク容量は次の計算式で算出してください。
   n
1000+Σ(2500+SQL文長)(単位:バイト)
   k=1

n:SQLオブジェクトバッファに格納しているSQLオブジェクト数

SQLオブジェクトバッファに格納しているSQLオブジェクト数は,「システムの稼働に関する統計情報」のSQLオブジェクト用バッファのSQLオブジェクト数の平均値と,ストアドプロシジャのオブジェクト数の平均値を足した数を使用してください。システムの稼働に関する統計情報は,マニュアル「HiRDB Version 9 コマンドリファレンス」の「統計解析ユティリティ(pdstedit)」の説明を参照してください。

注※2 必要なディスク容量は次の計算式で算出してください。
500+SQLオブジェクト長(単位:バイト)

SQLオブジェクト長は,-Nオプション指定のpdobilsコマンドで表示される「SIZE(サイズ)」の値を使用してください。「SIZE(サイズ)」については,マニュアル「HiRDB Version 9 コマンドリファレンス」のpdobilsコマンドの説明を参照してください。

注※3 必要なディスク容量は次の計算式で算出してください。
   n
1000+Σ(3000+SQL文長)(単位:バイト)
   k=1

n:SQLを実行しているUAP数

SQLを実行しているUAP数は,pd_max_usersオペランドの値を使用してください。

  • 必要なディスク容量は参考値です。この値はシステム構成などによって変動します。

  • リダイレクトで追加書きするファイルはファイル容量が単調増加するため,ディスク容量を圧迫します。したがって,ファイルを切り替えて一定世代で再使用する汎用シェルスクリプトを作成してください。