我对数据库进行了一些更改,导致我的页面崩溃。我想撤消这些变化。但回滚只能在最后一次提交时工作,我需要回滚大约6次提交或说,到当天开始时我没有手动定义任何保存点。
我该怎么做?
答案 0 :(得分:3)
"我需要回滚大约6个提交或说,到当天开始,我没有手动定义任何保存点。"
你不能这样做。发出COMMIT会完成事务并使结果对其他会话可见。这意味着其他用户将根据您提交的更改开展活动。允许您在该点之后回滚这些更改会将可怕的损坏注入数据库。
发布SAVEPOINT并不会改变这种情况,因为保存点只是将单个事务分解为多个可逆块的一种方式。但是一旦提交发生,就会擦除保存点。
您唯一的选择是使用闪回技术。如果您的DBA已为数据库配置了足够的存储空间,您应该能够将数据库的状态恢复到特定的时间点。然后,您可以决定如何继续;你可以选择做什么取决于你想要扭转的变化的性质。无论如何,find out more。