第9章 J2EEアプリケーション開発・運用時の異常
12.1 CORBAサービス運用中のシステム例外発生
CORBAサービス運用中にCOMM_FAILUREが発生する
CORBAサービス運用中にシステム例外(COMM_FAILURE)が発生した場合、以下の原因が考えられます。
configファイルの設定による問題
configファイル(CORBAサービスの動作環境ファイル)の以下のパラメタ値で不足が発生した場合、COMM_FAILUREが
発生します。
なお、サーバ機能では、max_IIOP_resp_conの値および実際の消費量をodprtcurparamコマンドにより確認することがで きます。また、oddumprespコマンドを使用すると、max_IIOP_resp_conの使用状況(コネクションの状態)について確認でき ます。
・ max_IIOP_resp_con [発生マシン]
サーバ [発生条件]
サーバでクライアントから受け付けるコネクション数を超えて、リクエストを受け付けた場合に発生します。
動作ログを採取し、ログファイルに以下の情報があれば、これが原因と考えられます。
Error gen (OM_con_lib.c,xxxx): responder: max connection limit exceeded [発生頻度]
通常、クライアントアプリが終了するまで継続して発生します。
・ period_receive_timeout、period_server_timeout(タイマ監視パラメタ) [発生マシン]
クライアント/サーバ [発生条件]
以下の監視時間が設定値を超えた場合に発生します。
period_receive_timeout
リクエスト発行から応答受信までの時間 period_server_timeout
起動タイプがpersistent以外のサーバで、fork()/exec()からCORBA_ORB_init()までの時間 [発生頻度]
瞬間的に発生します。
initial_hosts/inithostファイルの設定による問題
initial_hosts(inithost)ファイル(サービスの所在問い合わせ先定義)に以下の問題が発生した場合、COMM_FAILUREが 発生します。
・ ホスト名、ポート番号の誤り [発生マシン]
クライアント/サーバ [発生条件]
誤ったホスト名やポート番号が設定された場合に発生します。
[発生頻度]
再設定まで継続して発生します。
アプリケーション/運用上の問題
運用中に以下のような問題が発生した場合、COMM_FAILUREが発生します。
・ サービス未起動 [発生マシン]
クライアント/サーバ [発生条件]
CORBAサービスが起動されていない、またはinitial_hosts/inithostファイルやオブジェクトリファレンスに定義され たサービスが動作していない場合に発生します。
[発生頻度]
サービス起動まで継続して発生します。
・ インタフェースリポジトリとの通信不可 [発生マシン]
クライアント/サーバ [発生条件]
TypeCodeインタフェースの以下のメソッド(TypeCode情報取得)を発行時、インタフェースリポジトリと通信できなかっ
た場合に発生します。
CORBA_TypeCode_name()
CORBA_TypeCode_member_count() [発生頻度]
メソッド発行時
・ ネットワークエラー [発生マシン]
クライアント/サーバ [発生条件]
LANの負荷が高く、TCP/IPへの送信/受信でエラーになった場合に発生します。
[発生頻度]
CORBAサービス起動まで継続して発生します。
・ サーバマシンのシステムダウン [発生マシン]
クライアント [発生条件]
クライアントアプリケーションとサーバアプリケーションを異なるマシン上で運用している際、TCP/IPの仕様のより サーバマシンのシステムダウンをクライアント側で検出できなかった場合に発生します。これは、クライアントにおいて configファイルのperiod_receive_timeoutパラメタで設定した待機時間を超過した際に通知されます。
[発生頻度]
ネットワーク構成に依存するため、特定できません。
[対処]
サーバマシン、ルータなどのネットワーク装置の状態を確認してください。
CORBAサービス運用中にNO_RESOURCESが発生する
CORBAサービス運用中にシステム例外(NO_RESOURCES)が発生した場合、以下の原因が考えられます。
configファイルの設定による問題
configファイル(CORBAサービスの動作環境ファイル)の以下のパラメタ値で不足が発生した場合、NO_RESOURCESが 発生します。
なお、サーバ機能ではmax_IIOP_resp_requestsの値および実際の消費量をodprtcurparamコマンドにより確認することが できます。また、oddumprespコマンドを使用すると、max_IIOP_resp_requestsの使用状況(コネクションの状態)について確認 できます。
・ max_IIOP_resp_requests [発生マシン]
サーバ [発生条件]
サーバ側で同時に処理できるリクエスト数を超えた場合に発生します。
[発生頻度]
瞬間的に発生します。
CORBAサービス運用中にUNKNOWNが発生する
CORBAサービス運用中にCORBA_ORB_init関数でシステム例外(UNKNOWN)が発生した場合、以下の原因が考え られます。
configファイルの設定による問題
configファイル(CORBAサービスの動作環境ファイル)の以下のパラメタ値で不足が発生した場合、CORBA_ORB_init関数 でUNKNOWN例外が発生します。
なお、max_processesの値および実際の消費量をodprtcurparamコマンドにより確認することができます。
・ max_processes [発生条件]
同時に起動できるCORBAアプリケーションのプロセス数を超えた場合に発生します。
システムログ(Windows(R)ではイベントログ)にod10936メッセージが出力されていれば、これが原因と考えられます。
[発生頻度]
システム構成に依存するため、特定できません。
odprocwatchプロセス停止よる問題
CORBAサービスが起動中の状態で、odprocwatchプロセス(Windows(R)版ではイメージ名はodprocwatch.exe)が起動し
ていない場合、CORBA_ORB_init関数でUNKNOWN例外が発生します。
なお、クライアントパッケージではCORBAサービスが起動しないため該当しません。
タスクマネージャでプロセス一覧を確認し、イメージ名がOdstart.exeのプロセスが存在し、odprocwatch.exeのプロセスが存在 しない場合は、これが原因と考えられます。
psコマンドでシステム上のプロセス一覧を確認し、OD_startプロセスが存在し、odprocwatchプロセスが存在しない場合は、
これが原因と考えられます。
[対処]
一括情報採取ツールを使用して調査情報を採取した後、Interstageを再起動してください。