Hitachi

ノンストップデータベース HiRDB Version 9 メッセージ


4.1 RPC関連エラーの詳細コード

RPC関連エラーは,次のような場合に出力されます。

RPC関連エラー出力時は,表「RPC関連エラーの詳細コードの一覧」の詳細コードを確認すると同時に,表「RPC関連エラー時のよくある要因と対策」のよくある要因の内容を確認してください。また,通信エラーが原因となるエラーメッセージが出力された場合,そのメッセージにRPC関連エラー詳細コードが出力されないことがあります。この場合も,表「RPC関連エラー時のよくある要因と対策」のよくある要因の内容を確認してください。

なお,RPC関連エラー詳細コードが出力されても,内部的にリトライすることで解決する場合があります。次のような場合に調査及び対策をしてください。

RPC関連エラー時のよくある要因と対策を次の表に示します。

表4‒1 RPC関連エラー時のよくある要因と対策

項番

エラーの内容

意味

対策

1

ホスト名,又はポート番号の誤り

  • クライアント環境定義に指定するホスト名,又はポート番号に誤りがあります。

  • システム定義に指定するホスト名,又はポート番号に誤りがあります。

次の定義を見直し,誤りがあれば訂正してください。

  • クライアント環境定義

    PDHOST

    PDFESHOST

    PDCLTRCVADDR

    PDNAMEPORT

    PDSERVICEPORT

    PDCLTRCVADDR

    PDCLTRCVPORT

    PDFESGRP

  • システム定義

    pd_name_port

    pd_service_port

    pd_scd_port

    pd_trn_port

    pd_mlg_port

    pd_alv_port

    pdunitオペランドの-x,-c,-p,-s,-t,-m,及び-a

    pd_hostname

    pd_registered_port

    pdstartオペランドの-x,-m,及び-n

    pd_security_host_group

2

システム資源不足

  1. ポート不足

  2. メモリ不足

  3. システムでオープンできるファイル不足

  4. プロセスでオープンできるファイル不足

  5. メッセージキュー操作でエラー

次の対策をしてください。

  1. ポート不足の場合

    直前に出力されるKFPS00349-Eメッセージの内容に従って対策してください。

  2. メモリ不足の場合

    プロセス固有領域が不足しています。メモリを見積もり直してください。また,不要なプロセスがある場合はそれらを停止してください。

  3. システムでオープンできるファイル不足(オープンできるファイル数を超えた)の場合

    UNIX版の場合:

    OSのオペレーティングシステムパラメタ(カーネルパラメタ)の,システムでオープンできるファイル最大数(HP-UXの場合はnfile,AIXの場合はmaxuproc×nofiles×固定ライセンス数,Linuxの場合はNR_FILE又はfs.file-max)を増やしてください。また,不要なプロセスやウィンドウがある場合は停止してください。

    Windows版の場合:

    インストールドライブに共用メモリサイズ以上の空き容量を確保してください。

  4. プロセスでオープンできるファイル不足(オープンできるファイル数を超えた)の場合

    UNIX版の場合:

    OSのオペレーティングシステムパラメタ(カーネルパラメタ)の,プロセスでオープンできるファイル数の最大(HP-UXの場合はmaxfiles_lim,Solarisの場合はrlim_fd_max,AIXの場合はnofiles_hard,Linuxの場合はNR_OPEN)を増やしてください。また,pd_max_open_fdsの指定値が小さい場合は大きくしてください。

    Windows版の場合:

    インストールドライブに共用メモリサイズ以上の空き容量を確保してください。

  5. メッセージキュー操作のエラーの場合

    UNIX版の場合:

    OSのオペレーティングシステムパラメタ(カーネルパラメタ)のメッセージキュー関連のパラメタを見直してください。

    Windows版の場合:

    インストールドライブに,共用メモリサイズ以上の空き容量を確保してください。又は,システム環境変数PDUXPLMSGMNI(メッセージキュー識別子数),システム環境変数PDUXPLMSGTQL(メッセージキューテーブル数)に必要なリソース数の値を設定してください。見積もりについては,マニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照してください。

