闪回和归档日志就是对数据库进行的备份处理,truncate table后只是对当前数据库的表 *** 作,而不影响闪回文件和归档日志,当然可以恢复。
不要说truncate table,数据库没了应该都可以恢复,
只要找到一个全库备份和之后的增量备份即可。
SQL>select current_scn from v$database//查看数据scn
SQL>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'
SQL>select sysdate from dual
SQL>select * from table1 as of scn xxxx
SQL>select * from table1 as of timestamp '2009-02-08 14:12:23'
oracle的闪回查询是基于UNDO space的,如果undo segment里的缓存被后面来的内容覆盖了(毕竟不能保存所有的,就像内存一样),那么也是无法闪回的。sql server没有专门的UNDO区域,就一个单读的日志文件,要快速回复误 *** 作,就要借助第三方解析日志的工具了,比如log explorer这样的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)