天天看點

dataguard保護模式切換(PROTECTION | AVAILABILITY | PERFORMANCE)

1、首先檢視目前的保護模式   ---primary資料庫操作

SQL> select protection_mode,protection_level from v$database;

PROTECTION_MODE      PROTECTION_LEVEL

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

MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE

2、修改初始化參數    --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資料庫操作

MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

5、修改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

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

standby

配置成功,正面順便再測試一下。

6、停掉standby資料庫,再檢視primary資料庫狀态

MAXIMUM AVAILABILITY RESYNCHRONIZATION

Standby資料庫shutdown後,primary資料庫保護級别切換為待同步。