3

ホスト名解決不可,又はIPアドレス解決不可

gethostbyname,又はgethostbyaddrシステムコールで,ホスト名からIPアドレス,又はIPアドレスからホスト名への変換ができません。

次の事項を確認し,誤りがあれば修正してください。

  • hostsファイルの設定誤り

  • hostsファイルの権限不正

  • DNS,NISの各種設定ファイル(nsswitch.conf,resolv.confなど)の設定誤り

  • DNS,NISの各種設定ファイル(nsswitch.conf,resolv.confなど)の権限不正

なお,DNSやNIS使用時は,DNSサーバやNISサーバへの通信でエラーが発生している場合があります。また,複数ユニット構成の場合に,HiRDBの使用するホスト名をループバックアドレス(127.0.0.1)として割り当てると,エラーが発生することがあります。

4

/dev/HiRDB/pth不正

/dev/HiRDB/pthディレクトリが不正です。

  • inode不足

  • ディレクトリが存在しない

  • 権限不正

  • その他

HiRDBが正しくインストールされているか確認してください。正しくインストールされている場合は,該当ユニットで稼働するすべてのHiRDBを停止した後で次のように対処してください。

  • inode不足の場合

    /dev/HiRDB/pth下のファイルを削除してください。

  • ディレクトリが存在しない,権限不正,その他の場合

    pdsetup -dコマンドを実行した後で再度pdsetupコマンドを実行してください。権限不正の場合は,pdsetupコマンドを実行する前に/dev/HiRDBディレクトリと/dev/HiRDB/pthディレクトリを削除してください。

Linuxの場合は,次の点も確認してください。

  • /lib/udev/devices/HiRDBディレクトリ又は/lib/udev/devices/HiRDB/pthディレクトリが権限不正の場合

    権限不正のディレクトリを削除した後で再度pdsetupコマンドを実行してください。

5

ユニット,又はサーバの障害

  1. 通信先のユニット,又はサーバが稼働していません。

  2. HiRDBクライアント,又はHiRDBサーバを配置しているマシンのCPU利用率が高騰しています。

次の対策をしてください。

  1. 通信先のユニット,又はサーバを起動してください。ユニット又はサーバが異常終了している場合は,直前に出力されているメッセージを調査し,エラーの原因を取り除いた後で再起動してください。なお,この状態でオンラインを続行できる場合(縮退運転など)は無視してください。

  2. HiRDBクライアント,又はHiRDBサーバを配置しているマシンのCPU利用率が高騰している要因を調査し,対策してください。

6

ネットワーク障害

ネットワーク障害が発生しました。

  1. ハードウェアの障害

  2. OSより下のレイヤのソフトウェアの障害

  3. Listenキュー不足

  4. ネットワーク負荷

一時的なネットワーク障害でも,一定期間,通信処理がエラーとなることがあります。

次の対策をしてください。

  1. 使用するホストのネットワークが正常に動作しているかどうかを,OSのpingコマンドなどで確認してください。

  2. OSマニュアルを参照し,ネットワーク障害が発生していないか調査してください。

  3. HiRDBサーバに対する接続要求が多過ぎてListenキューが不足している場合があります。この場合,時間をおいて再度実行してください。又は,UNIX版の場合は,Listenキューの指定値を大きくしてください。

  4. ネットワーク負荷が高くなっている要因を調査し,対策してください。

一時的なネットワーク障害の場合,ネットワーク障害を確認できない場合があります。しばらく経過しても,RPC関連エラー詳細コードが出力され,運用できない状況が続く場合は,HiRDBシステムを強制停止後,再起動してください。

7

ファイアウォール設定

ファイアウォールによって通信できません。

  1. HiRDBクライアントとHiRDBサーバの間

  2. HiRDBサーバ間

次の対策をしてください。

  1. HiRDBクライアントとHiRDBサーバの間のファイアウォール設定とHiRDBの設定を見直してください。

    HiRDBクライアントとHiRDBサーバの間にファイアウォールを設定した場合の運用については「HiRDB Version 9 システム導入・設計ガイド」の「ファイアウォールやNATが設置されている場合の設定」を参照してください。

  2. HiRDBサーバ間でファイアウォールの設定を行っている場合,ファイアウォールの設定を解除してください。

