Hitachi

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


20.1.1 障害が発生したときにHiRDB管理者がすること

障害が発生したときにHiRDB管理者がすることについて説明します。

〈この項の構成〉

(1) HiRDB管理者がすること

障害が発生した場合,HiRDB管理者は次に示すことをしてください。

  1. 出力されたメッセージを確認してください。そして,マニュアル「HiRDB メッセージ」を参照して,障害の原因を調べてください。

  2. $PDDIR/spool及び$PDDIR/tmp下にトラブルシュート情報が出力されます。HiRDB管理者はpdinfogetコマンドを実行して,このトラブルシュート情報のバックアップを取得してください。pdinfogetコマンドでは,障害原因の切り分けに必要な情報をまとめた初期情報ファイルと,障害原因の切り分け後,さらに詳細な調査に必要な情報をまとめた詳細情報ファイルを出力できます。また,pdosinfogetコマンドで,障害原因の調査に必要なOS情報をまとめたファイルを出力できます(スーパーユーザ(root)で実行する必要があります)。

  3. 弊社問い合わせ窓口から指示があった場合,pdinfocoregetコマンドによってHiRDBのプロセスに関連するcoreファイルを取得してください。

備考

(2) pdinfogetコマンド,pdosinfogetコマンドの実行方法

pdinfogetコマンドを実行すると,pdinfogetコマンドを実行したサーバマシンのディレクトリ下にトラブルシュート情報のバックアップが取得されます。pdosinfogetコマンドを実行すると,pdosinfogetコマンドを実行したサーバマシンのディレクトリ下に障害調査用OS情報のバックアップが取得されます。

なお,pdinfogetコマンドを実行するには,環境変数PDDIR及びPDCONFPATHが設定されている必要があります。設定されていることを確認してください。

次に示す手順に従ってpdinfogetコマンド,pdosinfogetコマンドを実行してください。

〈手順〉
  1. pdinfogetコマンドを実行するサーバマシンに,トラブルシュート情報を格納するだけのディスク容量があるかどうかを確認してください。pdinfoget -mコマンドで,取得する障害情報に必要な容量を見積もることができます。また,pdosinfogetコマンドの取得する障害情報の容量として,上記容量に,100MBを加算してください。

  2. pdinfogetコマンド,pdosinfogetコマンドを実行するサーバマシンに,トラブルシュート情報を格納するディレクトリを作成してください。

  3. pdinfogetコマンドをHiRDB管理者で実行します。このとき,1.で見積もった詳細情報の容量のディスクが用意できない場合は,初期情報出力先ディレクトリ(-eオプション)だけを指定して,pdinfogetを実行してください。

  4. pdosinfogetコマンドをスーパーユーザ(root)で実行します。2.で用意したディレクトリを,pdosinfogetコマンドの-dオプションに指定してください。

  5. トラブルシュート情報が不要になったら,pdcspoolコマンドでトラブルシュート情報を削除してください。残しておくとディスク容量の不足原因となります。

注※

既にディレクトリがある場合は,そのディレクトリ下に次に示すディレクトリがあるかどうかを確認してください。次に示すディレクトリがあると,pdinfogetコマンド,pdosinfogetコマンドを実行したときにエラーとなります。

出力先ディレクトリ

出力先ディレクトリ下にあるとエラーになるディレクトリ

初期情報ファイル出力先ディレクトリ

CLTDIR

PDDIR

spool

conf

.dbenv

pdistup

OSFILE

SYSLOG

COREINF

詳細情報ファイル出力先ディレクトリ

PDDIR

spool

tmp

CLTDIR

OS情報出力先ディレクトリ

すべて(空のディレクトリ)を指定すること。

この場合,次のどちらかの対処をしてから再度実行してください。

  • 初期情報ファイル出力先ディレクトリ又は詳細情報ファイル出力先ディレクトリに別のディレクトリを指定する

  • 指定したディレクトリ内の情報が不要な場合,すべて削除する

(3) 不要なトラブルシュート情報の削除

サーバプロセスの強制終了,又はクライアントの強制終了時などに,HiRDBは$PDDIR/spool下にトラブルシュート情報を出力します。また,コマンド又はユティリティを[Ctrl+C]キーを押すなどして途中終了させると,$PDDIR/tmp下にコマンド又はユティリティが出力した作業用一時ファイルが削除されずに残ります。このトラブルシュート情報及び作業用一時ファイルを残しておくと,HiRDB運用ディレクトリがあるディスクの容量を圧迫する原因になります。HiRDB運用ディレクトリがあるディスクの容量が不足するとHiRDBが異常終了することがあるため,HiRDBは次に示すファイルを定期的に削除します。

  • トラブルシュート情報ファイル($PDDIR/spool下のファイル)

  • 作業用一時ファイル($PDDIR/tmp下のファイル)

通常は24時間ごとに削除します。この削除間隔をpd_spool_cleanup_intervalオペランドで変更できます。また,pd_spool_cleanup_interval_levelオペランドで何日より前に出力されたファイルだけを削除するという指定ができます。

このほかにも,トラブルシュート情報($PDDIR/spool下のファイル)を一括して削除する方法があります。

  • pdcspoolコマンドでトラブルシュート情報ファイルを削除できます。作業用一時ファイル($PDDIR/tmp下のファイル)も削除できます。

  • HiRDBの開始時に自動的にトラブルシュート情報ファイルを削除します。pd_spool_cleanupオペランドでトラブルシュート情報ファイルを削除するかどうかを指定します。このオペランドを省略した場合,ファイルを削除します。また,pd_spool_cleanup_levelオペランドで何日より前に出力されたトラブルシュート情報ファイルだけを削除するという指定ができます。

    参考

    pdcspoolコマンドのオプション,pd_spool_cleanup_level,又はpd_spool_cleanup_interval_levelオペランドの指定で,削除するトラブルシュート情報を選択できます。

    注意事項

    HiRDB管理者以外のユーザが実行したコマンド又はユティリティによって出力されたトラブルシュート情報ファイルは削除されないことがあります。この場合,トラブルシュート情報ファイルの削除権限を持つユーザがOSのrmコマンドなどでファイルを削除してください。

(4) トラブルシュート情報の出力量の削減

次に示すオペランドを指定すると,トラブルシュート情報の出力量を削減できます。必要に応じてこれらのオペランドを指定してください。

  • pd_cancel_dump:トラブルシュート情報を出力するかどうかを指定します。

  • pd_client_waittime_over_abort:トランザクションの実行中にクライアントの最大待ち時間(クライアント環境定義のPDCWAITTIMEオペランドの値)を超えた場合にトラブルシュート情報を出力するかどうかを指定します。

  • pd_debug_info_netstat:サーバプロセスの異常終了,又はHiRDB(ユニット)が異常終了したときに取得するトラブルシュート情報中に,ネットワーク情報を取得するかどうかを指定します。

  • pd_dump_suppress_watch_time:トラブルシュート情報の再出力を抑止する時間を指定します。



目次