1、首先查看当前的保护模式 ---primary数据库操作
SQL> select protection_mode,protection_level from v$database;
PROTECTION_MODE PROTECTION_LEVEL -------------------- -------------------- MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE2、修改初始化参数 --primary数据库操作
SQL> alter system set log_archive_dest_2='SERVICE=standby 2 OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 3 DB_UNIQUE_NAME=standby'; 系统已更改。3、重启数据库并设置新的数据保护模式 --primary数据库操作
语句非常简单,如下: SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。SQL> startup mount
ORACLE 例程已经启动。 Total System Global Area 167772160 bytes Fixed Size 1289484 bytes Variable Size 121635572 bytes Database Buffers 37748736 bytes Redo Buffers 7098368 bytes 数据库装载完毕。SQL> alter database set standby database to maximize availability;
数据库已更改。提示:maximize后可跟{PROTECTION | AVAILABILITY | PERFORMANCE},分别对应最大保护,最高可用性及最高性能。
Down掉数据库,重新启动SQL>alter database open;
4、看一下当前的保护模式 --primary数据库操作
SQL> select protection_mode,protection_level from v$database; PROTECTION_MODE PROTECTION_LEVEL -------------------- -------------------- MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY5、修改standby初始化参数设置(主要考虑角色切换,如果只测试的话本步可跳过) ---standby数据库操作
SQL> alter system set log_archive_dest_2='SERVICE=primary OPTIONAL LGWR SYNC AFFIRM 2 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary'; 系统已更改。查看当前的保护模式
SQL> select instance_name from v$instance; INSTANCE_NAME ---------------- standbySQL> select protection_mode,protection_level from v$database;
PROTECTION_MODE PROTECTION_LEVEL -------------------- -------------------- MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY配置成功,正面顺便再测试一下。
6、停掉standby数据库,再查看primary数据库状态
SQL> select protection_mode,protection_level from v$database; PROTECTION_MODE PROTECTION_LEVEL -------------------- -------------------- MAXIMUM AVAILABILITY RESYNCHRONIZATION Standby数据库shutdown后,primary数据库保护级别切换为待同步。