機械翻訳について

「フラッシュバック時間移動」による表変更の追跡

「フラッシュバック時間移動」を使用して、データベース・オブジェクトの過去の状態を表示したり、point-in-timeメディア・リカバリを使用せずにデータベース・オブジェクトを前の状態に戻します。

「フラッシュバック時間移動」について

フラッシュバック時間移動を使用すると、存続期間にわたって表へのトランザクション変更を追跡および格納できます。 フラッシュバック・タイム・トラベルは、レコード・ステージ・ポリシーと監査レポートのコンプライアンスに役立ちます。 「フラッシュバック時間移動」は、デジタル・シュレッディングの強制、履歴データへのアクセス、選択的なデータ・リカバリなどの様々なシナリオでも使用できます。

「フラッシュバック時間移動」は、以前のOracle Databaseバージョンでフラッシュバック・データ・アーカイブと呼ばれていました。 「フラッシュバック時間移動」 APIおよびFLASHBACK ARCHIVE権限などの一部の「フラッシュバック時間移動」用語は、フラッシュバック・データ・アーカイブ・ネーミングを保持します。

Autonomous Databaseインスタンスには、「フラッシュバック時間移動」操作をサポートするflashback_archiveという名前のフラッシュバック・アーカイブが1つあります。 flashback_archiveのデフォルトの保存時間は60日です。 デフォルトの保存時間の変更の詳細は、「フラッシュバック時間移動の保持時間の変更」を参照してください。

次のような表に対して「フラッシュバック時間移動」を有効にする制限があります:

  • flashback_archiveに対するFLASHBACK ARCHIVEオブジェクト権限が必要です。 デフォルトでは、ADMINユーザーにはこの権限があります。
  • 表は、次のいずれにもできません:
    • ネストした表
    • 一時表
    • リモート表
    • 外部表
  • 表にLONG列を含めることはできません。
  • 表にネストした列を含めることはできません。

追加の「フラッシュバック時間移動」制限のリストは、「フラッシュバック時間移動に関するノート」を参照してください。

フラッシュバック・テクノロジの詳細は、「Oracle Flashbackテクノロジの使用」を参照してください。

表の「フラッシュバック時間移動」の有効化

Autonomous Databaseの表に対して「フラッシュバック時間移動」を有効にするステップについて説明します。

デフォルトでは、「フラッシュバック時間移動」は新規表および既存の表に対して無効になっています。

フラッシュバック時間移動を有効にするための前提条件は次のとおりです:
  • ADMINユーザーとしてログインするか、FLASHBACK ARCHIVEオブジェクト権限を持っている必要があります。

    ADMINユーザーまたはFLASHBACK ARCHIVE権限WITH GRANT OPTIONを持つユーザーは、FLASHBACK ARCHIVEオブジェクト権限を別のユーザーに付与できます。

    たとえば:

    GRANT FLASHBACK ARCHIVE ON FLASHBACK_ARCHIVE TO <username>
    GRANT FLASHBACK ARCHIVE ON FLASHBACK_ARCHIVE TO <username> WITH GRANT OPTION

    詳細については、「Autonomous Databaseでのユーザーのロールおよび権限の管理」を参照してください。

「フラッシュバック時間移動」は、既存の表または作成する新しい表に対して有効にできます。

  1. 表の作成時にフラッシュバック時間移動を有効にするには:
    CREATE TABLE employee (EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4)) FLASHBACK ARCHIVE;
  2. 既存の表に対してフラッシュバック時間移動を有効にするには:
    ALTER TABLE departments FLASHBACK ARCHIVE;

表に対して「フラッシュバック時間移動」を有効にした後、「フラッシュバック時間移動」を無効にできます。 詳細については、「表のフラッシュバック時間移動の無効化」を参照してください。

表の「フラッシュバック時間移動」の無効化

Autonomous Databaseの表に対して「フラッシュバック時間移動」を無効にする手順について説明します。

表に対して「フラッシュバック時間移動」を有効にした後は、ADMINユーザーとして、またはFLASHBACK ARCHIVEオブジェクト権限を持っている場合に、その表を無効にできます。

たとえば、employee表の「フラッシュバック時間移動」を無効にするには:
ALTER TABLE employee NO FLASHBACK ARCHIVE;

「フラッシュバック時間移動」の保持時間の変更

Autonomous Databaseの「フラッシュバック時間移動」の保存時間を変更する手順について説明します。

ADMINユーザーとしてログインしている場合、またはDBMS_CLOUD_ADMINに対するEXECUTE権限がある場合は、「フラッシュバック時間移動」の保持時間を変更できます。

