XA 接続エラーの処理

制約事項: This topic applies only when the Enterprise Server feature is enabled.

サーバー インスタンスが 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 を起動するには:

  1. インストールの Enterprise Server Administration 画面にアクセスします。
  2. エンタープライズ サーバー インスタンスのテーブルで、必要なサーバーが起動されていることを確認します。起動されていない場合は、そのサーバーを起動します。
  3. 監視するエンタープライズ サーバー インスタンスの [Status] 列で、[Details] をクリックします。

    サーバーの [Details] 画面が表示されます。

  4. [Details] 画面で [Server > Control] タブを選択し、[ES Monitor & Control] をクリックします。

    Enterprise Server Monitoring and Control (ESMAC) の画面が表示されます。

スイッチ モジュールを再度有効にするには:

  1. [Resources] オプションで [Active] を選択します。
  2. [XAT] を選択します。
  3. 無効になっている該当リソースをアクティブなリソースのリストでクリックし、その XAT の詳細を開きます。
  4. [Enable] をオンにします。