Oracle如何管理重做日志?

时间:2009-11-30 16:06:48

标签: oracle redo-logs

任何机构都可以给我一个关于重做日志的想法吗?最值得赞赏的是一个例子。

3 个答案:

答案 0 :(得分:3)

当Oracle更改数据文件中的数据时,它会将信息写入重做日志。如果数据库发生故障,您可以使用此信息将数据库恢复到数据库故障之前的状态。

在灾难恢复方案中,您可以还原上次完整数据库备份,然后应用自上次备份以来所执行的重做日志以恢复数据库。如果没有这些重做日志,您只能恢复到上一次完整备份,此后所做的更改将会丢失。

在Oracle中,您还可以在“无归档日志模式”下运行,这基本上意味着“重做日志可以在不保存的情况下被覆盖”。这通常仅适用于您不关心自上次备份以来丢失数据的开发数据库。您通常不会在生产环境中以此模式运行,因为它可能是灾难性的。

以下是包含更多信息的参考链接,以及如何查找生成的重做量的示例。

http://www.adp-gmbh.ch/ora/concepts/redo_log.html

答案 1 :(得分:3)

答案 2 :(得分:0)

扩展@ dcp的答案:从技术上讲,@ dcp指的是归档重做日志。这些是可选的,并且如上所述,仅在以archivelog模式运行数据库时生成。每个Oracle数据库至少有两个必需的在线重做日志文件。这些跟踪数据库的所有更改。如果数据库意外崩溃,它们对于恢复至关重要,而归档日志则不然。在系统崩溃的情况下,Oracle使用联机重做日志文件透明地将数据库恢复到最近提交的状态。在从备份恢复期间使用存档日志 - 恢复备份,然后将存档日志应用于备份,以使数据库恢复到当前状态或某个先前时间点。

在线日志以循环方式写入 - 当一个填充下一个是“swtiched”到。如果设置了存档日志模式,则会将这些较旧的日志写入存档日志目标。如果没有,一旦他们跟踪的更改被写入数据文件,它们将根据需要被覆盖。

在Oracle网站上进行备份和恢复的{p> This overview非常适合让人们了解整个事情是如何组合在一起的。