数据库的回滚机制求解

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

如何能将一个已提交的事务进行回滚,比如我更新了A表(已COMMIT),现在由于业务等操作问题,需要回滚,该如何处理?假设之前更新表比较多,业务比较复杂,不想采用反向UPDATE进行数据还原,希望通过数据库事务进行自动还原!谢谢大家
...全文
310 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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,刚才查了一些资料,有一点点理解,建议你自己查查看,很不错的知识点
u010412956 2013-06-18
  • 打赏
  • 举报
回复
正如楼上所说,oracle有闪回 机制
白脑哥 2013-06-18
  • 打赏
  • 举报
回复
已经提交的的事物,默认在15分钟之内就可以闪回

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