oracle怎样恢复最后一次commit的数据? 情况是这样的,我在PL/SQL里用的update 语句,更新一个字段的数据,没有加条件,执行完后按F10提交了,结果已经写入数据库,后来发现更新错了,现在想改回为update以前的,相当于rollback,不知有没有办法做到?有知道的帮忙解决下,谢谢了. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 10g 以上的可以使用flashback对表进行闪回如果不是10g的话,只能用不完全恢复了。 flashback,支持使用这个来恢复,但限制要10g以上 人家是update, 9i是可以闪回去的,只不过看你是什么时候发生的这事儿了.如果flashback已经闪不到了,那么就logmnr吧. 确实,9i也支持 update的闪回 能再教下flashback怎么用吗?我是这样用的:flashback table 表名 to timestampto_timestamp('2009-07-23 13:58:00', 'YYYY-MM-DD HH24:MI:SS');提示因为未启用行移动功能,不能闪回表.用的是10G数据库. 大家都说用闪回,那我就来个别的。不怕麻烦就用时间函数试试select * from tab_name as of timestamp to_timestamp('20090724120000','yyyymmddHH24miss')这个可以查询出tab_name这个表在2009-07-24 12点之前的数据。 9i只是支持闪回查询,也就是说可以看到最后一次commit之前的数据(但要保证undo表空间中的数据没有被覆盖)。10G是支持闪回的,也是靠UNDO中的数据支撑的。在10G中,做闪回之前,要开启表的移动功能:alter table enable row movement; 9I是用了UNDO,10G开始用一个闪回的文件区,大小可以设置 对于flashback,9i和10g都是用的undo中的数据。但对于flashback database,在10g中才用到闪回区(flashback_area)中的闪回文件。在默认情况下,闪回区中保存的是:归档日志文件,如果开启了数据库的闪回功能,则还会将数据库的闪回日志文件保存在这个目录中,当然,在闪回区中,还可以保存数据文件,控制文件,日志文件,rman的相关文件。闪回区本身与flashback table功能无关。flashback table用到的是Undo表空间中的数据(9i,10g) 为什么不用RMAN???RMAN我记得可以rollback到任何一个时间点, 只要你记得commit的时间(越准确越好), 就搞定. oracle联合查询后的排序问题 EXP-00008: 遇到 ORACLE 错误 1455 number科学计数怎能么查询 Oracle 9i 数据恢复 linux pro*c取汉字问题 横刀立马:谁能挑战高效分页存储过程(MS-SQL)?500元悬赏!!! 回滚段文件丢失,重建失败,该如何? 如何用数据库实现a地点到b地点的公交线路呢(类似于chinaquest的系统)给高分! 初学者之SQLplus为何不能连接? 保留数据库中7天的数据的存储过程 Oracle 过滤法定假期 SQL无效数字错?
10g 以上的可以使用flashback对表进行闪回如果不是10g的话,只能用不完全恢复了。
确实,9i也支持 update的闪回
我是这样用的:
flashback table 表名 to timestamp
to_timestamp('2009-07-23 13:58:00', 'YYYY-MM-DD HH24:MI:SS');
提示因为未启用行移动功能,不能闪回表.
用的是10G数据库.
不怕麻烦就用时间函数试试select * from tab_name as of timestamp to_timestamp('20090724120000','yyyymmddHH24miss')这个可以查询出tab_name这个表在2009-07-24 12点之前的数据。
对于flashback,9i和10g都是用的undo中的数据。
但对于flashback database,在10g中才用到闪回区(flashback_area)中的闪回文件。
在默认情况下,闪回区中保存的是:归档日志文件,如果开启了数据库的闪回功能,则还会将数据库的闪回日志文件保存在这个目录中,
当然,在闪回区中,还可以保存数据文件,控制文件,日志文件,rman的相关文件。闪回区本身与flashback table功能无关。
flashback table用到的是Undo表空间中的数据(9i,10g)
只要你记得commit的时间(越准确越好), 就搞定.