Oracle 19C Data Guard基础运维-06 PROTECTION MODE

Oracle 19C Data Guard 基础运维 -06  PROTECTION  MODE  

针对三种Protection Modes ,对应的 Network transmission mode Disk write option 如下,对比了 10g,11g,19C 版本官方文档关于 Protection Modes 描述, 10g 描述的更详细些。

19C

11g

10g

https://docs.oracle.com/cd/B19306_01/server.102/b14239/log_transport.htm#i1183694

参数说明:

SYNC:

SYNC属性指定使用同步重做传输模式将重做数据发送到重做传输目标。

The SYNC  attribute specifies that the synchronous redo transport mode be used to send redo data to a redo transport destination.

ASYNC:

ASYNC属性指定使用异步重做传输模式将重做数据发送到重做传输目标。如果未指定SYNC或ASYNC属性,则使用异步重做传输模式。

The ASYNC  attribute specifies that the asynchronous redo transport mode be used to send redo data to a redo transport destination. The asynchronous redo transport mode is used if neither the SYNC  nor the ASYNC  attribute is specified.

AFFIRM:

指定重做传输 目的地 在将接收到的 redo data 写入 standby redo log 后对其进行确认。

specifies that a redo transport destination acknowledges received redo

data after  writing it to the standby redo log.

NOAFFIRM:

指定重做传输 目的地 在将接收到的 redo data 写入standby redo log 之前 对其进行确认。

specifies that a redo transport destination acknowledges received redo

data before  writing it to the standby redo log.

主库参数:

SQL> set line 100

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

--------- -------------------- -------------------- ---------------- ------------------------------

CJCDB   MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  PRIMARY      chendb

SQL> show parameter log_archive_config

NAME          TYPE  VALUE

------------------------------------ ----------- ------------------------------

log_archive_config        string  DG_CONFIG=(chendb,cjcdb)

SQL> show parameter log_archive_dest_1

NAME          TYPE  VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_1   string  LOCATION=/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=chendb    

SQL> show parameter log_archive_dest_2

NAME          TYPE  VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_2    string  SERVICE=cjcdb ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=cjcdb

备库参数:

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

--------- -------------------- -------------------- ---------------- ------------------------------

CJCDB   MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  PHYSICAL STANDBY cjcdb

SQL> show parameter log_archive_config

NAME          TYPE  VALUE

------------------------------------ ----------- ------------------------------

log_archive_config    string  DG_CONFIG=(cjcdb,chendb)

SQL> show parameter log_archive_dest_1

NAME          TYPE  VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_1    string  LOCATION=/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=cjcdb      

SQL> show parameter log_archive_dest_2

NAME          TYPE  VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_2    string  SERVICE=chendb ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=chendb

更改参数:

---主库

SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=cjcdb LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=cjcdb';

SQL> shutdown immediate

SQL> startup

---备库

SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=chendb LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=chendb';

SQL> shutdown immediate

SQL> startup

SQL> recover managed standby database using current logfile disconnect from session;

------ALTER DATABASE RECOVER  managed standby database using current logfile disconnect from session;

再次查看参数:

---主库

SQL> show parameter log_archive_dest_2

NAME          TYPE  VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_2    string  SERVICE=cjcdb LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=cjcdb

---备库      

SQL> show parameter log_archive_dest_2

NAME          TYPE  VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_2    string  SERVICE=chendb LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=chendb

更改保护模式:

SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {AVAILABILITY | PERFORMANCE | PROTECTION};

一:由MAXIMUM PERFORMANCE更改成MAXIMUM AVAILABILITY

主库:

SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;

主库日志:

备库日志:

查看包括模式:主库、备库

SQL>  SELECT PROTECTION_MODE FROM V$DATABASE;

PROTECTION_MODE

--------------------

MAXIMUM AVAILABILITY

二:由 MAXIMUM AVAILABILITY 更改成MAXIMUM PROTECTION

主库:

SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;

主库日志:

备库日志:

查看包括模式:主库、备库

SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

PROTECTION_MODE

--------------------

MAXIMUM PROTECTION

三:由 MAXIMUM PROTECTION 更改成MAXIMUM PERFORMANCE

主库:

SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE  PERFORMANCE ;

主库日志:

备库日志:

查看包括模式:主库、备库

SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

PROTECTION_MODE

--------------------

MAXIMUM PERFORMANCE

欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!

请使用浏览器的分享功能分享到微信等