本节介绍在选择以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

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

参考资料

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

在NOARCHIVELOG和ARCHIVELOG模式之间选择的更多相关文章

  1. AP、路由、中继、桥接、客户端模式之间的区别

    AP.路由.中继.桥接.客户端模式之间的区别 在TP-Link迷你无线路由器上一般有AP(接入点)模式.Router(无线路由)模式.Repeater(中继)模式.Bridge(桥接)模式. Clie ...

  2. RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复

    恢复处于NOARCHIVELOG模式的数据库 当数据库处于NOARCHIVELOG模式时,如果出现介质故障 ,则最后一次备份之后对数据库所做的任何操作都将丢失.通过RMAN执行恢复时,只需要执行res ...

  3. MVC,MVP 和 MVVM 模式如何选择?

    转摘:http://www.linuxidc.com/Linux/2015-10/124622.htm 前言 做客户端开发.前端开发对MVC.MVP.MVVM这些名词不了解也应该大致听过,都是为了解决 ...

  4. ARMv7处理器各个模式之间是怎样切换的?模式切换时上下文的保存哪些是硬件在做?哪些是操作系统在做?

    1.ARM处理器各个模式之间是怎样切换的? 答:除用户模式外的其它6种模式称为特权模式,这些模式中,程序能够訪问全部系统资源,也能够随意进行处理器模式的切换.处理器模式能够通过软件控制进行切换(直接设 ...

  5. <JavaScript>“浏览器模式”和“文档模式”之间的区别

    只有IE浏览器中才会有“浏览器模式”和“文档模式”,兼容性视图涉及两个重要的功能便是“浏览器模式[browser mode]”和“文档模式[document mode]”,在IE8/IE9中按F12键 ...

  6. 如何启动或关闭oracle的归档(ARCHIVELOG)模式

    参考文献: http://www.eygle.com/archives/2004/10/oracle_howtoeci.html 1.管理员身份连接数据库 C:\Users\Administrator ...

  7. (转)如何启动或关闭数据库的归档(ARCHIVELOG)模式

    转自:http://www.eygle.com/archives/2004/10/oracle_howtoeci.html Oracle数据库可以运行在2种模式下:归档模式(archivelog)和非 ...

  8. ListView的操作模式的选择的更详细的解释CHOICE_MODE_MULTIPLE与CHOICE_MODE_MULTIPLE_MODAL

    本文介绍了我们将如何取得具体ListView多选择操作.本文将正确使用ListViewCHOICE_MODE_MULTIPLE要么CHOICE_MODE_MULTIPLE_MODAL时间easy误区. ...

  9. java设计模式---三种工厂模式之间的区别

    简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式.其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性. 本文是本人对这三种模式学习后的一个小结以及对他 ...

随机推荐

  1. QPalette

    Help on class QPalette in module PyQt5.QtGui: class QPalette(sip.simplewrapper) |  QPalette() |  QPa ...

  2. 二、PHP基本语法 - PHP零基础快速入门

    我们日常生活中,有些人使用普通话交流,有些人使用家乡话.类比到计算机的世界里,PHP 是人与计算机沟通的语言之一. 既然是语言,那就必须遵循一定的语法规则.譬如 A 向 B 表白,A 会对 B 说:& ...

  3. 一入OI深似海 3 —— 纪念我最后一次PJ(上)

    其实在比赛前一天中午上车前, 我还在机房打 I wanna, 感觉就是去杭州旅游的. 诶,还真是这样! 我和jwj在绍兴服务区买了金拱门, 拎着吃的回到车上的时候, 迎面而来羡慕的小眼神. 下午很早就 ...

  4. Python进阶10---魔术方法*

    特殊属性 查看属性 #animal.py class Animal: x = 123 def __init__(self,name): self._name = name self.__age = 1 ...

  5. ABP拦截器之AuthorizationInterceptor

    在整体介绍这个部分之前,如果对ABP中的权限控制还没有一个很明确的认知,请先阅读这篇文章,然后在读下面的内容. AuthorizationInterceptor看这个名字我们就知道这个拦截器拦截用户一 ...

  6. Python openpyxl : Excel 文档简单操作

    安装方法 使用 pip 或通过专门python IDE(如pyCharm)进行安装 其中pip安装方法,命令行输入:  pip install openpyxl 基本使用 第一步先是要导入 openp ...

  7. Appium环境搭建-完整版

    环境依赖 Node.js Appium Appium-desktop Appium-doctor Appium-Python-Client Python JDK Andriod SDK 以上所需的软件 ...

  8. Spring Boot 2.x 编写 RESTful API (五) 单元测试

    用Spring Boot编写RESTful API 学习笔记 概念 驱动模块 被测模块 桩模块 替代尚未开发完毕的子模块 替代对环境依赖较大的子模块 (例如数据访问层) 示例 测试 Service @ ...

  9. package---包

    一,包 包(package) 用于管理程序中的类,主要用于解决类的同名问题.包可以看成目录. 包的作用: [1] 防止命名冲突. [2] 允许类组成一个单元(模块),便于管理和维护 [3] 更好的保护 ...

  10. k8s-jenkins 自动化1

    一个流水线例子: 设置参数化构建: 流水线指令: def label = "docker-${UUID.randomUUID().toString()}" podTemplate( ...