Oracle Real Application Testingを使用したワークロードのテスト

Oracle Real Application Testingは、非常にコスト効率が高く、使いやすいプロアクティブなパフォーマンス管理ソリューションであり、テストまたは本番でのシステム変更の結果を完全に評価できます。

Oracle Real Application Testingについて

Oracle Real Application Testingを使用すると、本番システムのワークロードを取得して、それを元のワークロードとまったく異なるタイミング、同時実行性およびトランザクション特性を使用してテスト・システムでリプレイすることができます。

Oracle Real Application Testingでは、様々なシステム変更の影響をテストするための正確な方法が提供され、次のタスクを実行できます。

  • 本番システムに影響を与えずに、ワークロードに対するシステム変更の影響をテストできます。

  • 本番システムのワークロードを取得し、テスト・システムで同じワークロードをシミュレートできます。

Oracle Databaseリプレイを使用して、Autonomous Databaseインスタンス、オンプレミス・データベースまたはその他のクラウド・サービス・データベースからワークロードを取得し、Autonomous Databaseでワークロードをリプレイできます。これにより、Autonomous Databaseでのワークロードの実行方法を、別のAutonomous Database、オンプレミス・データベースまたはその他のクラウド・サービス・データベースと比較できます。

Real Application Testingでは、次のいずれかのキャプチャ・リプレイ・アクションを実行できます。

リプレイの取得オプション 摘要

Autonomous Databases間の取得- リプレイ・ワークロード。

詳細は、Autonomous Databases間の取得- リプレイ・ワークロードを参照してください。

Autonomous Database Oracle Database 19cからのワークロードの取得およびOracle Database 23aiを使用したAutonomous Databaseでのリプレイ

この取得リプレイでは、Oracle Database 19cを使用してAutonomous Databaseのワークロードを取得し、Oracle Database 23aiを使用してAutonomous Databaseでリプレイできます。

詳細は、取得リプレイを使用した23aiリフレッシュ可能クローンの19cワークロードのテストを参照してください。

Autonomous Database以外からワークロードを取得し、Autonomous Databaseでリプレイします。

詳細は、非AutonomousとAutonomous Databases間の取得- リプレイ・ワークロードを参照してください。

本番Autonomous Databaseからワークロードを取得し、ターゲットAutonomous Databaseで別のパッチ・レベルでリプレイします(ターゲットAutonomous Databaseにパッチが適用された後)。

詳細は、今後のパッチに対するワークロードのテストを参照してください。

Autonomous Databases間の取得- リプレイ・ワークロード

Autonomous Databaseインスタンスから別のAutonomous Databaseインスタンスに取得およびリプレイできます。

これにより、異なるAutonomous Databaseインスタンス間でワークロードを比較できます。これらのAutonomous Databaseインスタンスは、パッチ・レベル、データベース・バージョンまたはリージョンによって異なる場合があります。

Autonomous Databases間の取得- リプレイ・ワークフローは、次のステップで構成されます(両方ではなく、ワークロード取得を取り消すか、または終了します)。

(オプション)取得およびリプレイの詳細を通知する情報イベントのサブスクライブ

取得およびリプレイの開始および完了時に通知されるcom.oraclecloud.databaseservice.autonomous.database.information情報イベントをサブスクライブします。

ノート

このステップはオプションです。ワークロード取得のステータスおよび履歴情報は、DBA_CAPTURE_REPLAY_STATUSビューおよびDBA_CAPTURE_REPLAY_HISTORYビューでも確認できます。

詳細は、DBA_CAPTURE_REPLAY_STATUSビューおよびDBA_CAPTURE_REPLAY_HISTORYビューを参照してください。

情報イベントは、取得およびリプレイの開始時間と終了時間に関する通知を提供し、取得およびリプレイ・レポートにアクセスするためのPAR URLを含みます。

Autonomous Database情報イベントには次のものがあります:

  • WorkloadCaptureBegin: このイベントは、ワークロードの取得が開始されたときにトリガーされます。
  • WorkloadCaptureEnd: このイベントは、ワークロード取得が正常に完了し、取得ファイルをダウンロードするための事前認証済(PAR) URLを生成するとトリガーされます。
  • WorkloadReplayBegin: このイベントは、ワークロード・リプレイが開始されたときにトリガーされます。
  • WorkloadReplayEnd: このイベントは、ワークロード・リプレイが正常に完了し、リプレイ・レポートをダウンロードするための事前認証済(PAR) URLを生成するとトリガーされます。

