「フラッシュバック時間移動」による表変更の追跡
「フラッシュバック時間移動」を使用して、データベース・オブジェクトの過去の状態を表示したり、point-in-timeメディア・リカバリを使用せずにデータベース・オブジェクトを前の状態に戻します。
- フラッシュバック時間移動について
フラッシュバック時間移動を使用すると、存続期間にわたって表へのトランザクション変更を追跡および格納できます。 フラッシュバック・タイム・トラベルは、レコード・ステージ・ポリシーと監査レポートのコンプライアンスに役立ちます。 「フラッシュバック時間移動」は、デジタル・シュレッディングの強制、履歴データへのアクセス、選択的なデータ・リカバリなどの様々なシナリオでも使用できます。 - 表のフラッシュバック時間移動の有効化
Autonomous Databaseの表に対して「フラッシュバック時間移動」を有効にするステップについて説明します。 - 表のフラッシュバック時間移動の無効化
Autonomous Databaseの表に対して「フラッシュバック時間移動」を無効にする手順について説明します。 - フラッシュバック時間移動の保持時間の変更
Autonomous Databaseの「フラッシュバック時間移動」の保存時間を変更する手順について説明します。 - フラッシュバック時間移動の履歴データのパージ
Autonomous Databaseの「フラッシュバック時間移動」の履歴データをパージする手順について説明します。 - フラッシュバック時間移動情報の表示
Autonomous Databaseの「フラッシュバック時間移動」ファイルに関する情報を表示するためのデータ・ディクショナリ・ビューについて説明します。 - フラッシュバック時間移動に関するノート
Autonomous Databaseで「フラッシュバック時間移動」を使用するためのノートおよび制限を示します。
親トピック: 高可用性
「フラッシュバック時間移動」について
フラッシュバック時間移動を使用すると、存続期間にわたって表へのトランザクション変更を追跡および格納できます。 フラッシュバック・タイム・トラベルは、レコード・ステージ・ポリシーと監査レポートのコンプライアンスに役立ちます。 「フラッシュバック時間移動」は、デジタル・シュレッディングの強制、履歴データへのアクセス、選択的なデータ・リカバリなどの様々なシナリオでも使用できます。
「フラッシュバック時間移動」は、以前の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でのユーザーのロールおよび権限の管理」を参照してください。
「フラッシュバック時間移動」は、既存の表または作成する新しい表に対して有効にできます。
表に対して「フラッシュバック時間移動」を有効にした後、「フラッシュバック時間移動」を無効にできます。 詳細については、「表のフラッシュバック時間移動の無効化」を参照してください。
表の「フラッシュバック時間移動」の無効化
Autonomous Databaseの表に対して「フラッシュバック時間移動」を無効にする手順について説明します。
表に対して「フラッシュバック時間移動」を有効にした後は、ADMIN
ユーザーとして、またはFLASHBACK ARCHIVE
オブジェクト権限を持っている場合に、その表を無効にできます。
employee
表の「フラッシュバック時間移動」を無効にするには:ALTER TABLE employee NO FLASHBACK ARCHIVE;
「フラッシュバック時間移動」の保持時間の変更
Autonomous Databaseの「フラッシュバック時間移動」の保存時間を変更する手順について説明します。
ADMIN
ユーザーとしてログインしている場合、またはDBMS_CLOUD_ADMIN
に対するEXECUTE
権限がある場合は、「フラッシュバック時間移動」の保持時間を変更できます。
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;
/
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文はサポートされません。 -
「フラッシュバック時間移動」に対して有効になっている表に対する制約(外部キー制約を含む)の追加または有効化は、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