フラッシュバック・タイム・トラベルによる表の変更のトラッキング
フラッシュバック・タイム・トラベルを使用して、ポイントインタイム・メディア・リカバリを使用せずに、データベース・オブジェクトの過去の状態を表示するか、データベース・オブジェクトを前の状態に戻します。
- フラッシュバック・タイム・トラベルについて
フラッシュバック・タイム・トラベルを使用すると、その存続期間中、表に対するトランザクションによる変更を追跡および格納できます。フラッシュバック・タイム・トラベルは、レコード・ステージ・ポリシーと監査レポートのコンプライアンスに役立ちます。Flashback Time Travelは、デジタル・シュレッディングの実施、履歴データへのアクセス、選択的データ・リカバリなどの様々なシナリオでも使用できます。 - 表のフラッシュバック・タイム・トラベルの有効化
Autonomous Databaseで表に対してフラッシュバック・タイム・トラベルを有効にするステップについて説明します。 - 表のフラッシュバック・タイム・トラベルの無効化
Autonomous Databaseで表に対してフラッシュバック・タイム・トラベルを無効にするプロシージャについて説明します。 - Flashback Time Travelの保持時間の変更
Autonomous DatabaseでFlashback Time Travelの保持時間を変更する手順について説明します。 - Flashback Time Travelの履歴データのパージ
Autonomous DatabaseでFlashback Time Travelの履歴データをパージする手順について説明します。 - Flashback Time Travel情報の表示
Autonomous DatabaseのFlashback Time Travelファイルに関する情報を表示するためのデータ・ディクショナリ・ビューについて説明します。 - Flashback Time Travelのノート
Autonomous DatabaseでFlashback Time Travelを使用するためのノートおよび制限を提供します。
親トピック: 高可用性
Flashback Time Travelについて
フラッシュバック・タイム・トラベルを使用すると、その存続期間中、表に対するトランザクションによる変更を追跡および格納できます。フラッシュバック・タイム・トラベルは、レコード・ステージ・ポリシーと監査レポートのコンプライアンスに役立ちます。Flashback Time Travelは、デジタル・シュレッディングの実施、履歴データへのアクセス、選択的データ・リカバリなどの様々なシナリオでも使用できます。
フラッシュバック・タイム・トラベルは、以前のOracle Databaseバージョンではフラッシュバック・データ・アーカイブと呼ばれていました。Flashback Time Travel APIおよびFLASHBACK ARCHIVE
権限などの一部のFlashback Time Travel用語は、Flashback Data Archiveのネーミングを保持しています。
各Autonomous Databaseインスタンスには、Flashback Time Travel操作をサポートするflashback_archive
という名前のフラッシュバック・アーカイブが1つあります。flashback_archive
のデフォルトの保持時間は60日です。デフォルトの保持時間の変更の詳細は、フラッシュバック・時間移動の保持時間の変更を参照してください。
表のフラッシュバック・タイム・移動を有効にするには、次のような制限があります:
flashback_archive
に対するFLASHBACK ARCHIVE
オブジェクト権限が必要です。デフォルトでは、ADMIN
ユーザーにこの権限があります。- 表は次のいずれにもできません:
- ネストした表
- 一時表
- リモート表
- 外部表
- 表に
LONG
列を含めることはできません。 - 表にネストした列を含めることはできません。
フラッシュバック・タイム・トラベルに関するその他の制限事項のリストは、フラッシュ・タイム・トラベルに関するノートを参照してください。
フラッシュバック・テクノロジの詳細は、Oracle Flashback Technologyの使用を参照してください。
表のフラッシュバック・タイム・トラベルの有効化
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
詳細については、Manage User Roles and Privileges on Autonomous Databaseを参照してください。
既存の表または作成する新しい表に対してフラッシュバック・タイム・トラベルを有効にできます。
表に対してフラッシュバック・タイム・移動を有効にした後、フラッシュバック・タイム・移動を無効にできます。詳細は、表のフラッシュバック・タイム・トラベルの無効化を参照してください。
表のFlashback Time Travelの無効化
Autonomous Databaseで表に対してフラッシュバック・タイム・トラベルを無効にする手順について説明します。
表に対してフラッシュバック・タイム・移動を有効にした後、ADMIN
ユーザーとして、またはFLASHBACK ARCHIVE
オブジェクト権限を持っている場合は、これを無効にできます。
employee
表のフラッシュバック・タイム・移動を無効にするには:ALTER TABLE employee NO FLASHBACK ARCHIVE;
Flashback Time Travelの保持時間の変更
Autonomous DatabaseでFlashback Time Travelの保持時間を変更する手順について説明します。
ADMIN
ユーザーとしてログインしている場合、またはDBMS_CLOUD_ADMIN
に対するEXECUTE
権限がある場合は、フラッシュバック・タイム・トラベルの保持時間を変更できます。
BEGIN
DBMS_CLOUD_ADMIN.SET_FLASHBACK_ARCHIVE_RETENTION
(retention_days => 365);
END;
/
この手順の詳細は、SET_FLASHBACK_ARCHIVE_RETENTIONプロシージャを参照してください。
フラッシュバック・タイム・トラベルの履歴データのパージ
Autonomous DatabaseでFlashback Time Travelの履歴データをパージする手順について説明します。
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;
/
BEGIN
DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
(scope => 'TIMESTAMP', before_timestamp => SYSTIMESTAMP - INTERVAL '1' DAY);
END;
/
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文をサポートしていません。 -
Flashback Time Travelが有効になっている表に対する制約(外部キー制約を含む)の追加または有効化は、ORA-55610で失敗します。
フラッシュバック・タイム・トラベルが有効になっている表に対する制約(外部キー制約を含む)の削除または無効化はサポートされています。
- 表でフラッシュバック・タイム・トラベルを有効にした後、Oracleでは、最初に20秒以上待機してから表にデータを挿入し、表に対してフラッシュバック問合せを使用する前に最大5分間待機することをお薦めします。
-
flashback_archive
という名前のAutonomous Databaseインスタンスごとに1つのフラッシュバック・データ・アーカイブがあり、追加のフラッシュバック・データ・アーカイブを作成することはできません。 -
Autonomous Databaseインスタンス内のフラッシュバック・データ・アーカイブ
flashback_archive
は削除できません。 -
フラッシュバック・データ・アーカイブの表領域を作成、変更または削除することはできません。したがって、次の文は実行できません:
-
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