詳細は「Autonomous Databaseの情報イベント」を参照してください。

Autonomous Databaseインスタンスでのワークロードの取得

データベース・リプレイを使用するための最初のステップは、本番ワークロードの取得です。

ノート

Autonomous Databaseインスタンスのワークロードを取得して、別のAutonomous Databaseインスタンスでリプレイできます。取得されたワークロードは、フル・クローンまたはリフレッシュ可能クローンでリプレイできます。取得ターゲットおよびリプレイ・ターゲットは、一貫性のある論理状態である必要があります。そのため、ワークロードを取得するAutonomous Databaseインスタンスのリフレッシュ可能クローンまたはフル・クローンをプロビジョニングする必要があります。

詳細は、Autonomous Databaseインスタンスのクローニング、移動またはアップグレードを参照してください。

本番システムでワークロードの取得を開始すると、Oracle Databaseに送信される外部クライアントからのすべてのリクエストが追跡され、取得ファイルと呼ばれるバイナリ・ファイルに格納されます。

ワークロード取得では、取得ファイルを含む2つのサブディレクトリcapおよびcapfilesが作成されます。取得ファイルには、トランザクションの詳細、バインド値、SQLテキストなど、クライアント・リクエストに関するすべての関連情報が表示されます。これらの取得ファイルは、プラットフォームには依存せず、別のシステムに転送できます。

DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTUREを実行して、Autonomous Databaseインスタンスでワークロードの取得を開始します。

詳細は、Autonomous Databaseインスタンスのクローニング、移動またはアップグレードを参照してください。

Autonomous Databaseインスタンスでワークロードの取得を開始するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

ワークロードの取得を開始する例:

BEGIN 
   DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE(
        capture_name => 'test',
        duration     => 60);
   END;
/

これにより、Autonomous Databaseインスタンスでワークロードの取得が開始されます。

パラメータは次のとおりです。

  • capture_name: ワークロード取得の名前です。

  • duration: ワークロードを取得する必要がある期間(分単位)です。このパラメータはオプション。

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

ワークロード取得イベント

情報イベントcom.oraclecloud.databaseservice.autonomous.database.informationをサブスクライブして、START_WORKLOAD_CAPTUREの開始時に通知を受けることができます。詳細は、(オプション)キャプチャおよびリプレイの詳細を通知する情報イベントのサブスクライブを参照してください。

ワークロードの取得およびリプレイ・ビュー

ワークロードの取得およびリプレイに関する情報は、DBA_CAPTURE_REPLAY_STATUSビューおよびDBA_CAPTURE_REPLAY_HISTORYビューにあります。詳細は、DBA_CAPTURE_REPLAY_STATUSビューおよびDBA_CAPTURE_REPLAY_HISTORYビューを参照してください。

Autonomous Databaseインスタンスでのワークロード取得の取消し

DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTUREを実行して、Autonomous Databaseインスタンスの現在のワークロード取得を取り消します。

ワークロードの取得を取り消すには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

例:

BEGIN
    DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE;
END;
/

これにより、現在のワークロード取得が取り消され、リフレッシュ可能クローンでリフレッシュが実行されます。

DBA_CAPTURE_REPLAY_STATUSビューを問い合せて、ワークロードの取消しステータスを確認できます。

詳細は、DBA_CAPTURE_REPLAY_STATUSビューを参照してください。

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

Autonomous Databaseインスタンスでのワークロード取得の終了

DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTUREを実行して、Autonomous Databaseインスタンスでワークロードの取得を完了します。

Autonomous Databaseインスタンスでワークロードの取得を終了する例:

BEGIN
    DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE;
END;
/

このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。このプロシージャを実行すると、ワークロード取得ファイルがzipファイルとしてオブジェクト・ストアにアップロードされます。

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

ワークロード取得イベント

情報イベントcom.oraclecloud.databaseservice.autonomous.database.informationをサブスクライブして、次のようなワークロード取得について通知を受けることができます。

  • FINISH_WORKLOAD_CAPTUREの完了。

  • オブジェクト・ストアの取得およびレポートにアクセスするためのPAR URLを含むcaptureDownloadURLフィールド。取得およびレポートは、PAR URLの生成日から7日間有効です。

