DataGuard 保护模式转换(一主两备)

逐级修改保护模式,不需要重启dbperformance(性能)-----> availablity(可用)要等待resync完成,再 --------> protection(保护)

 

1.查看当前保护模式

----当前最大性能模式

sys@ORCL>select protection_mode, protection_level from v$database;

PROTECTION_MODE      PROTECTION_LEVEL

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

MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE

 

sys@ORCL>show parameter log_archive_dest_2

NAME                                 TYPE        VALUE

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

log_archive_dest_2                   string      service=orclps1 async valid_fo

                                                 r=(online_logfile,primary_role

                                                 ) db_unique_name=orclps1

 

sys@ORCL>show parameter log_archive_dest_3

NAME                                 TYPE        VALUE

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

log_archive_dest_3                   string      service=orclps2 async valid_fo

                                                 r=(online_logfile,primary_role

                                                 ) db_unique_name=orclps2

 

2.最大性能---->最大可用性

-------------------->修改参数

sys@ORCL>alter system set log_archive_dest_2='service=orclps1 sync affirm net_timeout=10 valid_for=(online_logfile,primary_role) db_unique_name=orclps1';

System altered.

 

sys@ORCL>alter system set log_archive_dest_3='service=orclps2 sync affirm net_timeout=10 valid_for=(online_logfile,primary_role) db_unique_name=orclps2';

System altered.

 

----设置最大可用

sys@ORCL>alter database set standby database to maximize availability;

Database altered.

 

----等待resync完成

sys@ORCL>select protection_mode,protection_level from v$database;

PROTECTION_MODE      PROTECTION_LEVEL

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

MAXIMUM AVAILABILITY RESYNCHRONIZATION

 

----当日志应用跟不上LGWR进程,10s后将转为异步传输

sys@ORCL>select protection_mode,protection_level from v$database;

PROTECTION_MODE      PROTECTION_LEVEL

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

MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

 

3.最大可用---->最大保护

-------------------->修改参数

sys@ORCL>alter system set log_archive_dest_2='service=orclps1 sync affirm valid_for=(online_logfile,primary_role) db_unique_name=orclps1';

System altered.

 

sys@ORCL>alter system set log_archive_dest_3='service=orclps2 sync affirm valid_for=(online_logfile,primary_role) db_unique_name=orclps2';

System altered.

 

----设置最大保护

sys@ORCL>alter database set standby database to maximize protection;

Database altered.

 

sys@ORCL> select protection_mode, protection_level from v$database;

PROTECTION_MODE      PROTECTION_LEVEL

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

MAXIMUM PROTECTION   MAXIMUM PROTECTION

 

4.最大保护---->最大性能

-------------------->修改参数

sys@ORCL>alter system set log_archive_dest_2='service=orclps1 async valid_for=(online_logfile,primary_role) db_unique_name=orclps1';

System altered.

 

----修改第二个参数发现报错

sys@ORCL>alter system set log_archive_dest_3='service=orclps2 async valid_for=(online_logfile,primary_role) db_unique_name=orclps2';

alter system set log_archive_dest_3='service=orclps2 async valid_for=(online_logfile,primary_role) db_unique_name=orclps2'

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value is invalid

ORA-16159: Cannot change protected standby destination attributes

 

----先把保护模式改为最大性能

sys@ORCL>alter database set standby database to maximize performance;

Database altered.

 

----再次修改成功

sys@ORCL>alter system set log_archive_dest_3='service=orclps2 async valid_for=(online_logfile,primary_role) db_unique_name=orclps2';

System altered.

 

sys@ORCL> select protection_mode, protection_level from v$database;

PROTECTION_MODE      PROTECTION_LEVEL

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

MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE

 

5.最大性能---->最大保护

----修改参数

sys@ORCL>alter system set log_archive_dest_2='service=orclps1 sync affirm valid_for=(online_logfile,primary_role) db_unique_name=orclps1';

System altered.

 

sys@ORCL>alter system set log_archive_dest_3='service=orclps2 sync affirm valid_for=(online_logfile,primary_role) db_unique_name=orclps2';

System altered.

 

----先设置为最大可用

sys@ORCL>alter database set standby database to maximize availability;

Database altered.

 

sys@ORCL>select protection_mode,protection_level from v$database;

PROTECTION_MODE      PROTECTION_LEVEL

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

MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

 

----然后设置最大保护

sys@ORCL>alter database set standby database to maximize protection;

Database altered.

 

sys@ORCL>select protection_mode,protection_level from v$database;

PROTECTION_MODE      PROTECTION_LEVEL

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

MAXIMUM PROTECTION   MAXIMUM PROTECTION

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