zoukankan      html  css  js  c++  java
  • Data Guard 三种模式解释 子曰

    Data Guard 保护模式(Data Guard Protection Modes)
    对于 Data Guard 而言,其生存逻辑非常简单,由于它提供了三种数据保护的模式,我们又亲切的叫它:有三模:
     最大保护(Maximum protection):
    这种模式能够确保绝无数据丢失。要实现这一步当然是有代价的,它要求所有的事务在提交前其 redo 不仅
    被写入到本地的 online redo log,还要同时提交到 standby 数据库的 standby redo log,并确认 redo 数据至少在一
    个 standby 数据库可用(如果有多个的话),然后才会在 primary 数据库上提交。如果出现了什么故障导致 standby
    数据库不可用的话,primary 数据库会被 shutdown。
     最高性能(Maximum performance):
    这种模式提供在不影响 primary 数据库性能前提下最高级别的数据保护策略。事务可以随时提交,当前
    primary 数据库的 redo 数据也需要至少写入一个 standby 数据库,不过这种写入可以是不同步的。
    如果网络条件理想的话,这种模式能够提供类似最高可用性的数据保护而仅对 primary 数据库有轻微的性能
    影响。
     最高可用性(Maximum availability):
    这种模式提供在不影响 primary 数据库可用前提下最高级别的数据保护策略。其实现方式与最大保护模式类
    似,也是要求所有事务在提交前必须保障 redo 数据至少在一个 standby 数据库可用,不过与之不同的是,如果
    出现故障导入无法同时写入 standby 数据库 redo log,primary 数据库并不会 shutdown,而是自动转为最高性能
    模式,等 standby 数据库恢复正常之后,它又会再自动转换成最高可用性模式。

     

             首先需要搞明白oracle执行方式。如执行一条数据操作后,比如插入数据行,oracle不会在数据库中立即执行的。而是把你的这条sql语句写到日志里(可理解成redo log),然后再传一份log给备库。

         启用data guard后,这三种模式实际上就是当redo log没法传到备库会怎样。

        最大保护,就是发现当redo log没法传到至少一个备库时,主库上就不执行这条命令。这种模式性能最低,但最安全。

        最大性能,就是不管redo log能不能传到至少一个备库,主库都会执行这条命令。这种模式性能最高,但最不安全。

         最大可用,当 redo log可以传到至少一个备库时,和最大保护模式相同。但如果不能传到至少一个备库是,就自动转到最大性能模式既执行这条命令。这种模式性能和安全性取中间。

     

     最大保护及最高可用性需要至少一个 standby 数据库 redo 数据被同步写入。三种模式都需要指定LOG_ARCHIVE_DEST_n 初始化参数

  • 相关阅读:
    转-文件批量重命名
    解决死锁之路(终结篇)
    Python批量修改文件名
    Android AudioTrack分析
    Android Audio介绍
    Android GNSS介绍
    Android HIDL介绍
    【vue】类和内联样式绑定
    【vue】计算属性
    svn post-commit不能同步
  • 原文地址:https://www.cnblogs.com/suixufeng/p/3336075.html
Copyright © 2011-2022 走看看