詳細は、(オプション)キャプチャおよびリプレイの詳細を通知する情報イベントのサブスクライブを参照してください。

ワークロードの取得およびリプレイ・ビュー

DBA_CAPTURE_REPLAY_STATUSビューを問い合せて、完了したワークロード取得のステータスを確認できます。詳細は、DBA_CAPTURE_REPLAY_STATUSビューを参照してください。

ワークロードの取得およびリプレイに関する情報は、DBA_CAPTURE_REPLAY_HISTORYビューにあります。詳細は、DBA_CAPTURE_REPLAY_HISTORYビューを参照してください。

DBA_WORKLOAD_CAPTURESビューのID列、NAME列、START_TIME列およびEND_TIME列を問い合せて、ワークロード取得の詳細を取得できます。詳細は、DBA_WORKLOAD_CAPTURESを参照してください。

ワークロード・リプレイ用のリフレッシュ可能クローンの準備

ワークロード・リプレイ用にリフレッシュ可能クローンを準備するステップを示します。

ノート

このステップは、フル・クローンでワークロードをリプレイする場合には適用されません。

ワークロード取得をリプレイするためにリフレッシュ可能クローンを準備するには、2つのオプションがあります。DBMS_CLOUD_ADMIN.PREPARE_REPLAYを実行して、ワークロード・リプレイ用にリフレッシュ可能クローンを自動的に準備できます。このプロシージャは、リフレッシュ可能クローンを取得の開始時間にリフレッシュし、リフレッシュ可能クローンを切断します。また、ワークロード取得をリプレイするためにリフレッシュ可能クローンを手動で準備することもできます。

ワークロード・リプレイ用のリフレッシュ可能クローンの自動準備

ワークロード・リプレイ用にリフレッシュ可能クローンを自動的に準備する例:

BEGIN
 DBMS_CLOUD_ADMIN.PREPARE_REPLAY (
    capture_name    'test'
END;
/

このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

DBMS_CLOUD_ADMIN.PREPARE_REPLAYでは、次の処理が実行されます。

  • リフレッシュ可能クローンを取得開始タイムスタンプにリフレッシュします。

  • リフレッシュ可能クローンを切断します。

オプションで、この時点で取得をリプレイする前に、リフレッシュ可能クローンを変更できます。たとえば、パラメータ値を変更し、特定の機能をオン/オフにして、リプレイへの影響を確認します。

ワークロード・リプレイ用のリフレッシュ可能クローンの手動準備

DBMS_CLOUD_ADMIN.PREPARE_REPLAYを実行してリフレッシュ可能クローンを自動的に準備する場合、これらの手動リフレッシュ可能クローンのステップは必要ありません。

ワークロード・リプレイを手動で準備するには、次のステップを実行します。

  1. DBA_WORKLOAD_CAPTURESビューを問い合せて、取得開始タイムスタンプを検索します。詳細は、DBA_WORKLOAD_CAPTURESを参照してください。

  2. リフレッシュ可能クローンを取得開始タイムスタンプにリフレッシュします。詳細は、Autonomous Databaseでのリフレッシュ可能クローンのリフレッシュを参照してください。

  3. リフレッシュ可能クローンを手動で切断します。詳細は、ソース・データベースからのリフレッシュ可能クローンの切断を参照してください。

  4. オプションで、取得をリプレイする前に、リフレッシュ可能クローンを変更できます。たとえば、パラメータ値を変更し、特定の機能をオン/オフにして、リプレイへの影響を確認します。

Autonomous Databaseインスタンスでのワークロードのリプレイ

ワークロード取得の完了後、テスト・システムでリプレイできます。Oracleは、ワークロードの取得中に記録されたアクションを、本番システムの同じタイミング、同時実行性およびトランザクションの依存関係でリプレイします。

プロシージャDBMS_CLOUD_ADMIN.REPLAY_WORKLOADを実行して、データベースでワークロード・リプレイを開始します。DBMS_CLOUD_ADMIN.REPLAY_WORKLOADを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

取得されたワークロードは、リフレッシュ可能クローンまたはワークロードの取得元のAutonomous Databaseインスタンスのフル・クローンでリプレイできます。取得ターゲットおよびリプレイ・ターゲットは、一貫性のある論理状態である必要があります。

リフレッシュ可能クローンでのワークロードのリプレイ

次の例では、オブジェクト・ストレージから取得ファイルをダウンロードし、取得したワークロードをリプレイして、リプレイ・レポートをオブジェクト・ストレージにアップロードします。

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
      capture_name => 'CAP_TEST1');