注※ 二つ以上のユニットで構成するHiRDBシステムを強制停止する場合は,次の手順で実行してください。

1.MGRを配置しないすべてのユニットでpdstop -zコマンドを実行し,ユニットを強制停止します。

2.MGRを配置するユニットでpdstop -z又はpdstop -fコマンドを実行し,ユニットを強制停止します。

RPC関連エラーの詳細コードの一覧を次の表に示します。

表4‒2 RPC関連エラーの詳細コードの一覧

詳細コード

名称

意味

対策

-301

PDRPCER_INVALID_ARGS

引数が不正です。

表「RPC関連エラー時のよくある要因と対策」を参照し,該当する障害がないか確認してください。

該当しない場合は,全サーバマシンのイベントログ(UNIX版の場合はsyslogfile)や,OSのログファイル(ハードログなど)を参照し,エラーの直前にエラーメッセージが出力されていないか確認してください。エラーメッセージが出力されている場合は,そのメッセージに従って対策してください。エラーメッセージが出力されていない場合及び対処できない場合は,全サーバマシンのイベントログ(UNIX版の場合はsyslogfile)及び%PDDIR%\spool下のファイルを保存し,保守員に連絡してください。

-302

PDRPCER_PROTO

プロトコルエラーが発生しました(関数の使用順序が誤っています)。

詳細コード-301の対策を参照してください。

-303

PDRPCER_FATAL

次の要因が考えられます。

(1)メモリが不足しています。

(2)システム定義が不正です。

(3)システムファイルで障害が発生しました。

(4)通信資源が不足しました。

  • ポートが不足しました。

  • システム又はプロセスでオープンできるファイル数を超えました。

(5)UNIX版の場合,/dev/HiRDB/pthがあるボリューム(ディスク)が不正です(inode不足,権限不正,又はディレクトリが存在しないなど)。

(6)起動プロセス数がpd_max_server_processオペランド指定値を超えました。

(7)ホスト名,又はポート番号に誤りがあります。

(8)ホスト名の解決ができません。

上記以外の場合,致命的又は予期しないエラーが発生しました。

要因が(1),(4),(5),(7),(8)のときは,表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

要因が(2)の場合,pdconfchkコマンドを実行し,誤りのあるオペランドを修正してください。

要因が(6)の場合,起動プロセス数(pd_max_users,pd_process_countなど)を小さくするか,最大起動プロセス数(pd_max_server_process)を大きくしてください。

その他の場合,詳細コード-301の対策を参照してください。

-304

PDRPCER_NO_BUFS

次の要因が考えられます。

(1)メモリが不足しています。

(2)システムでオープンできるファイル数を超えました。

(3)プロセスでオープンできるファイル数を超えました。

(4)サーバが終了処理中です。

(5)サービスが登録されていません。

(6)ポート不足(Windows版の場合だけ)

要因が(1),(2),(3),(6)の場合,表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

要因が(4)の場合,サーバを再起動し,再度実行してください。

要因が(5)の場合,クライアント環境定義のPDSERVICEGRPの値が誤っている(シングルサーバ,又はフロントエンドサーバ以外のサーバ名を指定している)可能性があります。

その他の場合,詳細コード-301の対策を参照してください。

-306

PDRPCER_NET_DOWN

通信処理,又は通信資源の確保処理でエラーが発生しました。次の要因が考えられます。

(1)メモリが不足しています。

(2)通信資源が不足しました。

  • ポートが不足しました。

  • システム又はプロセスでオープンできるファイル数を超えました。

(3)UNIX版の場合,/dev/HiRDB/pthがあるボリューム(ディスク)が不正です(inode不足,権限不正,又はディレクトリが存在しないなど)。

(4)ホスト名又はポート番号が不正です。

(5)ホスト名の解決ができません。

(6)ネットワーク障害が発生しました。

(7)通信先のユニット,又はサーバが稼働していません。

