Oracle 11g DataGuard保护模式设置详解

在正常情况下,此保护模式同Maximum Protection,需要恢复此事务的所有redo 数据都同步写到主库online redo file 和备库的standby

先说说dg的三种保护模式
maximum protection:
最大保护模式,不允许数据丢失,所有事务必须完成主备库的日志写后才能提交,如果主备库之间网络异常,将会严重影响主库性能。
maximum performance:
此为dg的默认模式,此模式保证主库以最大性能运行,允许事务在完成本地日志写成功后主库立即提交,而不需等待redo数据写到备库,事务产生的redo 数据异步的传输到备库,此模式在主库发生故障时,备库可能有少量数据丢失,对主库性能影响最小。
maximum availability:
在正常情况下,此保护模式同maximum protection,需要恢复此事务的所有redo 数据都同步写到主库online redo file 和备库的standby redo log中,事务才能成功提交,当主库不能将redo数据同步写到主库和备库,此保护模式自动变成同maximum performance模式运行,不会导致主库不可用,而当异常处理完成,其又恢复到同maximum protection模式
大家可以根据实际情况和需求采用不同的模式,各种保护模式的设置非常简单,但是有些地方还是需要了解清楚。
各保护模式与log_archive_dest_n 参数日志传输属性对应表maximum availability maximum performance maximum protection affirm noaffirm affirm sync async sync db_unique_name db_unique_name db_unique_name 如何确认dg处于何种保护模式
select protection_mode from v$database;
设置maximum avalilability 模式:
sql> alter database set standby database to maximize availability;

Database altered.

SQL> SELECT NAME,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE ,DB_UNIQUE_NAME FROM v$database;

NAME      PROTECTION_MODE      PROTECTION_LEVEL    DATABASE_ROLE    DB_UNIQUE_NAME
——— ——————– ——————– —————- ——————————
OGG      MAXIMUM AVAILABILITY RESYNCHRONIZATION    PRIMARY        ogg

设置Maximum Performance 模式:
SQL> alter database set standby database to maximize PERFORMANCE;

Database altered.

SQL> SELECT NAME,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE ,DB_UNIQUE_NAME FROM v$database;

NAME      PROTECTION_MODE      PROTECTION_LEVEL    DATABASE_ROLE    DB_UNIQUE_NAME
——— ——————– ——————– —————- ——————————
OGG      MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  PRIMARY        ogg

以上两种模式在设置没有特别条件限制,,可以自由从一种模式转换过来,也不需关注log_archive_dest_n的参数设置。
Maximum Protection 有限制,下面进行测试:
由Maximum Avalilability模式设置为Maximum Protection
条件Maximum Avalilability + log_archive_dest_n ASYNC
SQL> alter database set standby database to maximize availability;

Database altered.

SQL> show parameter log_archive_dest_2

NAME                    TYPE    VALUE
———————————— ———– ——————————
log_archive_dest_2      string    SERVICE=tgg LGWR ASYNC VALID_F
                                  OR=(ONLINE_LOGFILES,PRIMARY_RO
                                  LE) DB_UNIQUE_NAME=tgg

SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

PROTECTION_MODE
——————–
MAXIMUM AVAILABILITY

SQL> alter database set standby database to maximize PROTECTION;

Database altered.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 4876
Session ID: 1 Serial number: 5

此时主库实例直接DOWN掉,查看alert log 数据库已经改成Maximum Protection模式,但是因为LAG_ARCHIVE_DEST_2 参数中使用的是异步传输 ASYNC,这个在最大保护模式下是不允许的,所以Oracle 为了保护数据不丢失,将实例直接关闭。

更多详情见请继续阅读下一页的精彩内容:

推荐阅读:

使用RMAN的Duplicate功能创建物理DataGuard

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

通过RMAN备份duplicate创建DataGuard

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1878487.html

(0)
上一篇 2025年2月22日 10:40:33
下一篇 2025年2月22日 10:40:47

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • DataGuard-创建物理备库全程解析

    本文主要记录了创建物理备库的完整过程,以便实践中参考.耐于机器配置,此实验实现的是在本机上建立两个数据库TEST和STD_ASSG,TEST 本文主要记录了创建物理备库的完整过程,以便实践中参考.耐于机器配置,此实验实现的是在本机上建立两个…

    数据库 2025年2月23日
    100
  • Oracle Dataguard Standby Redo Log的两个实验

    在Data Guard环境中,Standby Redo Log是一个比较特殊的日志类型。从最新的DG安装指导中,都推荐在Primary和Standby端,都配置St 在data guard环境中,standby redo log是一个比较特…

    数据库 2025年2月23日
    100
  • Oracle和MySQL分别生成sequence序列

    有时候在往数据库中插入数据的时候,如果ID值是32位的UUID, 而自己随便写个字符又不合适,这时就要用到函数来产生一个序列值 Or 有时候在往数据库中插入数据的时候,如果id值是32位的uuid, 而自己随便写个字符又不合适,这时就要用到…

    数据库 2025年2月23日
    100
  • Oracle 10g Stream表级复制配置

    本次实验在vmware9.0环境下进行,安装的操作系统CentOS-6.4-x86_64,数据库版本是ORACLE10g10.2.0.1,源库和目标库都安装了数据库 1.实验环境配置 本次实验在vmware9.0环境下进行,安装的操作系统c…

    数据库 2025年2月23日
    100
  • Oracle CASE WHEN 用法介绍

    1. CASE WHEN 表达式有两种形式 –简单Case函数 CASE sex WHEN 1. case when 表达式有两种形式 –简单Case函数  CASE sex  WHEN ‘1&#8217…

    数据库 2025年2月23日
    100
  • Oracle 函数中游标及递归的应用

    在代码中使用递归可能大部分程序员都不陌生,但是在存储过程或者函数中写个递归估计就不多见了。今天遇到了一个在Oracle函数中使 在代码中使用递归可能大部分程序员都不陌生,但是在存储过程或者函数中写个递归估计就不多见了。 今天遇到了一个在Or…

    数据库 2025年2月23日
    100
  • DB2 SQL20321N 解决实例

    最近在做一套DB2数据库迁移时遭遇 SQL20321N报错。场景:一套干净的环境,刚装了DB2,预计将一套老的DB2数据库迁移至此。 最近在做一套db2数据库迁移时遭遇 sql20321n报错。 场景:一套干净的环境,刚装了db2,预计将一…

    数据库 2025年2月23日
    100
  • Oracle的OS验证登录

    从最早版本到今天,Oracle在用户名和密码安全策略方面不断的加以改进,比如,进入11g之后,Default Profile要求定期进行用户密码 用户名、密码是我们最常见的安全验证策略方法,也是我们在各种应用系统软件中采用的最多的安全保护策…

    数据库 2025年2月23日
    100
  • Oracle数据库实用函数

    Oracle实用函数 decode 语法如下: decode(value, if1, then1, if2,then2,if3,then3, . . . else ) Value 代表某个表的任何类 Oracle实用函数 decode 语法…

    数据库 2025年2月23日
    100
  • Oracle数据库获取uuid函数

    Oracle新建系统表时,要求主键为32位uuid,猜测Oracle肯定会提供相关的函数。 oracle新建系统表时,,要求主键为32位uuid,猜测oracle肯定会提供相关的函数。 翻阅相关文档,果然发现Oracle提供的函数 sys_…

    数据库 2025年2月23日
    100

发表回复

登录后才能评论