DG有下面三种模式
– Maximum protection
– Maximum availability
– Maximum performance

Maximum protection下, 可以保证从库和主库数据完全一样,做到zero data loss.事务同时在主从两边提交完成,才算事务完成。如果从库宕机或者网络出现问题,主从库不能通讯,主库也立即宕机。在这种方式下,具有最高的保护等级。但是这种模式对主库性能影响很大,要求高速的网络连接。

Maximum availability模式下,如果和从库的连接正常,运行方式等同Maximum protection模式,事务也是主从库同时提交。如果从库和主库失去联系,则主库自动切换到Maximum performance模式下运行,保证主库具有最大的可用性。

Maximum performance,主库把归档的 archived log通过arch进程传递给从库,在这种方式下,主库运行性能最高,但是不能保证数据不丢失,且丢失的数据受redo log的大小影响。在redo log过大的情况下,可能一天都没有归档一个日志,可以通过手工切换日志的方式来减小数据的丢失。

家在做dataguard database 的时候一般选择什么样的模式?

目前国内基本上是最大性能模式,其他模式会整死你

Maximum availability觉得也挺好的,如果网络没有问题,和Maximum protection一样,如果网络不好和Maximum performance一样

首先Maximum protection在只有一台standby database 的情况下一般不会使用的,一方面对主库的性能影响比较的大,一方面要保证快速安全的网络速度,如果网络断开或者standby database 失效的话,那么会引起主库的down机,虽然说可以最大保护数据,但是还是不安全,如果有多台standby database 的话可以考虑

Maximum performance;虽然对主库的性能影响不大,但是对数据的保护不好啊,9i一般日志默认大小是100M,如果主库的磁盘全不坏了,那至少要损失100m 的日志数据啊,这就起不到保护数据的作用

现在比较好的就是Maximum availability,在正常情况下运行在Maximum protection下,如果网络或者standby dababase 有问题的时候会自动切换到Maximum performance下,但是我在测试的时候发现如果我把standby 以read only open 的时候发现主库就不传送日志了,stanndby database 就失效了

我用Maximum performance模式.

我认为要看生产需要,不同的应用需求不一样,我们的库就是不能宕,所以就不可能使用保护模式了,呵呵

觉得Maximum protection切换比较麻烦,以前忙了好半天才切换成功

还是用第三种模式吧!成熟!

这个应该关键还是看需要吧,客户允许宕机时间,允许数据丢失多少,客户现有机器设备条件都要综合考虑的。没有最好,只有最合适

呵呵比较好的一种方式是使用Max performance 但是 log transfer 使用LGWR ASYNC NOAFFIRM
这样,在保证性能的情况下,在standby处保留了一份redo log,虽然在Crash时仍然可能会丢失数据,但是可以控制在一定范围内……
不过,使用LGWR时,虽然使用Max performance ,在standby 异常down的时候,仍然有可能使Primary hung 住一定时间。在我做过的测试中,如果standby 的网络断了,Primary hung住了3 min。虽然可以通过修改DB 参数以及OS 参数使这个hung的时间缩短,但还是存在一定风险。
我最终采用的是另一种折衷方式,Max performance , ARCH optional 的传输模式。另外,在storage 和 local disk 上各保存一份redo log,以防范 storage的crash……

原帖:http://hi.baidu.com/byfeihz/item/d238b6975ce371c8b62531f7

