欢迎来到天天文库
浏览记录
ID:40569224
大小:19.82 KB
页数:4页
时间:2019-08-04
《oracle闪回介绍》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、flashback(闪回)是Oracle10g里新加入的一个非常有用的一个feature。通过flashback的功能,我们可以避开传统的recover的方式去恢复一些我们进行的误操作。不过相当recovery来说。这两个还是有差别的。1.recovery的恢复是基于数据文件的,先要restore备份好的数据文件,flashback是基于flashbacklog文件的,所以基点不一样,recovery是基于备份的时间上的,可以恢复到备份至完整归档的任何一个时刻,而flashback是基于flashbacklog的,而
2、log的存储时效是受限于db_flashback_retention_target这个参数的(以分钟为单位,默认1440分钟,即24小时)。2.recovery的恢复是应用redo记录的,所以会对期间我们不关心的数据也进行修补,而flashback可以只针对我们关心的数据进行修补。3.recovery的恢复可以恢复数据文件物理损坏或者日志物理损坏,而flashback是基于flashbacklog的,只能处理由于用户的错误的逻辑操作,比如删除了表,删除了用户等。由此可见,其实flashback和recovery的恢复
3、还是有不少本质的差别的,因此我们要针对着相应的情况来进行相应的选择。flashback具体来说有4种常用的操作,这几种操作虽然都冠以flashback,但是还是有着一些较大的差别,1、flashbackdatabase(闪回数据库)对应flashbackdatabase来说,一般用来处理误删除了user或者一些错误的数据操作。要使用flashdatabase的特性。我们一定要启动flashback功能,SQL>alterdatabaseflashbackon;如果要关闭使用alterdatabaseflashback
4、off;同时要配置和检查参数db_flashback_retention_target,这个是控制flashbacklog的保留时间的参数,默认是1440分钟,即24小时。我们也只能恢复到这个时间之内。使用如下SQL>shutdownimmediate;SQL>startupopenexclusive;SQL>flashbackdatabasetotimestampto_date(’2009-05-1300:35:50′,‘yyyy-mm-ddhh24:mi:ss’);或者基于scn号SQL>flashbackdat
5、abasetoscn5342420;先用readonly模式打开数据库,确定恢复的正确性,如果不对,调整时间或者scn,直到确认数据恢复正确。以resetlogs的方式打开数据库,由于flashbacklog和redolog是分开的,所以即使resetlogs,闪回区的内容依然存在,我们一样能够能够闪回到以resetlog打开数据库点之钱的那个状态上,只有当flashback的开关关掉以后,闪回区的内容将自动删除。2.flashbackdrop(闪回删除)用来恢复被误drop掉的表的恢复,这里有一个我以前错误理解的一
6、个地方,其实这里的flashdrop已经脱离了flashbacklog,在10g的版本里,Oracle在表删除以后,并没有真的把这个表删除,而是对删除表做了重命名,并且用recyclebin来对其进行管理,我们可以通过user_recyclebin和dba_recyclebin来进行查询.SQL>select*fromuser_recyclebin或者是select*fromdba_recyclebin;通过flashbacktabletesttabletobeforedrop.有时可能一个表被反复的建立和drop,
7、这样在recycle一个origianlname的有多个记录相对,默认将是恢复最后一个,如果要指定恢复一个可以用他们的可以通过指定name的方式3.flashbacktable(闪回表)有时,不小心,对表进行了错误的update,那么我们就可以通过这个feature来进行恢复,比如,我们update…set…where..或者delete了表里不应该的数据,我们可以使用flashbacktabletesttabletotimestampto_date((’2009-05-1300:35:50′,‘yyyy-mm-dd
8、hh24:mi:ss’)),这里要注意和前两个不同的,这里是利用undo表做恢复的基准,所以有关undo的参数undo_management和undo_retention对这个有影响。具体可以看看这两个参数的说明文档。注,flashbacktable是只能处理DML操作过后的语句的恢复,如果在期间有DDL语句操作到这个表上,做flashback
此文档下载收益归作者所有