【问题标题】:Can I undo a rollback in sqlplus?我可以撤消 sqlplus 中的回滚吗?
【发布时间】:2023-03-14 19:51:01
【问题描述】:

我不知何故认为回滚意味着撤消上一个操作。这就是我所做的:

SQL> update owns
  2  set DRIVER_ID=99999999
  3  ^[[A^Z;

4 rows updated.

SQL> select * from owns;

DRIVER_ID            LICENSE
-------------------- ----------
99999999             ABC222
99999999             MSA369
99999999             MZZ2828
99999999             ZGA123

SQL> rollback
  2  ;

Rollback complete.

SQL> select * from owns;

no rows selected

一切都一去不复返了吗?我的所有数据也一样?感谢您的任何建议和帮助

【问题讨论】:

    标签: sql oracle sqlplus rollback


    【解决方案1】:

    您展示的内容并不完整...在此之前UPDATE 您一定已经完成了类似INSERT 之类的其他操作...

    如果这是您所要求的,则回滚不会回滚...您将“撤消”的唯一方法是重新执行在回滚之前的最后一次提交和回滚之间执行的所有语句(在相同的顺序!)...

    如果您的 Oracle 数据库有一个活动的闪回区域,则存在另一个选项 - 然后您可以将整个数据库“倒回”到您发出回滚之前的时间点...

    【讨论】:

    • 是的,在更新之前我做了很多插入等操作。我手动完成了所有操作。嗯,看来我今天吸取了教训。是的,我从来没有运行过 commit 。我下次一定会的。非常感谢Yahia!
    • Refer : stackoverflow.com/questions/15298516/… --> 闪回特定表中的数据
    猜你喜欢
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 2018-08-12
    • 1970-01-01
    相关资源
    最近更新 更多