oracle11g配置dataguard,Oracle11gDataGuard保护模式设置详解

5268f80b9b1e01f982625ef6fac83ca1.png

在正常情况下,此保护模式同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

logo.gif

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值