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

Oracle MTS (OraMTS) Recovery Serviceを使用して、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 (OraMTS) Recovery Serviceは、失敗したトランザクションが開始されたコンピュータで、インダウト・トランザクションを解決します。各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 Private Load Balancer (LBaaS)を構成する必要があり、Load Balancer (LBaaS)がポート2030でVMにアクセスできる必要があります。詳細は、Load Balancer Managementを参照してください。

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

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

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

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

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

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

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

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

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

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番目の例は、Autonomous DatabaseでOraMTSリカバリ・サービスが有効になっていることを確認するために実行できる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プロシージャを参照してください。