ORACLE 10G Data Guard 模式切換

renjixinchina發表於2013-04-10

第一步:調整主庫LOG_ARCHIVE_DEST_n引數

各個模式的最低要求

Maximum Protection

Maximum Availability

Maximum Performance

Redo archival process

LGWR

LGWR

LGWR or ARCH

Network transmission mode

SYNC

SYNC

SYNC or ASYNC when using LGWR process. SYNC if using ARCH process

Disk write option

AFFIRM

AFFIRM

AFFIRM or NOAFFIRM

Standby redo log required?

Yes

Yes

No, but it is recommended

Maximum Availability設定例子如下:

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=chicago

  2> OPTIONAL LGWR SYNC AFFIRM

  3> VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

  4> DB_UNIQUE_NAME=chicago';

如果沒有指定 LOG_ARCHIVE_CONFIG 在主庫和備庫執行如下:

ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'

 

注意: 如果是從Maximum Protection-- Maximum Availability--- Maximum Performance 降低的順序 不需要startup mount 狀態

         如果是從 Maximum Performance-- Maximum Availability--Maximum Protection 升級的順序 需要startup mount  狀態

第二步:把主庫啟動到mount 狀態

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;

第三步:設定保護模式

ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;

第四步:開啟主庫

SQL> ALTER DATABASE OPEN;

第五步:設定備庫LOG_ARCHIVE_DEST_引數 確保switchover能夠正常執行

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=boston
  2> OPTIONAL LGWR SYNC AFFIRM
  3> VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
  4> DB_UNIQUE_NAME=boston';

第六步:查詢配置是否成功

SQL> SELECT PROTECTION_MODE, PROTECTION_LEVEL FROM V$DATABASE;
 
PROTECTION_MODE                   PROTECTION_LEVEL
---------------------             ---------------------
MAXIMUM AVAILABILITY              MAXIMUM AVAILABILITY

 

 


附:下面列出不同資料保護模式的修改方法
SQL > alter database set standby database to maximize protection;    --最大保護

SQL > alter database set standby database to maximize availability;  --最高可用性

SQL > alter database set standby database to maximize performance;   --最高效能

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-758140/,如需轉載,請註明出處,否則將追究法律責任。

相關文章