①.事务回滚|回退:rollback,对于DML操作,只要数据不提交commit,
数据回滚到原始状态
②.截断表:truncate,数据无法回滚找回
③.删除表:drop,表都不存在
闪回:flashback
闪回表
案例:创建一个表,删除之后找回
创建一个表:
create table score( id number primary key, score number(4,1) not null );
删除表:
DROP TABLE SCORE;
查看表:
找回表:
查看回收站:
SELECT * FROM recyclebin;
找回表:
flashback TABLE score TO BEFORE DROP;
再次查看表:
清空回收站还能找回表?
案例2:
删除表后将回收站清空,再次闪回,查看是否闪回成功。
清空回收站:
再次进行闪回操作:
以上可以得出结论,删除表之后,再清空回收站,就无法将表闪回了。
彻底删除表(不经过回收站)
在删除表的时候可以将其彻底删除,回收站中不保留其信息。
案例:用彻底删除表的方式,验证能否将表闪回。
回收站信息为空。
可以看到,闪回失败。
闪回表之后重新命名新表
将闪回的表重新起名。
查看score表:
报错。
查看重命名后的表:
成功查到表。
闪回数据
不删除表,只改变表内容,也可以通过闪回技术对表数据进行闪回,利用的是时间戳,oracle可以返回到指定时间戳的数据状态。
演示:
对student表进行操作。
查看系统时间:
查看student表内容:
插入一条数据:
再次查看时间:
修改新插入的数据:
查看表内容:
接下来将查看某个时间点表数据:
闪回表数据:
1、启用表闪回首先要在表上支持行移动。
2、进行闪回操作,闪回到修改数据之前
闪回到添加数据之前:
总结
到此这篇关于oracle闪回技术(闪回表、闪回数据)的文章就介绍到这了,更多相关oracle闪回表、闪回数据内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!