本节介绍在选择以NOARCHIVELOG或ARCHIVELOG模式运行数据库时必须考虑的问题,并包含以下主题:

  • 在NOARCHIVELOG模式下运行数据库
  • 在ARCHIVELOG模式下运行数据库

是否启用已填充的重做日志文件组的归档选择取决于在数据库上运行的应用程序的可用性和可靠性要求。如果在磁盘发生故障时无法丢失数据库中的任何数据,请使用ARCHIVELOG模式。填充的重做日志文件的归档可能需要您执行额外的管理操作。

在NOARCHIVELOG模式下运行数据库

在NOARCHIVELOG模式下运行数据库时,将禁用重做日志的归档。数据库控制文件指示不需要存档已填充的组。因此,当填充组在日志切换后变为非活动状态时,该组可供LGWR重用。

NOARCHIVELOG模式可以保护数据库免受实例故障的影响,但不能防止介质故障。只有对数据库所做的最新更改(存储在联机重做日志组中)才可用于实例恢复。如果在数据库处于NOARCHIVELOG模式时发生介质故障,则只能将数据库还原到最新的完整数据库备份点。您无法恢复该备份之后的事务。

在NOARCHIVELOG模式下,您无法执行联机表空间备份,也无法在数据库处于ARCHIVELOG模式时使用先前采用的联机表空间备份。要还原在NOARCHIVELOG模式下运行的数据库,只能在数据库关闭时使用整个数据库备份。因此,如果您决定在NOARCHIVELOG模式下操作数据库,请定期,频繁地进行整个数据库备份。

在ARCHIVELOG模式下运行数据库

在ARCHIVELOG模式下运行数据库时,将启用重做日志的归档。数据库控制文件指示LGWR无法重复使用一组已填充的重做日志文件,直到该组被归档为止。在重做日志切换发生后,填充组可立即进行存档。

填充组的归档具有以下优点:

  • 数据库备份以及联机和归档重做日志文件可确保您可以在操作系统或磁盘发生故障时恢复所有已提交的事务。
  • 如果保留可用的存档日志,则可以在数据库打开和正常系统使用时使用备份。
  • 通过将原始归档重做日志连续应用到备用数据库,可以使备用数据库与其原始数据库保持同步。

可以配置实例以自动存档已填充的重做日志文件,也可以手动存档。为了方便和高效,自动存档通常是最好的。图13-1说明了归档程序进程(本图中的ARC0)如何将填充的重做日志文件写入数据库归档重做日志。

如果分布式数据库中的所有数据库都以ARCHIVELOG模式运行,则可以执行协调的分布式数据库恢复。但是,如果分布式数据库中的任何数据库处于NOARCHIVELOG模式,则恢复全局分布式数据库(使所有数据库保持一致)受限于在NOARCHIVELOG模式下运行的任何数据库的上次完全备份。

Figure 13-1 Redo Log File Use in ARCHIVELOG Mode

在NOARCHIVELOG和ARCHIVELOG模式之间选择-LMLPHP

将归档的重做日志文件和相应的数据库备份从本地磁盘移动到永久脱机存储介质(如磁带)是一种很好的做法。归档日志的主要值是数据库恢复,因此,如果灾难发生在主数据库中,则需要确保这些日志是安全的。

参考资料

https://docs.oracle.com/cd/E11882_01/server.112/e25494/archredo.htm#ADMIN11330

04-28 12:04