END;
/

CAPTURE_NAMEパラメータは、ワークロード取得の名前を指定します。このパラメータは必須です。

フル・クローンでのワークロードのリプレイ

次の例では、オブジェクト・ストレージから取得ファイルをダウンロードし、取得したワークロードをクローンでリプレイし、リプレイ・レポートをオブジェクト・ストレージにアップロードします。

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
       capture_name                => 'CAP_TEST1',        
       capture_source_tenancy_ocid => 'OCID1.TENANCY.REGION1..ID1',         
       capture_source_db_name      => 'ADWFINANCE');
END;
/
ノート

同じ取得名を持つ複数の取得がある場合、REPLAY_WORKLOADプロシージャは最新の取得を使用します。Oracleでは、リプレイする取得の混乱を防ぐために、各取得に一意の取得名を使用することをお薦めします。

CAPTURE_NAMEパラメータは、ワークロード取得の名前を指定します。このパラメータは必須です。

CAPTURE_SOURCE_TENANCY_OCIDパラメータは、ワークロード取得のソース・テナンシOCIDを指定します。フル・クローンでワークロード取得を実行する場合、このパラメータは必須です。

CAPTURE_SOURCE_DB_NAMEパラメータは、ワークロード取得のソース・データベース名を指定します。フル・クローンでワークロード取得を実行する場合、このパラメータは必須です。

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

ワークロード・リプレイ・イベント

情報イベントcom.oraclecloud.databaseservice.autonomous.database.informationをサブスクライブして、次のことを通知します

  • REPLAY_WORKLOADの開始および完了。

  • リプレイ・レポートをダウンロードするための「オブジェクト・ストア」リンク。このイベントは、replayDownloadURLフィールドのレポートにアクセスするためのPAR URLを提供します。レポートは、PAR URLが生成された日から7日間有効です。

詳細は「Autonomous Databaseの情報イベント」を参照してください。

ワークロードの取得およびリプレイ・ビュー

DBA_CAPTURE_REPLAY_STATUSビューを問い合せて、ワークロードのリプレイ・ステータスを確認できます。

詳細は、DBA_CAPTURE_REPLAY_STATUSビューを参照してください。

ワークロードの取得およびリプレイに関する情報は、DBA_CAPTURE_REPLAY_HISTORYビューにあります。詳細は、DBA_CAPTURE_REPLAY_HISTORYビューを参照してください。

Capture-Replayを使用した23aiリフレッシュ可能クローンの19cワークロードのテスト

Oracle Real Application Testingを使用して、Oracle Database 19c上のAutonomous Databaseからワークロードを取得し、Oracle Database 23ai上のリフレッシュ可能クローンでリプレイできます。

このキャプチャ・リプレイ・オプションは、Oracle Database 23aiにアップグレードする前に、Oracle Database 19cで実行されているワークロードをテストする場合に特に役立ちます。

異なるデータベース・バージョンでワークロードをリプレイするには、次のステップを実行します。

  1. (オプション)取得およびリプレイの詳細を通知する情報イベントのサブスクライブ

  2. Oracle Database 19cを使用して、Autonomous Databaseでワークロードを取得します。詳細は、Autonomous Databaseインスタンスでのワークロードの取得を参照してください。

  3. DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTUREを実行して、Oracle Database 19c sourceAutonomousデータベース・インスタンスでワークロードの取得を完了します。

  4. ターゲットのOracle Database 23aiリフレッシュ可能クローンを準備します。詳細は、ワークロード・リプレイ用のリフレッシュ可能クローンの準備を参照してください。

  5. ワークロードの取得を完了し、Oracle Database 23aiターゲットのリフレッシュ可能クローンを準備したら、ターゲットでワークロードをリプレイします。詳細は、Autonomous Databaseインスタンスでのワークロードのリプレイを参照してください。

非AutonomousとAutonomous Databases間の取得- リプレイ・ワークロード

Autonomous Database以外のインスタンスからAutonomous Databaseに取得およびリプレイできます。

これにより、オンプレミス・データベースまたは他のクラウド・サービス・データベースとAutonomous Databaseインスタンス間のワークロードを比較できます。