表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

-307

PDRPCER_TIMED_OUT

タイムアウトが発生しました。

UAP,コマンド,及びユティリティがエラーになったり,システムサーバでエラーになってオンライン続行できなくなったりした場合,次の要因が考えられます。

(1)ネットワーク障害が発生しました。

(2)通信先のユニット,又はサーバが異常終了しました。

(3)通信先のサーバマシンの負荷(CPU及びI/O)が高いため,プロセスの割り当て処理に時間が掛かりました。

(4)システム定義pd_watch_timeオペランドの指定値を超えました。

UAP,コマンド,及びユティリティがエラーでない場合,又はオンライン続行できる場合は無視してください。

UAP,コマンド,及びユティリティがエラーになったり,システムサーバでエラーになってオンライン続行できなくなったりした場合は次の対策を実行してください。

  • 表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

  • OSコマンドなどを使用して通信先のサーバマシンの負荷状態(CPU及びI/O)を確認し,サーバマシンの負荷が高い要因を取り除いてください。

  • サーバマシンのイベントログ(UNIX版の場合はsyslogfile),OSのログファイル(ハードログなど)に出力されているメッセージに従って対策してください。

なお,要因が(4)の場合は,次のすべての対策をしてください。

  1. システム定義pd_watch_timeオペランドを省略してください。

  2. 次のオペランドを指定してSQL,コマンド,及びユティリティの実行時間を監視してください。

    ・クライアント環境定義PDCWAITTIME

    ・システム定義pd_cmd_exec_time

    PDCWAITTIMEについては,マニュアル「HiRDB Version 9 UAP開発ガイド」,pd_cmd_exec_timeオペランドについては,マニュアル「HiRDB Version 9 システム定義」を参照してください。

  3. pd_watch_timeオペランドに180より大きい値を指定していて,pd_lck_wait_timeオペランドを省略している場合は,pd_watch_timeオペランドの指定値をpd_lck_wait_timeオペランドに指定してください。

-308

PDRPCER_MESSAGE_TOO_BIG

入力パラメタ長が限界値を超えています。

詳細コード-301の対策を参照してください。

-309

PDRPCER_REPLY_TOO_BIG

応答長がコール元が用意した領域長を超えています。

-310

PDRPCER_NO_SUCH_SERVICE_GROUP

通信先のユニット,又はサーバが稼働していません。

表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

-311

PDRPCER_NO_SUCH_SERVICE

サービスが登録されていません。

クライアント環境定義のPDSERVICEGRPにシングルサーバ,又はフロントエンドサーバ以外のサーバを指定している可能性があります。

該当しない場合は詳細コード-301の対策を参照してください。

-312

PDRPCER_SERVICE_CLOSED

通信先のユニット,又はサーバが稼働していません。

表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

-313

PDRPCER_SERVICE_TERMINATING

サービスは終了処理中です。

詳細コード-301の対策を参照してください。

-314

PDRPCER_SERVICE_NOT_UP

通信処理,又は通信資源の確保処理でエラーが発生しました。次の要因が考えられます。

(1)メモリが不足しています。

(2)通信資源が不足しました。

  • ポートが不足しました。

  • システム又はプロセスでオープンできるファイル数を超えました。

(3)UNIX版の場合,/dev/HiRDB/pthがあるボリューム(ディスク)が不正です(inode不足,権限不正,又はディレクトリが存在しないなど)。

(4)ホスト名又はポート番号が不正です。

(5)ホスト名の解決ができません。

(6)ネットワーク障害が発生しました。

(7)通信先のユニット,又はサーバが稼働していません。

表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

-315

PDRPCER_OLTF_NOT_UP

通信先のユニット,又はサーバが稼働していません。

-316

PDRPCER_SYSERR_AT_SERVER

システムエラーが発生しました。

詳細コード-301の対策を参照してください。

-317

PDRPCER_NO_BUFS_AT_SERVER

次の要因が考えられます。

(1)メモリが不足しています。

(2)システムでオープンできるファイル数を超えました。

(3)プロセスでオープンできるファイル数を超えました。

