1.查看DG目前处于什么模式 SQL> select protection_mode,protection_level from v$database; PROTECTION_MODE PROTECTION_LEVEL -------------------- -------------------- MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE 目前处于最高性能模式 2.从最高性能模式切换至最大保护模式 SQL> alter database set standby databaseto MAXIMIZE PROTECTION; alter database set standby database toMAXIMIZE PROTECTION * ERROR at line 1: ORA-01126: database must be mounted in thisinstance and not open in any instance 出现报错,需要从mount状态切换 SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 1593835520 bytes Fixed Size 8621184 bytes Variable Size 1023411072 bytes Database Buffers 553648128 bytes Redo Buffers 8155136 bytes Database mounted. SQL> alter database set standby databaseto MAXIMIZE PROTECTION; Database altered. SQL> alter database open; Database altered. SQL> selectdatabase_role,open_mode,protection_mode, protection_level from v$database; DATABASE_ROLE OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- -------------------- PHYSICAL STANDBY READONLY MAXIMUM PROTECTION MAXIMUM PROTECTION 切换至最大保护模式 3.从最大保护切换至最高可用 SQL> alter database set standby databaseto MAXIMIZE AVAILABILITY; Database altered. SQL> selectdatabase_role,open_mode,protection_mode, protection_level from v$database; DATABASE_ROLE OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- -------------------- PHYSICAL STANDBY READ ONLY WITH APPLY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY 可直接切换 4.从最高可用切换回最大性能 SQL> alter database set standby databaseto maximize performance; Database altered. SQL> selectdatabase_role,open_mode,protection_mode, protection_level from v$database; DATABASE_ROLE OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- -------------------- PHYSICAL STANDBY READ ONLY WITH APPLY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
经过测试可以得到结论: 1、最高性能模式既可以使用ARCH方式传递日志,也可以使用LGWR方式传递,在升级到更高级别保护模式时,需使用LGWR方式,且需要在备库创建standby日志组。 2、三种保护模式进行切换时,最高性能升级到最大保护模式(⑤),需先把数据库重启到mounted状态才能操作。其他情况(①②③④⑥)相互切换时,可以直接进行。 在生产环境下如果需要从最高性能模式升级为最大保护模式,可先从最高性能模式升级最高可用模式,再由最高可用模式升级为最大保护模式。
如下图,通过①②分步升级的方式代替⑤直接升级,避免了重启到mounted状态对生产环境下业务造成的影响 |