トピック

負荷の取得

データベース・リプレイを使用するための最初のステップは、本番ワークロードの取得です。

本番システムでワークロードの取得を開始すると、Oracle Databaseに送信される外部クライアントからのすべてのリクエストが追跡され、取得ファイルと呼ばれるバイナリ・ファイルに格納されます。

ワークロード取得では、取得ファイルを含む2つのサブディレクトリcapおよびcapfilesが作成されます。

取得ファイルには、トランザクションの詳細、バインド値、SQLテキストなど、クライアント・リクエストに関するすべての関連情報が表示されます。

これらの取得ファイルは、プラットフォームには依存せず、別のシステムに転送できます。

オンプレミス・データベースでワークロードを取得するには、ワークロードの取得を参照してください。

Autonomous Databaseインスタンスでのワークロードのリプレイ

ワークロード取得の完了後、テスト・システムでリプレイできます。Oracleは、本番システムと同じタイミング、同時実行性およびトランザクション依存関係を使用して、ワークロードの取得中に記録されたアクションをテスト・システムにリプレイします。

DBMS_CLOUD_ADMIN.REPLAY_WORKLOADを実行して、データベースでワークロード・リプレイを開始します。REPLAY_WORKLOADを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

オンプレミス・データベースから取得されたワークロードをAutonomous Databaseインスタンスでリプレイする例:

BEGIN 
   DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
      location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
      credential_name => 'CRED_TEST',   
      synchronization => TRUE,
      process_capture => TRUE);    
END;
/

これにより、location_uriパラメータで指定されたオブジェクト・ストレージの場所に含まれる取得ファイルがダウンロードされ、取得ファイルからワークロード取得がリプレイされます。リプレイによって、リプレイおよび自動ワークロード・リポジトリ・レポートが生成され、location_uriパラメータで指定されたオブジェクト・ストレージの場所にアップロードされます。

この例では、namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。

オブジェクト・ストレージへのファイルのアップロードの詳細は、Oracle Cloud Infrastructure Object Storeバケットへのファイルのアップロードを参照してください。

オブジェクト・ストレージの詳細は、Oracle Cloud Infrastructure Object Storageへの移動とバケットの作成を参照してください。

credential_nameパラメータは、オブジェクト・ストレージ・バケットにアクセスするための資格証明を指定します。指定する資格証明には、オブジェクト・ストレージ・バケットに書き込むための書込み権限が必要です。リプレイ・レポートをバケットにアップロードするには、書込み権限が必要です。

credential_name値を指定しない場合、DEFAULT_CREDENTIALが使用されます。

リソース・プリンシパル資格証明を有効にした場合、Oracle Cloud Infrastructureオブジェクト・ストアにアクセスするための資格証明を作成する必要はありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。

synchronizationパラメータは、ワークロードのリプレイ時に使用される同期方法を指定します。TRUE値は、同期がSCNベースであることを示します。

process_captureは、process_capture値を指定する必要があるかどうかを指定します。TRUE値は、リプレイにprocess_captureが含まれていることを示します。

ノート

取得およびリプレイ・データベースの論理状態は、取得時間の開始時に維持する必要があります。

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

ワークロード・リプレイ・イベント

情報イベントcom.oraclecloud.databaseservice.autonomous.database.informationをサブスクライブして、WorkloadReplayBeginイベントおよびWorkloadReplayEndイベントについて通知を受けることができます。これらのイベントは、次の情報を提供します。

  • REPLAY_WORKLOADの開始および完了。

  • オブジェクト・ストアのレポートにアクセスするためのPAR URLを含むreplayDownloadURLフィールド。PAR URLは生成日から7日間有効です。

詳細は「Autonomous Databaseの情報イベント」を参照してください。

ワークロードの取得およびリプレイ・ビュー

DBA_CAPTURE_REPLAY_STATUSビューおよびDBA_CAPTURE_REPLAY_HISTORYビューを問い合せて、ワークロードのリプレイ・ステータスを確認できます。

詳細は、DBA_CAPTURE_REPLAY_STATUSビューおよびDBA_CAPTURE_REPLAY_HISTORYビューを参照してください。

今後のパッチに対するワークロードのテスト

