Autonomous DatabaseでのOraMTSリカバリ機能の使用方法

Oracle MTS (OraMTS)リカバリ・サービスを使用して、インダウトMicrosoft Transaction Serverトランザクションを解決します。

OraMTSリカバリ・サービスについて

Oracle MTS (OraMTS) Recovery Serviceは、Microsoft Transaction Serverのインダウト・トランザクションを解決します。

Microsoft Transaction Server (MTS)は、インターネットまたはネットワーク・サーバー上で動作する、COMベースのトランザクション処理システムです。

Oracle MTS Recovery Serviceは、Oracle Services for Microsoft Transaction Serverとともに自動的にインストールされます。Oracle MTS Recovery Service (OraMTS)は、失敗したトランザクションが開始されたコンピュータで、インダウト・トランザクションを解決します。各MTS対応データベースのスケジュール済リカバリ・ジョブにより、OraMTSリカバリ・サービスはインダウト・トランザクションを解決できます。

OracleデータベースでMTSを使用するには、分散トランザクション機能が必要です。

これらのコンポーネントのいずれかに障害が発生すると、Microsoft Transaction Serverに接続されたOracleトランザクションがインダウト・トランザクションになります。

  • Microsoft Transaction Serverのアプリケーション

  • ネットワーク

  • Microsoft分散トランザクション・コーディネータ(MS DTC)

詳細は、「Oracle DatabaseでのMicrosoft Transaction Serverの使用」を参照してください。

Oracle MTS (OraMTS) Recovery Serviceは、Microsoft Transaction Serverのインダウト・トランザクションを次の順序で解決します。
  1. DBMSリカバリ・ジョブにより、MTS連携のインダウト・トランザクションが検出されます。

  2. DBMSリカバリ・ジョブは、インダウト・トランザクションのXIDから、リカバリ・サービスのエンドポイントのアドレスを抽出し、MTS/MS DTCトランザクションの結果に対するリカバリ・サービスを要求します。

  3. リカバリ・サービスにより、トランザクションの結果に対するMS DTCが要求されます。

  4. リカバリ・サービスでは、DBMSジョブ・プロセスに対してトランザクションの結果が報告されます。

  5. DBMSリカバリ・ジョブは、MS DTCによってレポートされた結果に基づいて、インダウト・トランザクションをコミットまたは終了します。

ノート

各コンピュータには、Oracle MTS (OraMTS) Recovery Serviceのインスタンスを1つのみインストールできます。

Autonomous DatabaseでOraMTSリカバリ・サービスを有効にするための前提条件

Autonomous DatabaseのOraMTSリカバリ・サービスを有効にするための前提条件をリストします。

Autonomous DatabaseでOracle MTS Recovery Serviceを有効にするには:

  • プライベート・エンドポイントでデータベースを構成する必要があります。

  • OraMTSリカバリ・サービスの場合、VMをデータベースと同じプライベート・ネットワークにデプロイする必要があります。

  • OCIプライベート・ロード・バランサ(LBaaS)を構成し、ポート2030でロード・バランサ(LBaaS)がVMにアクセスできる必要があります。詳細は、ロード・バランサ管理を参照してください。

  • データベースは、ポート443のロード・バランサ(LBaaS)と通信できる必要があります。これを有効にするには、VCNのセキュリティ・リストまたはネットワーク・セキュリティ・グループのポート443のエグレス・ルールが必要です。

  • ロード・バランサ(LBaaS)もデータベースから通信を受信できる必要があります。これを有効にするには、ポート443のロード・バランサ(LBaaS)のイングレス・ルールが必要です。

  • ドメイン・プロバイダを使用してドメイン名を予約します。

  • ドメインのSSL証明書を生成します。

  • OCIロード・バランサを使用してセキュアなHTTPSエンドポイントを構成し、Autonomous DatabaseとMTSサーバー間の通信でSSL暗号化を使用したHTTPSプロトコルが使用されるようにする必要があります。詳細は、プライベート・エンドポイントを使用したネットワーク・アクセスの構成およびプライベート・ホストへのHTTPリクエストの発行を参照してください。

Autonomous DatabaseでのOraMTSリカバリ・サービスの有効化

Autonomous DatabaseでOraMTSリカバリ・サービスを有効にするステップについて説明します。

Autonomous DatabaseでOraMTSリカバリ・サービスを有効にするには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTEオブジェクト権限を持っている必要があります。

DBMS_CLOUD_ADMIN.ENABLE_FEATUREを実行して、Autonomous DatabaseでOraMTSリカバリ・サービスを有効にします。

OraMTSリカバリ・サービスを有効化および検証する例:

BEGIN 
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
        feature_name => 'ORAMTS',   
        params       => JSON_OBJECT('location_uri' VALUE 'https://mymtsserver.mycorp.com')
   );
END;
/
SELECT property_value FROM database_properties WHERE property_name = 'ORAMTS_SERVER';

最初の例では、Autonomous DatabaseでOraMTSリカバリ・サービスを有効にします。

feature_nameパラメータは、有効にする機能の名前を指定します。ORAMTS値は、データベースのOraMTSリカバリ・サービス機能を有効にしていることを示します。

location_uriパラメータは、顧客ネットワーク内のOraMTSサーバーのHTTPS URLを指定します。

2番目の例は、OraMTSリカバリ・サービスがAutonomous Databaseに対して有効になっていることを確認するために実行できるSQL文です。

詳細は、ENABLE_FEATUREプロシージャを参照してください。

Autonomous DatabaseでのOraMTSリカバリ・サービスの無効化

Autonomous DatabaseのOraMTSリカバリ・サービスを無効にするステップについて説明します。

Autonomous DatabaseでOraMTSリカバリ・サービスを無効にするには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTEオブジェクト権限を持っている必要があります。

DBMS_CLOUD_ADMIN.DISABLE_FEATUREを実行して、Autonomous DatabaseでOraMTSリカバリ・サービスを無効にします。

OraMTSリカバリ・サービスを無効にする例:

BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'ORAMTS');   
END;
/

これにより、Autonomous DatabaseのOraMTSリカバリ機能が無効になります。

feature_nameパラメータは、無効にする機能の名前を指定します。ORAMTS値は、データベースのOraMTSリカバリ・サービス機能を無効にしていることを示します。

詳細は、DISABLE_FEATUREプロシージャを参照してください。