Oracle 10g DG中数据保护模式


Data Guard的保护模式(Data Guard Protection Modes)

 最大保护(Maximum protection )

这种模式能够保证在primary Database发生故障保证数据不丢失。在这种模式下,事务提交前,要保证Redo数据已经写入到Primary Database的Online Redologs,同时写入Standby Database的Standby Redologs,并确保至少在一个Standby Database中可用。如果Standby Database不可用,Primary Database将会shutdown。

最高可用性(Maximum availability)

这种模式在不影响Primary Database可用的前提下,提供最高级别的数据保护策略,这种模式也能够确保数据不丢失。事务提交之前,要保证Redo数据已经写入到Primary Database的Online Redologs,同时写入Standby Database的Standby Redologs,确保至少在一个Standby Database中可用。与最大保护模式不同的是,如果Standby Database出现故障导致不可用,Primary Database并不会被shutdown,而是自动转换为最高性能模式,等Standby Database恢复正常后,Primary Database又会自动切换到最高可用性模式。

最大性能(Maximum performance)

这是一种默认的保护模式。事务可以随时提交,当前Primary Database的Redo数据至少需要写入一个Standby Database,不过这种方式不会等待Standby Database是否写入的确认因此这种写入属于异步写入。

当网络有很大带宽可用时,常采用这种保护模式。

批注:最大保护和最高可用性至少需要一个Standby Database的Redo数据被同步写入。以上三种保护都要指定LOG_ARCHIVE_DEST_n初始化参数。

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

基于同一主机配置 Oracle 11g Data Guard

探索Oracle之11g DataGuard

Oracle Data Guard (RAC+DG) 归档删除策略及脚本

Oracle Data Guard 的角色转换

Oracle Data Guard的日志FAL gap问题

Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法

1.DG配置中设置数据保护模式

  最大保护(Maximum protection ) 最高可用性(Maximum availability) 最大性能(Maximum performance)
Redo archival process LGWR LGWR LGWR or ARCH
Network transmission mode SYNC SYNC SYNC or ASYNC when using LGWR process. SYNC if using ARCH process
Disk write option AFFIRM AFFIRM AFFIRM or NOAFFIRM
Standby redo log required? Yes Yes No, but it is recommended

查看当前数据库的保护模式,如下:
 SQL> select DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;

DATABASE_ROLE    PROTECTION_MODE      PROTECTION_LEVEL
 ---------------- -------------------- --------------------
 PRIMARY          MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE

修改数据库的保护模式为 MAXIMIZE AVAILABILITY,如下:
 SQL> startup mount            --备库启动至mount状态
 ORACLE instance started.

Total System Global Area  281018368 bytes
 Fixed Size                  2020160 bytes
 Variable Size              88083648 bytes
 Database Buffers          184549376 bytes
 Redo Buffers                6365184 bytes
 Database mounted.
 SQL> show parameter LOG_ARCHIVE_DEST_2;  --备库参数查询

NAME                                TYPE        VALUE
 ------------------------------------ ----------- ------------------------------
 log_archive_dest_2            string      SERVICE=orcl LGWR ASYNC VALID_  FOR=(ONLINE_LOGFILES ,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl
 
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=myorcl OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)  DB_UNIQUE_NAME=myorcl';    --备库参数设置
 
System altered.

SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(myorcl,orcl)';

System altered.

SQL> SHUTDOWN IMMEDIATE;
 Database closed.
 Database dismounted.
 ORACLE instance shut down.
 SQL> STARTUP MOUNT;
 ORACLE instance started.

Total System Global Area  281018368 bytes
 Fixed Size                  2020160 bytes
 Variable Size            109055168 bytes
 Database Buffers          163577856 bytes
 Redo Buffers                6365184 bytes
 Database mounted.
 SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;    --修改数据保护模式
 
Database altered.

SQL> ALTER DATABASE OPEN;

Database altered.

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=orcl OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)  DB_UNIQUE_NAME=orcl';        --备库设置
 
System altered.

SQL> SELECT PROTECTION_MODE, PROTECTION_LEVEL FROM V$DATABASE;

PROTECTION_MODE      PROTECTION_LEVEL
 -------------------- --------------------
 MAXIMUM AVAILABILITY    RESYNCHRONIZATION

相关内容