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;
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');

相关推荐

  1. Oracle恢复数据库时刻数据

    2024-02-12 15:14:01       49 阅读
  2. 如何查看 MySQL 数据库指定具体大小

    2024-02-12 15:14:01       44 阅读
  3. oracle查询出几个字段值不唯一数据

    2024-02-12 15:14:01       28 阅读
  4. 工作随记:oracle重建1T数据

    2024-02-12 15:14:01       47 阅读
  5. Oracle用BETWEEN AND查数据可能会丢失条数

    2024-02-12 15:14:01       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-12 15:14:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-12 15:14:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-12 15:14:01       82 阅读
  4. Python语言-面向对象

    2024-02-12 15:14:01       91 阅读

热门阅读

  1. 这条路那么远

    2024-02-12 15:14:01       47 阅读
  2. python udp端口范围映射转发

    2024-02-12 15:14:01       55 阅读
  3. 课时21:内置变量_脚本相关

    2024-02-12 15:14:01       46 阅读
  4. SQl 注入 - 利用报错函数updatexml及extracevalue

    2024-02-12 15:14:01       56 阅读
  5. Jwt生成token以及解析token

    2024-02-12 15:14:01       48 阅读
  6. 多重背包问题 Ⅰ&Ⅱ &Ⅲ

    2024-02-12 15:14:01       52 阅读