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

oracle闪回表

文章目录

    • 闪回表
      • 案例1:(未清理回收站时的闪回表--成功)
      • 案例2(清理回收站时的闪回表--失败)
      • 案例3:彻底删除表(不经过回收站--失败)
      • 案例4:闪回表之后重新命名新表
      • 总结
        • 1、删除关于表的所有数据(表数据,索引,主键等对象),闪回恢复的时候同时恢复。
        • 2、未清理回收的情况下,成功闪回表,清理回收站的情况下,闪回表失败
      • 3、闪回表的同时对原有的表进行重新命名后,所有的数据将恢复到新表中



闪回表利用的是回收站

①.事务回滚|回退:rollback,对于DML操作,只要数据不提交commit,数据回滚到原始状态

②.截断表:truncate,数据无法回滚找回

③.删除表:drop,表都不存在
闪回:flashback

闪回表

案例1:(未清理回收站时的闪回表–成功)

创建一个表,删除之后找回

CREATE TABLE employees (employee_id NUMBER PRIMARY KEY,first_name VARCHAR2(50),last_name VARCHAR2(50),salary NUMBER
);INSERT INTO employees VALUES (5, 'John', 'Doe', 5000);
INSERT INTO employees VALUES (6, 'Jane', 'Smith', 6000);
INSERT INTO employees VALUES (2, 'Jane', 'Smith', 6000);
commit;

删除表:

drop  table  employees 
commit;

查看表:

select  *  from employees 

在这里插入图片描述
查看回收站:

SELECT * FROM recyclebin;

在这里插入图片描述
回收站中drop删除的信息

闪回表:

flashback TABLE employees TO BEFORE DROP;

再次查看表:

select * from employees

在这里插入图片描述

案例2(清理回收站时的闪回表–失败)

未清理回收站的情况下可以正常闪回表,

···清理回收站是否可以闪回表?···

删除表后将回收站清空,再次闪回,查看是否闪回成功

1、drop table employees;删表
2、purge recyclebin;清理回收站
3、再次闪回表:

flashback TABLE employees TO BEFORE DROP;

在这里插入图片描述
当清理回收站的情况下,再次闪回表的时候,将无法成功闪回表。

案例3:彻底删除表(不经过回收站–失败)

在删除表的时候可以将其彻底删除,回收站中不保留其信息。
案例:用彻底删除表的方式,验证能否将表闪回。

彻底删除表:

drop table employees purge;
commit;

回收站查看:

SELECT * FROM recyclebin;

在这里插入图片描述
回收站未有任何信息。

闪回表:

flashback TABLE employees  TO BEFORE DROP

在这里插入图片描述

闪回表失败

案例4:闪回表之后重新命名新表

删除原有的表,闪回的时候对表进行重新命名,查询的时候只能查询到重新命名的表,原表将无法正常查看;

flashback TABLE employees  TO BEFORE DROP rename to employees_new ;

对闪回的表进行重新命名,

查询原表:查询失败

在这里插入图片描述

查询新表:查询成功

在这里插入图片描述
可见原表被恢复到了新表中

总结

drop table
1、删除关于表的所有数据(表数据,索引,主键等对象),闪回恢复的时候同时恢复。
2、未清理回收的情况下,成功闪回表,清理回收站的情况下,闪回表失败

3、闪回表的同时对原有的表进行重新命名后,所有的数据将恢复到新表中

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

相关文章:

  • 蓝桥与力扣刷题(283 移动零)
  • 每日学习30分轻松掌握CursorAI:Cursor AI自然语言编程入门
  • Ubuntu22.04 离线安装:gcc、make、dkms、build-essential
  • 【竞技宝】CS2:HLTV2024选手排名TOP4-NiKo
  • Kali系统(Debian 10.3) 遇到的问题
  • 【2025最新计算机毕业设计】基于SpringBoot+Vue奶茶点单系统(高质量源码,提供文档,免费部署到本地)
  • 洛谷 P1873 [COCI 2011/2012 #5] EKO / 砍树 c语言
  • 【神经网络中的激活函数如何选择?】
  • 服务器多节点 Grafana、Prometheus 和 Node-Exporter Docker版本部署指南
  • <C++学习>C++ Boost 算法集合操作教程
  • Jaeger UI使用、采集应用API排除特定路径
  • 设计一个利用事务特性可以阻塞线程的排他锁,并且通过注解和 AOP 来实现
  • 【2024年华为OD机试】 (A卷,100分)- 对称美学(Java JS PythonC/C++)
  • 【教程】数据可视化处理之2024年各省GDP排名预测!
  • Java 将RTF文档转换为Word、PDF、HTML、图片
  • 深度学习的原理和应用
  • CAPL语法基础
  • 安卓studio生成apk步骤
  • Azure主机windows2008就地升级十步
  • 解锁 C# 与 LiteDB 嵌入式 NoSQL 数据库
  • 7 分布式定时任务调度框架
  • 七星棋类游戏源码:两百玩法开源修复
  • 未来世界:科技引领的奇幻篇章
  • [python3]Uvicorn库
  • istio-proxy oom问题排查步骤
  • Flutter:使用FVM安装多个Flutter SDK 版本和使用教程
  • 关于物联网的基础知识(二)——物联网体系结构分层
  • [程序设计]—代理模式
  • 26、【OS】【Nuttx】用cmake构建工程
  • C#中序列化的选择:JSON、XML、二进制与Protobuf详解