Oracle DG 三种模式的更多相关文章

  1. Oracle DG 三种模式(转)

    DG有下面三种模式– Maximum protection– Maximum availability– Maximum performance 在Maximum protection下, 可以保证从 ...

  2. Oracle Dataguard三种保护模式概述(转)

    Oracle的DataGuard技术有三种实现模式,分别是max performance.max availability.max protection这三种模式. 以下是来自Oracle文档的摘要信 ...

  3. exp/imp三种模式——完全、用户、表

    ORACLE数据库有两类备份方法.第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库:第二类备份方式为逻辑 ...

  4. VIM 三种模式和常用命令

    引言 大数据开发工作中,周围的同事不是用 VIM 就是 Emacs,你要是用 UltraEdit 或 notepad++ 都不好意思跟人家打招呼...什么插件呀.语法高亮呀.拼写检查呀,能给它开的都给 ...

  5. git push :推送本地更改到远程仓库的三种模式

    摘要:由于在git push过程中,no-fast-forward 的push会被拒绝,如何解决git push失败的问题?这里面有三种方法,分别会形成merge形式的提交历史,线性形式的提交历史,覆 ...

  6. App开发三种模式

    APP开发三种模式 现在App开发的模式包含以下三种: Native App 原生开发AppWeb App 网页AppHybrid App 混合原生和Web技术开发的App 详细介绍: http:// ...

  7. [转]VMware Workstation网络连接的三种模式

    经常要使用VMWare Workstation来在本地测试不同的操作系统,以前也搞不清楚网络连接三种模式,最近看了几篇文章才算明白.现总结如下: 1. VMware Workstation的虚拟网络组 ...

  8. LVS三种模式配置及优点缺点比较

    目录: LVS三种模式配置 LVS 三种工作模式的优缺点比较 LVS三种模式配置 LVS三种(LVS-DR,LVS-NAT,LVS-TUN)模式的简要配置 LVS是什么: http://www.lin ...

  9. LVS三种模式配置及优点缺点比较 转

    LVS三种模式配置及优点缺点比较   作者:gzh0222,发布于2012-11-12,来源:CSDN   目录: LVS三种模式配置 LVS 三种工作模式的优缺点比较 LVS三种模式配置 LVS三种 ...

随机推荐

  1. AS3数字取整

    AS3 数字取整方法int()去掉小数点trace(int(3.14)); //输出3trace(int(-3.14)); //输出-3Math.round()方法:Math.round()可以四舍五 ...

  2. Jenkins + GitLab + SpringBoot 实现持续集成脚本

    Linux脚本 #!/bin/bash jar_name=hq-api.jar cd /usr/local/app/hq-api echo "Stopping SpringBoot Appl ...

  3. [LOJ6433] [PKUSC2018] 最大前缀和

    题目链接 LOJ:https://loj.ac/problem/6433 Solution 注意到最大前缀要满足什么性质,假设序列\(a[1..n]\)的最大前缀是\(s_x\),那么显然要满足所有\ ...

  4. CF936C Lock Puzzle 构造

    传送门 好久不做构造题脑子都僵化了qwq 无解的条件是\(s\)包含的字符可重集和\(t\)包含的字符可重集不相等,相等的时候下文会给出一种一定可行的构造方案. 考虑增量构造.定义某个字符串\(x\) ...

  5. spring boot 中@Autowired注解无法自动注入的错误

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/huihuilovei/article/de ...

  6. 支持移动端裁剪图片插件Jcrop(结合WebUploader上传)

    (此教程包括前端实现图片裁剪,后端进行获取裁剪区并保存) 最近有一个需求,微信公众号上传图片,支持自定义裁剪. 以前用过一款裁剪插件cropper,很久没用了,不知道对移动端操作兼容如何,重新从网上搜 ...

  7. Java中使用Log4j记录错误、输出日志

    简介: Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进 ...

  8. Xinetd服务的安装与配置详解

    1.什么是xinetd xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器.经常用来管理多种轻量级Interne ...

  9. PreparedStatement和批处理

    1.概述 PreparedStatement 接口继承了 Statement,并与之在两方面有所不同,它表示预编译的 SQL 语句对象. 首先,数据库会对预编译语句提供性能优化.因为预编译语句有可能被 ...

  10. QLineEdit 按键Tab键时 显示历史记录

    #LineEdit添加历史记录功能,按下回车添加至历史中 class LineEditWithHistory(QtWidgets.QLineEdit): def __init__(self, pare ...