付録C 障害調査のために必要な情報
原因を調査するために必要な資料は,大別すると,OSの情報とHiRDBの情報に分かれます。OSの情報はOSのコマンドなどで採取します。HiRDBの情報はHiRDBのコマンドなどで採取します。
サポートサービスをご利用になる場合,次の表に示す情報が必要になることがあります。トラブルの原因調査に必要な情報を次の表に示します。採取の優先順位を,性能の問題,無応答,異常終了の三つの場合に分けて説明します。最も優先順位の高い項目を1として,7段階で示しています。
項番 |
取得する情報 |
取得方法 |
性能 |
無応答 |
異常終了 |
---|---|---|---|---|---|
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 |
項番 |
取得する情報 |
取得方法 |
性能 |
無応答 |
異常終了 |
---|---|---|---|---|---|
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)で次に示す情報を取得してください。
これらの情報は$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などに取得してください。
|
5 |
4 |
4 |
12 |
サーバのトランザクションの状態に関する情報 |
pdls -d trn -aコマンドで取得します。このコマンドを60秒間隔で実行して追加書きのリダイレクト(>>)でファイルに出力してください。そのファイルをDATなどに取得してください。
|
5 |
6 |
5 |
13 |
サーバのプロセスの状態に関する情報 |
pdls -d prc -aコマンドで取得します。このコマンドを60秒間隔で実行して追加書きのリダイレクト(>>)でファイルに出力してください。そのファイルをDATなどに取得してください。
|
5 |
6 |
5 |
14 |
サーバの排他制御に関する情報 |
pdls -d lck -aコマンドで取得します。このコマンドを60秒間隔で実行して追加書きのリダイレクト(>>)でファイルに出力してください。そのファイルをDATなどに取得してください。
|
5 |
− |
− |
15 |
グローバルバッファ使用状況に関する情報 |
pdbuflsコマンドで取得します。このコマンドを60秒間隔で実行して追加書きのリダイレクト(>>)でファイルに出力してください。そのファイルをDATなどに取得してください。
|
5 |
− |
− |
16 |
SQLトレースファイル及びエラーログファイル |
クライアント環境定義のPDCLTPATHオペランドで指定したディレクトリ下に出力されます。PDCLTPATHオペランドを省略した場合は,APを実行しているカレントディレクトリ下に出力されます。 出力されたファイルをDATなどに取得してください。ファイル名はpderr又はpdsqlで始まっています。 |
− |
6 |
5 |
17 |
システムログファイル |
pdlogunldコマンドでシステムログをアンロードします。アンロードログファイルをDATなどに取得してください。 |
6 |
7 |
6 |
18 |
コアファイル |
ユティリティが無応答になった場合は次に示す手順でコアファイルを取得してください。 〈手順〉
|
− |
3 |
− |
19 |
コマンド代行ログファイル |
コマンド実行権限変更機能を適用している場合に,$PDDIR/spool/pdcmdact1及びpdcmdact2に出力されます。 |
2 |
2 |
2 |
- (凡例)
-
−:情報を取得する必要はありません。
- 注※1 必要なディスク容量は次の計算式で算出してください。
n 1000+Σ(2500+SQL文長)(単位:バイト) k=1
n:SQLオブジェクトバッファに格納しているSQLオブジェクト数
SQLオブジェクトバッファに格納しているSQLオブジェクト数は,「システムの稼働に関する統計情報」のSQLオブジェクト用バッファのSQLオブジェクト数の平均値と,ストアドプロシジャのオブジェクト数の平均値を足した数を使用してください。システムの稼働に関する統計情報は,マニュアル「HiRDB コマンドリファレンス」の「統計解析ユティリティ(pdstedit)」の説明を参照してください。
- 注※2 必要なディスク容量は次の計算式で算出してください。
500+SQLオブジェクト長(単位:バイト)
SQLオブジェクト長は,-Nオプション指定のpdobilsコマンドで表示される「SIZE(サイズ)」の値を使用してください。「SIZE(サイズ)」については,マニュアル「HiRDB コマンドリファレンス」のpdobilsコマンドの説明を参照してください。
- 注※3 必要なディスク容量は次の計算式で算出してください。
n 1000+Σ(3000+SQL文長)(単位:バイト) k=1
n:SQLを実行しているUAP数
SQLを実行しているUAP数は,pd_max_usersオペランドの値を使用してください。
- 注
-
-
必要なディスク容量は参考値です。この値はシステム構成などによって変動します。
-
リダイレクトで追加書きするファイルはファイル容量が単調増加するため,ディスク容量を圧迫します。したがって,ファイルを切り替えて一定世代で再使用する汎用シェルスクリプトを作成してください。
-