ワークロードの自動リプレイ機能を使用すると、通常のパッチ・レベルの本番データベースからワークロードを自動的に取得し、初期パッチ・レベルのターゲット・リフレッシュ可能クローンでワークロードをリプレイできます。

この機能を使用すると、パッチが本番環境に到達する前に、本番環境にある既存のワークロードをパッチに対して実行して、今後のパッチをテストできます。

今後のパッチに対するワークロードのテストについて

ワークロード自動リプレイ機能を使用すると、取得リプレイのプロセスを自動化して、本番データベースで実行されるワークロードを取得し、次回のパッチがターゲットに適用された後にターゲット・リフレッシュ可能クローンでワークロードを自動的にリプレイできます。

Autonomous Databaseでは、「早期」パッチ・レベル・オプションを使用して、インスタンスをプロビジョニングしたり、リフレッシュ可能クローンを作成したりできます。「早期」パッチ・レベルで実行されているインスタンスでは、Autonomous Databaseは、パッチが本番データベース(「通常」パッチ・レベルでプロビジョニングされるデータベース)に適用される1週間前に、今後のメンテナンス・パッチを適用します。WORKLOAD_AUTO_REPLAY機能を使用すると、パッチが本番に移行する前に、今後のパッチがワークロードに対してテストされていることを確認できます。これにより、パッチが既知の問題を修正しているか、ワークロードに影響する問題を発生させていないことを確認できます。

取得およびリプレイに関する情報を検索するには、情報イベントをサブスクライブします。情報イベントは、ワークロードの取得および応答イベントの通知を提供し、取得ファイルおよびリプレイ・レポートをダウンロードできるPAR URLを含めます。詳細は、(オプション)キャプチャおよびリプレイの詳細を通知する情報イベントのサブスクライブを参照してください。

WORKLOAD_AUTO_REPLAYが有効な場合、ソース・データベースは指定した分数実行することでワークロードを取得します。デフォルトでは、ワークロードの取得は、WORKLOAD_AUTO_REPLAYを有効にすると開始されます(オプションで、パラメータを使用して取得の開始日時を設定できます)。次に、Autonomous Databaseはターゲット・データベースをチェックしてパッチ適用ステータスを確認します。今後の週次パッチの適用後、Autonomous Databaseはワークロードをターゲット・データベースにリプレイします。この取得リプレイ・サイクルは、Autonomous Databaseがソース・データベースのワークロードを取得し、今後のパッチの適用を待機し、リフレッシュ可能クローンでワークロードをリプレイして、毎週自動的に続行されます。

WORKLOAD_AUTO_REPLAYを有効化するには、次の点に注意してください。

  • ソース・データベースでは、標準パッチ・レベルを使用する必要があります。

  • ターゲット・データベースでは、早期パッチ・レベルを使用する必要があります。

  • ターゲット・データベースは、ソース・データベースのリフレッシュ可能なクローンである必要があり、WORKLOAD_AUTO_REPLAYを有効にする前に作成する必要があります。

  • ソース・データベースでは、複数のリフレッシュ可能クローンに対してWORKLOAD_AUTO_REPLAYを有効にできます(この機能は、同じソース・データベースから複数のリフレッシュ可能クローンを作成する場合でも、最大1つのリフレッシュ可能クローンに対して有効にできます)。

  • WORKLOAD_AUTO_REPLAYを有効にすると、取得リプレイ・サイクルは毎週続行されます。Autonomous Databaseは、ソース・データベースで取得を実行し、WORKLOAD_AUTO_REPLAYを無効にするまで、ターゲット・データベースでワークロードをリプレイします。

ワークロードの取得およびリプレイに関する情報は、DBA_CAPTURE_REPLAY_HISTORYビューにあります。詳細は、DBA_CAPTURE_REPLAY_HISTORYビューを参照してください。

Autonomous Databaseでは、データベースにパッチが自動的に適用されます。Oracleでは、これらのパッチが原因で、本番データベースにゼロ・リグレッションのサービス・レベル目標が提供されます。詳細は、ゼロ回帰サービス・レベル目標値を参照してください。

ワークロード自動リプレイの有効化

WORKLOAD_AUTO_REPLAY機能を使用すると、本番データベースからワークロードを実行し、1週間前にパッチ適用されたインスタンスで相違がないか監視できます。この機能を使用すると、パッチが本番環境に到達する前に、本番環境にある既存のワークロードをパッチに対して実行して、今後のパッチをテストできます。

