首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我们需要备份Oracle存档日志以及数据文件

为什么我们需要备份Oracle存档日志以及数据文件
EN

Database Administration用户
提问于 2011-02-13 14:28:13
回答 2查看 23.8K关注 0票数 12

Oracle数据库备份和恢复基础10g第2版(10.2)说

归档的重做日志是成功恢复媒体的关键。定期支持他们。

但是,我想知道为什么归档日志的备份如此重要。是否可以只使用常规的RMAN完整和增量的数据文件备份来进行实时恢复?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2011-02-13 15:53:00

不,你仍然需要存档的重做日志。RMAN备份与冷备份不同;在还原它时,需要应用从启动备份到备份完成为止生成的所有重做,以便使SCN在所有数据文件和控制文件之间保持一致。

让我们考虑一下老式的热备份。在这种模式下,整个更改的数据库块被写入重做日志流,并在操作系统中复制文件。这会导致断块,即在备份读取期间,块发生了更改。因此,为了恢复数据库,我们还原DBFs,然后恢复过程将被归档的重做日志中的更改块覆盖到文件中的断裂块上,然后返回到一致的数据库。

在RMAN中,由于Oracle是通过SGA读取的,而不是像cp这样的Unix工具,所以可以消除块断裂的问题。但是,DBF在读取第一个块和最后一个块之间会发生变化,因此这是一个相同的问题,只是在更大的范围内。也就是说,SCN在备份的第一个块和最后一个块之间发生变化。归档的重做日志也涵盖了这一点。

RMAN为您提供了目录的可管理性,并提供了一种不需要以更高的速率生成重做(这会给磁盘、备份系统等带来压力)的方法。但是,BACKUP DATABASE本身不会为您提供一个一致的数据库;在Oracle中实现这一目的的唯一方法是冷备份。

票数 16
EN

Database Administration用户

发布于 2011-02-14 03:41:21

只有在Archive日志模式下运行时才需要备份Archive日志,所以问题是数据库是否应该这样做。您在标题确定ARCHIVELOG和NOARCHIVELOG模式下引用的同一文档中包含了这一内容。以下是一段节选:

在ARCHIVELOG和NOARCHIVELOG模式之间进行决定数据库的重做日志提供了数据库数据文件更改的完整记录(除了一些例外,例如直接路径加载)。您可以以两种模式之一运行数据库: ARCHIVELOG模式或NOARCHIVELOG模式。在ARCHIVELOG模式下,必须将已使用的联机重做日志组复制到一个或多个存档目的地,然后才能被重用。将重做日志归档将保留存储在该日志中的所有事务,以便在以后的恢复操作中使用。在NOARCHIVELOG模式中,在线重做日志组只是在重用日志时被覆盖。记录在重做日志组中的事务的所有信息都将丢失。2.3.3.1以NOARCHIVELOG模式运行数据库时,以NOARCHIVELOG模式运行会对备份和恢复策略造成严重限制。

  • 无法对数据库执行联机备份。在以NOARCHIVELOG模式进行备份之前,必须彻底关闭数据库。
  • 不能使用任何需要归档重做日志的数据恢复技术。如“数据恢复的形式”所述,这些包括完整的和实时的媒体恢复,以及更高级的恢复技术,如单个表空间的实时恢复和闪回数据库(在Oracle数据库备份和恢复高级用户指南中描述)。

如果您正在以NOARCHIVELOG模式运行,并且必须从磁盘故障对数据文件的损坏中恢复,则有两个主要的恢复选项:

  • 删除所有位于受影响文件中的区段的对象,然后删除这些文件。数据库的其余部分完好无损,但受影响文件中的所有数据都丢失了。
  • 从最近的备份中恢复整个数据库,并丢失自备份以来对数据库的所有更改。(恢复更改,因为备份需要执行媒体恢复,它使用存档的重做日志。)

..。

当性能要求极端或磁盘空间限制严重时,最好在NOARCHIVELOG模式下运行,尽管此选择会对您的恢复选项造成限制。

您几乎总是希望在ARCHIVELOG模式下运行,因此您几乎总是希望备份存档日志。

票数 7
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/1201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档