(4)サーバが終了処理中です。

(5)サービスが登録されていません。

要因が(1),(2),(3)の場合,表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

要因が(4)の場合,サーバを再起動し,再度実行してください。

要因が(5)の場合,クライアント環境定義のPDSERVICEGRPの値が誤っている(シングルサーバ,又はフロントエンドサーバ以外のサーバ名を指定している)可能性があります。

その他の場合,詳細コード-301の対策を参照してください。

-318

PDRPCER_SYSERR

システムエラーが発生しました。

詳細コード-301の対策を参照してください。

-319

PDRPCER_INVALID_REPLY

サービス関数実行後の応答長が不正です。

-320

PDRPCER_OLTF_INITIALIZING

通信先のユニット,又はサーバが稼働していません。

表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

-321

PDRPCER_ALL_RECEIVIED

電文はすべて受信されています。

詳細コード-301の対策を参照してください。

-323

PDRPCER_NO_BUFS_RB

次の要因が考えられます。

(1)メモリが不足しています。

(2)システムでオープンできるファイル数を超えました。

(3)プロセスでオープンできるファイル数を超えました。

(4)サーバが終了処理中です。

(5)サービスが登録されていません。

要因が(1),(2),(3)の場合,表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

要因が(4)の場合,サーバを再起動し,再度実行してください。

要因が(5)の場合,クライアント環境定義のPDSERVICEGRPの値が誤っている(シングルサーバ,又はフロントエンドサーバ以外のサーバ名を指定している)可能性があります。

その他の場合,詳細コード-301の対策を参照してください。

-324

PDRPCER_SYSERR_RB

システムエラーが発生しました。

詳細コード-301の対策を参照してください。

-325

PDRPCER_SYSERR_AT_SERVER_RB

-326

PDRPCER_REPLY_TOO_BIG_RB

応答長がコール元が用意した領域長を超えています。

-330

PDRPCER_NO_POOL_AT_SERVER

プロセス割り当て時に,要求電文を格納するための共用メモリ中のバッファが不足しました。次の要因が考えられます。

(1)pdchprcコマンドを使用して,最大起動プロセス数を0にしたサーバに対してサービスを要求しました。

(2)pdpfreshコマンドを使用して,リフレッシュ中であるサーバにサービスを要求しました。

(3)同時に実行したUAPの数が多過ぎます。

(4)同時に実行したユティリティの数が多過ぎます。

要因が(1)の場合,pdchprcコマンドで最大起動プロセス数を増やしてください。

要因が(2)の場合,pdpfreshコマンド終了後,再度実行してください。

要因が(3)の場合,同時に実行するUAPの数を見直してください。

要因が(4)の場合,同時に実行するユティリティの数を見直してください。ユティリティの最大同時実行数については,マニュアル「HiRDB Version 9 コマンドリファレンス」を参照してください。

-335

PDRPCER_ROLLBACK_INTR

内部ロールバック要求を受け付けました。

ユティリティ実行中にpdstopコマンドを実行した場合,又はトランザクションやユティリティの関連プロセスがダウンした場合に出力されます。

内部ロールバック要因となったメッセージが直前に出力されている場合は,そのメッセージに従って対処してください。出力されていない場合は,保守員に連絡してください。

-344

PDRPCER_NO_DEVPTH

/dev/HiRDB/pthディレクトリが不正です。

表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

-350

PDRPCER_UNLOAD_FRAGMENT

フラグメントは破棄されました。

詳細コード-301の対策を参照してください。

-351

PDRPCER_NO_SUCH_TYPES

型変換で指定された表現形式はサポートされていません。

-352

PDRPCER_NO_SUCH_ADDR

指定されたIPアドレスは定義されていません。又は,IPアドレスが変換できません。

表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

-353

PDRPCER_NO_SUCH_NODENAME

指定されたホスト名は定義されていません。又は,ホスト名が変換できません。

-354

PDRPCER_TOO_MANY_HANDLERS

一つのプロセスで登録できるハンドラの数を超えました。

詳細コード-301の対策を参照してください。

-355

PDRPCER_NOT_FOUND

