Oracle闪回机制
最近学习oracle的时候,无意中看到oracle的闪回技术flashback,原来oracle在delete数据或者drop的时候,不是直接删除,而是跟windows一样,先把数据放入到回收站中。
select * from user_recyclebin
可以查看user_recyclebin,可以看到最近删除的表格以及索引,如下:
下面我们用一个例子测试一下:删除表数据,然后测试数据是否可以被恢复。
select * from testemp1
初始数据如下:
现在我们删除一下deptno=10的数据,如下:
delete from TESTEMP1 where deptno=10
查看数据如下:
现在数据已经被删除了,我们利用oracle的闪回技术进行恢复,如下:
(1)开启行移动功能,否则报错,如下:
alter table TESTEMP1 enable row movement
(2)执行闪回操作,如下:
flashback table testemp1 to timestamp to_timestamp('2017/5/31 16:15:52','yyyy-mm-dd hh24:mi:ss');
(3)查看表数据,如下:
下面我们直接删除表格drop,如下:删除表格,测试表格是否可恢复。
drop table TESTEMP1
查看testemp1,报错如下:
(2)查看垃圾箱,如下:有一条drop记录。
select * from user_recyclebin order by droptime desc
(3)执行闪回,如下:被删除的表格又恢复了。
flashback table testemp1 to before drop
下面我们删除表的结构,删除一列sal,然后测试一下表结构以及数据能否被恢复? 如下:
查看回收站,发现没有任何记录,如下:
执行闪回sql报错,如下:
flashback table testemp1 to timestamp to_timestamp('2017-05-31 16:40:00','yyyy-mm-dd hh24:mi:ss');
总结:oracle的flashback功能,如果删除数据或者直接drop table是可以恢复数据的。如果删除表结构或者先执行删除数据后面又执行了删除表结构,使用flashback是无法恢复的。另外,使用 drop table 表名 purge 或 TRUNCATE TABLE 表名也无法恢复,因为这两个操作执行后,不会把数据放入到回收站中,而是直接删除。
Oracle闪回机制的更多相关文章
- ORACLE闪回机制分析与研究应用
1.查看数据库归档和闪回状态,及环境准备SQL> archive log list;SQL> select flashback_on from v$database;关闭数据库,启动归档和 ...
- Oracle多表更新及MERGE命令和闪回机制还原数据表
一.多表更新 比如线上有个系统由于某一个模块出现异常,导致系统整体的数据出现了错误,需要你手动改写数据库错误,Oracle update语句更新的值来自另一张表 update语法最基本的格式为 UPD ...
- Oracle闪回表
Oracle闪回技术 场景:测试环境数据库的表数据被误删除. 解决思路:使用闪回表技术 原理 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小 ...
- Oracle闪回恢复误删除的表、存储过程、包、函数...
在日常的数据库开发过程汇总难免会出现一些误删除的动作, 对于一些误删的操作我们可以通过oracle提供的闪回机制恢复误删数据, 从而避免出现较大的生产事故. 下面是本人平时工作中积累的一些常用的操作, ...
- Oracle 闪回 找回数据的实现方法
Oracle 闪回 找回数据的实现方法 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复.这篇文章主要介绍了Oracle 闪回 找回 ...
- Oracle闪回flashback
参考资料:Using Oracle Flashback Technology Oracle 11g的新特性闪回操作 闪回查询 闪回查询 闪回版本查询 闪回事务查询 闪回数据 闪回表 闪回删除 闪回数据 ...
- Oracle 闪回特性(FLASHBACK DATABASE)
--===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --======================= ...
- Oracle闪回操作
Oracle闪回操作 1. 记录当前时间或SCN 在数据库变动前记录时间或SCN SQL> select to_char(sysdate,'YYYY-MM-DD HH24:mi:ss') fr ...
- Oracle 闪回
Oracle 闪回特性(FLASHBACK DATABASE) 本文来源于:gerainly 的<Oracle 闪回特性(FLASHBACK DATABASE) > -========== ...
随机推荐
- dlut1188(wanghang的迷宫)
题目链接:传送门 题目大意:从起点到终点需要最少多少步(必须要关掉所有开关才能出去) 题目思路:用一个3维数组 dp[x][y][t]表示到达当前位置x,y,已经关掉了t个开关走的最少步数,然后就 ...
- Drupal 8 提供REST服务实例
drupal8 的核心模块已经支持REST服务. 这样的话使用drupal 对外提供web service 变的简单了. 测试一下d8 的webservice : extend 中的 依赖模块:全部启 ...
- Elasticsearch集群 管理
第7章 深入Elasticsearch集群 启动一个Elasticsearch节点时,该节点会开始寻找具有相同集群名字并且可见的主节点.如 果找到主节点,该节点加入一个已经组成了的集群:如果没有找到, ...
- LIMIT Query Optimization
LIMIT limitFrom , perPageNum LIMIT offset, size MySQL :: MySQL 8.0 Reference Manual :: 13.2.10 SELEC ...
- 为何不分类---失效的google image
w满屏的框架,甚至翻页了还是框架,起始user是想看下bootstrap在框架出来前是什么东西.
- DOM 综合练习(二)
// 需求一: 二级联动菜单 <html> <head> <style type="text/css"> select{ width:100px ...
- bzoj1101【POI007】Zap
1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1950 Solved: 735 [id=1101" ...
- 几分钟私人定制APP全攻略!!
上网百度了一下什么是自媒体,你会看到这种介绍:自媒体(外文名:We Media)又称"公民媒体"或"个人媒体",是指私人化.平民化.普泛化.自主化的传播者,以现 ...
- Spring Security教程 ---- 验证码功能的实现
有三中方法可以实现验证码的功能 第一种是自定义一个filter,放在SpringSecurity过滤器之前,在用户登录的时候会先经过这个filter,然后在这个filter中实现对验证码进行验证的功能 ...
- C#简单实现动态数据生成Word文档并保存
今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和位置相对固定不变,只是里面的内容从数据中读取. 我觉得类似这种的一般用第三方报表来做比较简便.但既然要求了Word,只好硬着头皮来 ...