たとえば、保存時間を365日に設定するには:
BEGIN
  DBMS_CLOUD_ADMIN.SET_FLASHBACK_ARCHIVE_RETENTION
   (retention_days => 365);
END;
/

このプロシージャの詳細は、「SET_FLASHBACK_ARCHIVE_RETENTIONプロシージャ」を参照してください。

「フラッシュバック時間移動」の履歴データのパージ

Autonomous Databaseの「フラッシュバック時間移動」の履歴データをパージする手順について説明します。

ADMINユーザーとしてログインしている場合、またはDBMS_CLOUD_ADMINに対するEXECUTE権限がある場合は、「フラッシュバック時間移動」の履歴データをパージできます。

たとえば、すべての「フラッシュバック時間移動」履歴データをパージするには:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'ALL');
END;
/
指定したタイムスタンプの前に履歴「フラッシュバック時間移動」データをパージする例:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'TIMESTAMP', before_timestamp => '12-JUL-2023 10:24:00');
END;
/
1日より古い「フラッシュバック時間移動」履歴データをパージする例:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'TIMESTAMP', before_timestamp => SYSTIMESTAMP - INTERVAL '1' DAY);
END;
/
指定されたscnの前に履歴「フラッシュバック時間移動」データをパージする例:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'SCN',before_scn=> '5928826');
END;
/

このプロシージャの詳細は、「PURGE_FLASHBACK_ARCHIVEプロシージャ」を参照してください。

「フラッシュバック時間移動」情報の表示

Autonomous Databaseの「フラッシュバック時間移動」ファイルに関する情報を表示するためのデータ・ディクショナリ・ビューについて説明します。

「フラッシュバック時間移動」ファイルに関する情報は、静的データ・ディクショナリ・ビューで表示できます。

表示 説明
*_FLASHBACK_ARCHIVE 「フラッシュバック時間移動」ファイルに関する情報を表示します。
*_FLASHBACK_ARCHIVE_TS 「フラッシュバック時間移動」ファイルの表領域を表示します。
*_FLASHBACK_ARCHIVE_TABLES 「フラッシュバック時間移動」が有効になっている表に関する情報を表示します。

「フラッシュバック時間移動」に関するノート

Autonomous Databaseで「フラッシュバック時間移動」を使用するためのノートと制限事項を示します。

次の「フラッシュバック時間移動」制限に注意してください:

  • LONGデータ型またはネストした表の列を持つ表では、「フラッシュバック時間移動」を有効にできません。

  • ネストした表、一時表、外部表、マテリアライズド・ビュー、拡張問合せ(AQ)表、ハイブリッド・パーティション表または非表オブジェクトに対して「フラッシュバック時間移動」を有効にすることはできません。

  • 「フラッシュバック時間移動」では、パーティションまたはサブ・パーティションの移動、分割、マージまたは結合、表の移動、LONG列のLOB列への変換を行うDDL文はサポートされません。

  • 「フラッシュバック時間移動」に対して有効になっている表に対する制約(外部キー制約を含む)の追加または有効化は、ORA-55610で失敗します。

    「フラッシュバック時間移動」に対して有効になっている表に対する制約(外部キー制約を含む)の削除または無効化がサポートされています。

  • 表で「フラッシュバック時間移動」を有効にした後、Oracleでは、最初に20秒以上待機してから表にデータを挿入し、表に対してフラッシュバック問合せを使用する前に最大5分待機することをお薦めします。
  • flashback_archiveという名前のAutonomous Databaseインスタンスごとに1つのフラッシュバック・データ・アーカイブがあり、追加のフラッシュバック・データ・アーカイブを作成することはできません。

  • フラッシュバック・データ・アーカイブflashback_archiveは、Autonomous Databaseインスタンス内で削除できません。

  • フラッシュバック・データ・アーカイブの表領域を作成、変更または削除することはできません。 したがって、次の文は実行できません:

    • ALTER FLASHBACK ARCHIVE flashback_archive ADD TABLESPACE;
    • ALTER FLASHBACK ARCHIVE flashback_archive MODIFY TABLESPACE;
    • ALTER FLASHBACK ARCHIVE flashback_archive REMOVE TABLESPACE;
  • 表で「フラッシュバック時間移動」を有効にしても、自動UNDO管理(AUM)が無効になっている場合、表を変更しようとするとエラーORA-55614が発生します。

  • 表で「フラッシュバック時間移動」を有効にするには、次の「フラッシュバック時間移動」予約語を列名として使用できません:
    • STARTSCN
    • ENDSCN
    • RID
    • XID
    • OP
    • OPERATION