当前位置: 首页 > news >正文

达梦数据库 闪回查询

当用户操作不慎导致错误的删改数据时,非常希望有一种简单快捷的方式可以恢复数据。闪回技术,就是为了用户可以迅速处理这种数据逻辑损坏的情况而产生的。

闪回技术主要是通过回滚段存储的 UNDO 记录来完成历史记录的还原。如果提交了,还没有超过undo_retention的保留时长,可以通过闪回查询找回。闪回查询功能完全依赖于回滚段管理,对于 DROP 等误操作不能恢复。

设置ENABLE_FLASHBACK 为 1 后(ENABLE_FLASHBACK默认值为0),开启闪回功能。DM 会保留回滚段一段时间,回滚段保留的时间代表着可以闪回的时间长度。由UNDO_RETENTION 参数指定(UNDO_RETENTION 缺省值90秒,最大值1天)。(DM MPP、DMDSC 和 DMDPC 环境不支持闪回查询。)

闪回特性可应用在以下方面:

  1. 自我维护过程中的修复:当一些重要的记录被意外删除,用户可以向后移动到一个时间点,查看丢失的行并把它们重新插入现在的表内恢复;
  2. 用于分析数据变化:可以对同一张表的不同闪回时刻进行链接查询,以此查看变化的数据。

测试

1:开启闪回

 SP_SET_PARA_VALUE (1, ‘ENABLE_FLASHBACK’, 1);

2:查看当前回滚段记录保留时间,根据实际调整。默认就是90s

select para_name,para_value,default_value,para_type from v$dm_ini where para_name like '%UNDO_RETENTION%';

在这里插入图片描述

3:调整UNDO_RETENTION,20min

4:创建表:

create table "SYSDBA"."TABLE_1"
("COLUMN_1" CHAR(10)
);

5:插入数据----注意不要只插入一条数据,只插入一条数据。

  insert into TABLE_1 values('11');insert into TABLE_1 values('11');insert into TABLE_1 values('12');commit;select sysdate(); --2023-02-23 14:37:42

6:delete 表数据

delete from TABLE_1 where COLUMN_1='11';
commit;
select sysdate(); --2023-02-23 14:38:07

7:查询删除之前的数据

   select * from TABLE_1 when timestamp '2023-02-23 14:37:42';

在这里插入图片描述

http://www.lryc.cn/news/17729.html

相关文章:

  • java基础学习 day44(多态的优点和劣势)
  • Guna UI WinForms 2.0.4.4 Crack
  • 零售航母沃尔玛公布业绩:喜忧参半
  • Python学习笔记丨while、for、if循环结构基础知识与易错点
  • 【ROS学习笔记1】ROS快速体验输出Hello World
  • 复习git的使用
  • pip命令大全 含换源方法
  • 数据结构与算法之最短路路径与最短路径和动态规划
  • git 本地新建分支并进行合并
  • 2023年DAMA-CDGA/CDGP数据治理认证选择哪家机构好?
  • 浅析高速服务区交互一体机设备管理系统的建设与方向
  • 分布式面试题
  • Prophet 处理时间序列数据
  • 一文搞清楚LoRa网关,LoRa网关全知道
  • 医疗保健和智慧城市服务将引领5G物联网采用
  • promise静态方法及相关练习
  • 【Tips】通过背数据了解业务
  • 设备太分散?如何一站式管理边缘 OS、K8s 和应用?
  • CF1692D The Clock 题解
  • IDEA 30 个好用天花板技巧,敲代码直接接爽到飞。
  • 关于selenium的等待
  • 结构建模设计——Solidworks软件之装配体操作基本总结三(高级配合、机械配合、快捷菜单功能)
  • 【在 Colab 中使用 TensorBoard 绘图】
  • React循环DOM时为什么需要添加key
  • Elasticsearch架构篇 - terms aggregation
  • MySQL 的体系结构、引擎与索引
  • 数字IC设计需要学什么?
  • 五分钟搞懂POM设计模式
  • 面试 | 递归乘法【细节决定成败】
  • 【Linux】环境变量与进程优先级