【问题标题】:What happens to not commited transaction in oracle RMAN backuporacle RMAN 备份中未提交事务会发生什么
【发布时间】:2016-05-23 04:14:57
【问题描述】:

我已经编写了使用 RMAN 进行 oracle 备份和恢复的脚本。 注意我拿了备份数据库+存档日志

现在,我在 oracle 中做了一些 sql 语句,但没有提交事务,那么它可能在重做日志中的某个地方我不确定。

现在,在上述情况下,我使用了备份数据库 + 存档日志并进行了还原。

未提交的数据不存在。

我对这种情况感到困惑,这种情况是正确的还是丢失了我的数据或我错过了某个地方。

【问题讨论】:

    标签: oracle rman


    【解决方案1】:

    这很好。您的交易实际上正在重做。但是由于您没有提交它,因此恢复过程在重新应用它后将其回滚,因为它在重做流的末尾找不到提交语句。这是设计使然。相反会是一个问题,如果你已经提交了一个语句,无论服务器发生了什么(断电,崩溃)你应该能够在恢复服务器并应用所有重做/归档后看到它。

    这样做的原因是,一旦您提交,所有重新执行事务的工作都应该存储在磁盘上(重做日志文件)。还有其他类型的提交(例如,COMMIT WRITE NOWAIT)绕过了这种行为,应该避免。

    希望这会有所帮助。

    【讨论】:

    • 谢谢它真的很有帮助
    猜你喜欢
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 2010-12-05
    • 2020-12-08
    • 2012-07-29
    • 2020-02-12
    • 2016-03-13
    • 1970-01-01
    相关资源
    最近更新 更多