2. Transactionサービス

Transactionサービスでは障害発生時などに、UNIX版ではsyslogに、Windows版ではイベントログにその内容を表示します。それぞれで表示されるメッセージの内容ととるべき対応について以下に説明します。

また、表示されるコードを以下のように分類しています。

表示項目 説明または発生原因とその対策
RCS start. RCSID=[XXXX]. RCSID=XXXXで定義されたRecoveryCoordinationServer(RCS)が起動しました。なおRCSIDについては、バージョン6以降ではTransactonサービスが自動的に割り振っています。
RCS end. RCSID=[XXXX]. RCSID=XXXXで定義されたRecoveryCoordinationServer(RCS)が停止しました。
cannot set timer object(XXX). タイマー監視に失敗した場合に出力されます。ObjectBrokerの設定に問題がある可能性があります。
cannot reload rcs configuration(XXX). RCD起動の際に設定ファイルであるrcs.confの際読み込みが失敗した場合に出力されます。ファイルの内容に問題がないか確認してください。
CORBA::Exception(XXX) raises in start orb. RCD起動中にXXX例外が発生した場合に出力されます。ObjectBrokerの設定に問題がある可能性があります。
CORBA::Exception(XXX) raises in stop orb. RCDの停止中にXXX例外が発生した場合に出力されます。ObjectBrokerの設定に問題がある可能性があります。
RCSID=XXX abnormally stopped. RCSID=XXXのRecoveryCoordinationServer(RCS)プロセスが異常終了しました。
RCSID=XXX cannot read shared memory. RCSID=XXXのRecoveryCoordinationServer(RCS)プロセスが使用する共有メモリに異常が発生しました。
RCSID=XXX cannot write shared memory. RCSID=XXXのRecoveryCoordinationServer(RCS)プロセスが使用する共有メモリに異常が発生しました。
in XXX, cannot open configuration file(YYY). XXXの内部でYYYの構成情報の読み込みに失敗しました。ファイルが正しいか確認してください。
in XXX, cannot read configuration parameter(YYY). XXXの内部で構成情報のYYYの読み込みに失敗しました。YYYの値が正しいか確認してください。
in XXX, cannot open shared memory(YYY). XXXの内部でYYYの共有メモリのオープンに失敗しました。
in XXX, cannot initialize any parameters(YYY). XXXの内部でパラメータYYYの初期化に失敗しました。
in XXX, cannot create directory(YYY). XXXの内部でディレクトリYYYの作成に失敗しました。ディレクトリの指定が正しいか確認してください。
in XXX, cannot find target file(YYY). XXXの内部でYYYのファイルが見つかりませんでした。
in XXX, corba exception(YYY). XXXの内部でCORBA例外YYYが発生しました。
in XXX, cannot start rcs(YYY). XXXの内部でRCS(YYY)の起動に失敗しました。
shared memory initialize. 共有メモリの初期化に失敗しました。
create object. メモリ不足のためオブジェクトの生成に失敗しました。
cannot reload rcs.conf. rcs.confファイルの再読み込みに失敗しました。
cannot load rcs configuration. rcsの構成情報の読み込みに失敗しました。
TRANSACTION_ROLLEDBACK exception occurred(txname=XXXX) トランザクション名XXXXのトランザクションがコミット要求に対しロールバックしました。
heuristic exception occurred(txname=XXXX) トランザクション名XXXXのトランザクションがヒューリスティック状態となりました。
TXID[XXXX] is recovered. This transaction should be completed by operator! 1フェーズコミット対応リソースに対するコミット処理結果が不明なため、トランザクション(トランザクションID:XXXX)が完了していません。統合運用管理ツール、またはコマンドにより強制的にトランザクションを完了させてください。
Exception occurred. Message is XXX. 例外が発生したことを示します。XXXには例外情報を表示します。
The XA function has failed because of a cause indicated by the code. function = AAA rc = BBB Transactionサービスから発行したXA関数が失敗したことを示します。AAAには失敗したXAメソッド名、BBBにはXA関数のエラーコードを表示します。
Opening the persistent file has failed. ( code:xxx ) 永続ファイル例外が発生したことを示します。xxxにはエラーコードを表示します。

ドメインを生成した直後の起動時にこのメッセージが表示されることがありますが問題はありません。これは、最初のドメイン起動時にトランザクションの情報を管理するための永続ファイルが生成されていない事が原因です。本メッセージを出力した後にTransactionサービス内部でこのファイルを生成しますので2度目以降のドメイン起動では本メッセージは出力されません。
永続ファイルのOPENに失敗しました。( code:xxx )
Extending the persistent file has failed. ( code:xxx ) 永続ファイルのファイルサイズの拡張に失敗したことを示します。xxxにはエラーコードを表示します。
永続ファイルの拡張に失敗しました。( code:xxx )
Initializing DDD has failed. (code:CCC) DDDにはオブジェクト名、CCCにはエラーコードを表示します。
DDD の初期化に失敗しました。( code:CCC )
Memory has run short in reserving DDD. DDDにはオブジェクト名を表示します。
DDD の確保でメモリ不足が発生しました。
The SYSTEM function, XXX, has failed because of a cause indicated by the code, CCC. XXXにはシステム関数名、CCCにはエラーコードを表示します。
システム関数 XXX がコード CCC で失敗しました。
Invalid configuration settings (DDD). Implement to correct setup. DDDにはレジストリキーの名前と、値の名前を表示します。
レジストリが正しく設定されていません(DDD)。セットアップを正しく行って下さい。
The method, XXX, has encountered an exception. (code:AAA minor code:BBB) CORBAメソッドで例外が発生したことを示します。XXXには例外が発生したメソッド名、AAAには例外クラス、BBBにはマイナーコードを表示します。
メソッド XXX で例外が発生しました。( code:AAA minor code:BBB )
The XA function, XXX, has failed because of a cause indicated by the code, CCC (flag:DDD). Transactionサービスから発行したXA関数が失敗したことを示します。XXXには失敗したXA関数名、CCCにはXA関数のエラーコード、DDDにはXA関数呼び出し時に指定したフラグを表示します。
XA関数 XXX がコード CCC で失敗しました。( flag:DDD )
Invalid DDD object reference. DDDにはオブジェクト名を表示します。
DDD のオブジェクトリファレンスが不正です。
Invalid parameter, DDD. DDDにはパラメータ名を表示します。
パラメータ DDD が不正です。
An unsupported type, DDD, has been specified. DDDにはデータベース種別を表示します。
未サポートのタイプ DDD が指定されました。
An exception has taken place. A stack dump and a memory dump will be written into 'DDD.dmp'. DDDには例外が発生したスレッドのスレッドIDを表示します。
例外が発生しました。スタックダンプ及びメモリダンプを 'DDD.dmp' に書き込みます。
Opening database has failed. ( code:CCC ) CCCにはエラーコードを表示します。
データベースのオープンに失敗しました。( code:CCC )
Making the transaction information persistent has failed. (name:XXX code:CCC) XXXには永続化を実施したメソッドの名前、CCCにはエラーコードを表示します。
トランザクション情報の永続化に失敗しました。( name:XXX code:CCC )
Acquiring the transaction information has failed. (name:XXX code:CCC) XXXにはトランザクション情報の取得を実施したメソッドの名前、CCCにはエラーコードを表示します。
トランザクション情報の取得に失敗しました。( name:XXX code:CCC )