发布网友 发布时间:2022-04-21 20:49
共12个回答
热心网友 时间:2022-04-11 18:32
用闪回和归档日志可以恢复。
闪回和归档日志就是对数据库进行的备份处理,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 al;
SQL>select * from table1 as of scn xxxx;
SQL>select * from table1 as of timestamp '2009-02-08 14:12:23'
热心网友 时间:2022-04-11 19:50
分析问题:如果没有再操作表是可以的。就是上一次操作是清空了数据,那就是可以恢复的
解决方法:
具体操作如下:
alter table TRUNCATE TABLE enable row movement
--truncate 闪回
flashback table TRUNCATE TABLE to timestamp to_timestamp('2010-05-13 17:00:00','yyyy-mm-dd hh24:mi:ss')
--drop 闪回
flashback table TRUNCATE TABLE to before drop
热心网友 时间:2022-04-11 21:25
不能直接恢复。
但是如果你曾经对数据库做过备份,可以用备份改名恢复后,导出对应表中的记录。
如果没有,那就没有办法了。
所以,备份是非常重要的,一定要选择合理的时间间隔,设置一个完整备份任务。
热心网友 时间:2022-04-11 23:16
如果没有再操作表是可以的。
alter table 你删除的表 enable row movement
--truncate 闪回
flashback table 你删除的表 to timestamp to_timestamp('2011-09-27 15:00:05','yyyy-mm-dd hh24:mi:ss')
--drop 闪回
flashback table 你删除的表 to before drop
用回滚???
我还真没遇到过。。。
热心网友 时间:2022-04-12 01:24
基本不可以了,TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。
使用TRUNCATE TABLE 删除的数据不记录日志
热心网友 时间:2022-04-12 03:49
能不能恢复,主要是看你有没有做备份。
如果你在TRUNCATE TABLE前做了备份,就可以使用这个备份进行恢复。
如果没有做的话,那就恢复不了了。
热心网友 时间:2022-04-12 06:30
这个可以恢复,前几天我们还给一个客户处理过十几G的库被truncate 掉大部分表的case
网页链接
热心网友 时间:2022-04-12 09:28
不可以 你都把表清空了 ,出去你之前做了数据库备份
热心网友 时间:2022-04-12 12:43
楼上是ORACLE吧,MSSQL如果用truncate table,基本是无解了。因为不记录日志。所以删表之前还是要做好备份。
热心网友 时间:2022-04-12 16:14
估计没戏,都截断日志了。
热心网友 时间:2022-04-12 20:02
被TRUNCATE是无法恢复的
热心网友 时间:2022-04-13 00:07
没日记或备份的情况下好像不可以