查询oracle所有账号信息Data Guard三种模式解释

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能不能传到至少一个备库,主库都会执行这条命令。这种模式性能最高,但最不安全。

 

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

 

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

 

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。