サーバー インスタンスが XA リソース接続エラーを処理する方法は、次の環境変数によって制御されます。
- ES_XA_RECONNECT
- この環境変数を True に設定した場合、XA への呼び出しでエラーが発生すると、サーバーはリソース マネージャーへの再接続を試みます。
XA トランザクションが実行され、XA 呼び出しが失敗するたびに、再試行カウンターが 1 ずつ増えます。XA 呼び出しの許容される失敗の回数は次の環境変数で制御できます。
制約事項: ES_XA_RECONNECT は、動的登録を使用するリソース マネージャーではサポートされていません。
- ES_XA_????_NB_RETRIES
-
この環境変数は、失敗した XA 呼び出しをサーバーが再試行する回数を制御します。この環境変数を設定するための形式は次のとおりです。
ES_XA_????_NB_RETRIES=nnnn
???? は XA ID です。nnnn は XA 呼び出しの再試行の回数で、この回数に達すると、SEP が再利用されてスイッチが無効化されます。デフォルト値は 5 で、最大値は 254 です。nnnn を -1 または 254 を超える数に設定した場合、スイッチ モジュールが無効になることはなく、再接続の試行は無制限に継続されます。
注:
リージョンが起動されると、各 SEP に対して XA スイッチ モジュールがロードされ、xa_open 呼び出しが行われます。xa_open が失敗すると、スイッチはただちに無効になります。
最初の
xa_open 呼び出しが成功した場合:
- XA トランザクションが実行され、XA 呼び出しが失敗するたびに、再試行カウンターが 1 ずつ増えます。
- 最大再試行回数に達すると、SEP は「ダーティ」とマークされて再利用されます。
- 代替の SEP でも最初の xa_open 呼び出しが失敗した場合は、スイッチが無効になるため、データベースの問題を修正した後に Enterprise Server Monitoring and Control (ESMAC) を使用してスイッチを再度有効にする必要があります。
呼び出し失敗の最大回数に達したためにスイッチ モジュールが無効になった場合に、ES_XA_RECONNECT が True に設定されているときは、ESMAC を起動して次の手順を実行することにより、スイッチを再度有効にすることができます。
ESMAC を起動するには:
- インストールの Enterprise Server Administration 画面にアクセスします。
- エンタープライズ サーバー インスタンスのテーブルで、必要なサーバーが起動されていることを確認します。起動されていない場合は、そのサーバーを起動します。
- 監視するエンタープライズ サーバー インスタンスの [Status] 列で、[Details] をクリックします。
サーバーの [Details] 画面が表示されます。
- [Details] 画面で [] タブを選択し、[ES Monitor & Control] をクリックします。
Enterprise Server Monitoring and Control (ESMAC) の画面が表示されます。
スイッチ モジュールを再度有効にするには:
- [Resources] オプションで [Active] を選択します。
- [XAT] を選択します。
- 無効になっている該当リソースをアクティブなリソースのリストでクリックし、その XAT の詳細を開きます。
- [Enable] をオンにします。