Oracle は、特定の時刻にデータベース内の特定のテーブルからデータを復元します。

テスト中にデータを誤って削除した場合、またはデータを復元して SQL を繰り返しテストする必要がある場合は、Oracle のフラッシュバック機能を使用してデータベースを特定の時点に復元できます。

データを特定の時点まで復元する

-- 假设表名为 HOLIDAY

-- 开启行移动
ALTER TABLE HOLIDAY ENABLE ROW MOVEMENT;
-- 恢复数据到某一时刻
FLASHBACK TABLE HOLIDAY TO TIMESTAMP TO_TIMESTAMP('2024-01-15 08:00:00', 'yyyy-mm-dd hh24:mi:ss');
-- 关闭行移动
ALTER TABLE HOLIDAY DISABLE ROW MOVEMENT;
列の移動

行の移動が有効になっていない場合は、エラーが報告されますORA-08189: cannot flashback the table because row movement is not enabled

行の移動に関して、ChatGPT の答えは次のとおりです。

Oracleデータベースでは、行の移動(ROW MOVEMENT)を有効にすることは、表定義を変更するために使用されるオプションです。これにより、行の更新、削除、挿入などの特定の操作を表に対して実行できるようになり、同時に高度な可用性が維持されます。テーブル。行の移動を有効にすると、テーブルの行の物理的な格納場所の変更など、テーブル構造をより柔軟に変更できるようになります。

特定の時刻のデータをクエリする

-- 查询某一时刻的数据
SELECT * FROM HOLIDAY AS OF TIMESTAMP TO_TIMESTAMP('2024-01-15 08:00:00', 'yyyy-mm-dd hh24:mi:ss');

おすすめ

転載: blog.csdn.net/weixin_45883310/article/details/136097618