WORKLOAD_AUTO_REPLAYを有効にするには:

  1. 本番データベースのリフレッシュ可能クローンを作成します。

    ターゲットのリフレッシュ可能クローンを作成する場合は、パッチ・レベルを「早期」に設定します。

    詳細は、パッチ・レベルの設定およびAutonomous Databaseインスタンスのリフレッシュ可能クローンの作成を参照してください。

  2. ソース・データベースでDBMS_CLOUD_ADMIN.ENABLE_FEATUREを実行します。

    たとえば:

    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'WORKLOAD_AUTO_REPLAY',
            params       => JSON_OBJECT(
                              'target_db_ocid' VALUE 'OCID1.autonomousdatabase.REGION..ID1',
                              'capture_duration' VALUE 120,
                              'capture_day' VALUE 'MONDAY',
                              'capture_time' VALUE '15:00'));
    END;
    /

    パラメータの場所は次のとおりです。

    • feature_name: 値WORKLOAD_AUTO_REPLAYは、ワークロードの自動リプレイ機能を有効にします。

    • params: 次の値のペアを持つJSONオブジェクトです。

      • target_db_ocid: string値を受け入れます。この値は、取得されたワークロードがリプレイされるターゲット・リフレッシュ可能クローン・データベースのOCIDを指定します。

        このパラメータは必須です。

      • capture_duration: number値を受け入れます。この値は、本番データベースでワークロードが取得される期間を分単位で指定します。値は1 ~ 720分の範囲内である必要があります。

        このパラメータは必須です。

      • capture_day: string値を受け入れます。この値は、本番データベースのワークロード取得を開始する曜日を指定します。

        このパラメータはオプション。

      • capture_time: HH24:MM形式の値を受け入れます。この値は、本番データベースのワークロード取得を開始する時刻を指定します。

        このパラメータはオプション。

      デフォルトでは、WORKLOAD_AUTO_REPLAYを有効にすると、ワークロードの取得が開始されます。オプションのcapture_dayおよびcapture_timeが指定されている場合、自動ワークロードの取得とリプレイは指定されたタイムスタンプで行われます。

      たとえば、capture_dayが月曜日で、capture_timeが15:00の場合、本番データベースの最初の取得は、次の月曜日の午後3時に開始されます。同じ曜日および時間は、後続の取得およびリプレイのスケジュールにも使用されます。

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

    ORA-20000: Invalid argument for target_db_ocidというエラー値は、指定したOCIDがリフレッシュ可能クローンではないことを示している可能性があります。この場合、リフレッシュ可能クローンの値を含むOCIDを指定する必要があります。

  3. DBA_CAPTURE_REPLAY_STATUSビューを問い合せて、ワークロードのリプレイ・ステータスを確認します。

この例では、ソースAutonomous Databaseおよび指定したターゲット・リフレッシュ可能クローン・データベースでWORKLOAD_AUTO_REPLAYを有効にします。WORKLOAD_AUTO_REPLAYを有効にすると、毎週、Autonomous Databaseはソース・データベースで取得を実行し、WORKLOAD_AUTO_REPLAYを無効にするまでターゲット・データベースでワークロードをリプレイします。

取得およびリプレイに関する情報を検索するには、情報イベントをサブスクライブします。情報イベントは、ワークロードの取得および応答イベントの通知を提供し、取得ファイルおよびリプレイ・レポートをダウンロードできるPAR URLを含めます。詳細は、(オプション)キャプチャおよびリプレイの詳細を通知する情報イベントのサブスクライブを参照してください。

ワークロードの取得およびリプレイに関する情報は、DBA_CAPTURE_REPLAY_HISTORYビューにあります。詳細は、DBA_CAPTURE_REPLAY_HISTORYビューを参照してください。

ワークロードの自動リプレイの無効化

DBMS_CLOUD_ADMIN.DISABLE_FEATUREを実行して、WORKLOAD_AUTO_REPLAYを無効にします。

DBMS_CLOUD_ADMIN.DISABLE_FEATUREを実行して、ワークロードの自動リプレイを無効にします。たとえば:

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

DBMS_CLOUD_ADMIN.DISABLE_FEATUREを実行するには、ADMINとしてログインするか、DBMS_CLOUD_ADMIN権限を持っている必要があります。

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