指定したスレッドはありません。又は,指定したスレッドは制御用スレッドです。

-356

PDRPCER_SERVER_BUSY

次の要因が考えられます。

(1)サーバの負荷が高く,サービスを実行できません。

(2)メモリ不足が発生しました。

要因が(1)の場合,時間をおいて再度実行してください。時間をおいても解消しない場合は,詳細コード-301の対策を参照してください。

要因が(2)の場合,表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

-357

PDRPCER_SERVICE_INITIALIZING

RPC環境が開始されていません。

詳細コード-301の対策を参照してください。

-359

PDRPCER_ALREADY_REPLIED

既に応答しています。

UAP,コマンド,又はユティリティがエラーになっていない場合は無視してください。

UAP,コマンド,又はユティリティがエラーになっている場合は詳細コード-301の対策を参照してください。

-360

PDRPCER_NOT_UPP_STARTED

pdi_upp_startオペランドが発行されていません。

詳細コード-301の対策を参照してください。

-361

PDRPCER_NO_SERVICE_CLAUSE

ユーザサービス定義にサービス句が定義されていません。

-362

PDRPCER_WRONG_NUMBER

namへのサービス情報の登録・削除・検索でnam用以外のデータを指定しています。

-363

PDRPCER_UPP_FAILED

システム定義の取得に失敗しました。次の要因が考えられます。

(1)システム定義の内容に誤りがあります。

(2)システム定義取得時にメモリ不足が発生しました。

要因が(1)の場合,システム定義を修正してください。

要因が(2)の場合,表「RPC関連エラー時のよくある要因と対策」を参照し,対策してください。

-364

PDRPCER_ERROR_REPLIED

サーバでエラーが発生しました。

詳細コード-301の対策を参照してください。

-365

PDRPCER_TRACE_FILE_EMPTY

トレースファイルにデータがありません。

-371

PDRPCER_PROFILE

pd_registered_portオペランドの値が不正です。

直前に出力される,KFPS00346-E,KFPS00348-Eメッセージに従って対処してください。

-372

PDRPCER_RETRY_CONNECT

次のどれかの状態です。

  • pdchgconfコマンド実行中

  • pdprgrenewコマンド実行中

  • pdtrnqingコマンドによるトランザクションキューイング中

UAPが接続エラーとなった場合,次の要因が考えられます。

(1)使用しているクライアントライブラリのバージョンが07-01より古いバージョンです。

(2)pdchgcnfコマンド又はpdprgrenewコマンドが失敗し,HiRDBが開始していません。

(3)pdtrnqingコマンドによるトランザクションキューイング開始後,解除していません。

UAPが接続エラーでない場合はこのメッセージを無視してください。

  • 要因が(1)の場合

    pdchgcnf及びpdprgrenewコマンドを実行したときは,コマンドの終了を待って再度実行してください。

    pdtrnqingコマンドによるトランザクションキューイング中のときは,トランザクションキューイングを解除してから再度実行してください。

  • 要因が(2)の場合

    エラーの原因を取り除き,HiRDBを再開始してから再度実行してください。

  • 要因が(3)の場合

    トランザクションキューイングを解除してから再度実行してください。

-373

PDRPCER_RETRY_TRANSACTION

-374

PDRPCER_RETRY_STOPPING

-375

PDRPCER_RETRY_STARTING

-376

PDRPCER_TRNPAUSE

新規トランザクションのスケジューリング抑止状態です。

pdls -d svrコマンドで,新規トランザクションのスケジューリング抑止状態のサーバを特定し,原因を取り除いてください。新規トランザクションのスケジューリング抑止状態のサーバがない場合は,UAP又はユティリティを再実行してください。

-382

PDRPCER_CONN_SEPARATE_TIMEOUT

運用コマンド又はユティリティ実行時に,ユーザサーバプロセス,ユティリティサーバプロセスの割り当てがpd_cmd_process_conwaittimeオペランドに指定した時間内に完了しませんでした。

KFPS00358-Eメッセージに従って対処してください。

その他

詳細コード-301の対策を参照してください。