数据库的回滚机制求解

kcajyc1314 2013-06-18 04:57:06
各位大虾,小弟目前碰到一个问题。

如何能将一个已提交的事务进行回滚,比如我更新了A表(已COMMIT),现在由于业务等操作问题,需要回滚,该如何处理?假设之前更新表比较多,业务比较复杂,不想采用反向UPDATE进行数据还原,希望通过数据库事务进行自动还原!谢谢大家
...全文
246 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sasacat 2013-06-24
如果多人同时操作数据库,闪回会不会把别人提交的也回滚? 我觉得还是反向写一些UPDATE保险点。
回复
lz可以在可以确定对数据库的操作没问题时可以建一个savepoint,当误操作的时候rollback就可以了.
回复
陈字文 2013-06-23
如果真的从业务上来讲的话,最好还是逆序根据你的日志表,反写你的信息. 当然,前提是 你的提交与回滚 都是需要被记录在案的.
回复
善若止水 2013-06-23
只能对未提交的事务进行回滚。对已经提交的事务只能用闪回的技术。
回复
hello_cyx 2013-06-22
闪回很好用 不过要慎用
回复
Rotel-刘志东 2013-06-22
提交的事物是无法回滚的。 可以尝试一下flashback机制。
回复
linwaterbin 2013-06-22
已提交的事务进行回滚? 提交了就无法回滚、这叫恢复 FLASHBACK TABLE test TO TIMESTAMP TIMESTAMP '2010-3-18 10:00:00'; 这要求TEST表事先有ENABLE ROW MOVEMENT. 或者把旧数据找出来然后手工写回去: SELECT * FROM test AS OF TIMESTAMP TIMESTAMP '2010-3-18 10:00:00';
回复
gaojiebao123 2013-06-22
闪回是为了避免误操作,尽量少用,尽量少误操作。
回复
sych888 2013-06-21
flashback.......
回复
wushangjimo 2013-06-21
之前没用过undo,刚才查了一些资料,有一点点理解,建议你自己查查看,很不错的知识点
回复
hh7yx 2013-06-18
正如楼上所说,oracle有闪回 机制
回复
白脑哥 2013-06-18
已经提交的的事物,默认在15分钟之内就可以闪回
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-06-18 04:57
社区公告
暂无公告