Oracle 11g DataGuard保護模式設定詳解

來源:互聯網
上載者:User

先說說DG的三種保護模式
Maximum Protection:
最大保護模式,不允許資料丟失,所有事務必須完成主備庫的日誌寫後才能提交,如果主備庫之間網路異常,將會嚴重影響主庫效能。
Maximum Performance:
此為DG的預設模式,此模式保證主庫以最大效能運行,允許事務在完成本地日誌寫成功後主庫立即提交,而不需等待redo資料寫到備庫,事務產生的redo 資料非同步傳輸到備庫,此模式在主庫發生故障時,備庫可能有少量資料丟失,對主庫效能影響最小。
Maximum Availability:
在正常情況下,此保護模式同Maximum Protection,需要恢複此事務的所有redo 資料都同步寫到主庫online redo file 和備庫的standby redo log中,事務才能成功提交,當主庫不能將redo資料同步寫到主庫和備庫,此保護模式自動變成同Maximum Performance模式運行,不會導致主庫不可用,而當異常處理完成,其又恢複到同Maximum Protection模式
大家可以根據實際情況和需求採用不同的模式,各種保護模式的設定非常簡單,但是有些地方還是需要瞭解清楚。
各保護模式與log_archive_dest_n 參數日誌傳輸屬性對應表Maximum Availability Maximum Performance Maximum Protection AFFIRM NOAFFIRM AFFIRM SYNC ASYNC SYNC DB_UNIQUE_NAME DB_UNIQUE_NAME DB_UNIQUE_NAME 如何確認DG處於何種保護模式
SELECT PROTECTION_MODE FROM V$DATABASE;
設定Maximum Avalilability 模式:
SQL> alter database set standby database to maximize availability;

Database altered.

SQL> SELECT NAME,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE ,DB_UNIQUE_NAME FROM v$database;

NAME      PROTECTION_MODE      PROTECTION_LEVEL    DATABASE_ROLE    DB_UNIQUE_NAME
--------- -------------------- -------------------- ---------------- ------------------------------
OGG      MAXIMUM AVAILABILITY RESYNCHRONIZATION    PRIMARY        ogg

設定Maximum Performance 模式:
SQL> alter database set standby database to maximize PERFORMANCE;

Database altered.

SQL> SELECT NAME,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE ,DB_UNIQUE_NAME FROM v$database;

NAME      PROTECTION_MODE      PROTECTION_LEVEL    DATABASE_ROLE    DB_UNIQUE_NAME
--------- -------------------- -------------------- ---------------- ------------------------------
OGG      MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  PRIMARY        ogg

以上兩種模式在設定沒有特別條件限制,可以自由從一種模式轉換過來,也不需關注log_archive_dest_n的參數設定。
Maximum Protection 有限制,下面進行測試:
由Maximum Avalilability模式設定為Maximum Protection
條件Maximum Avalilability + log_archive_dest_n ASYNC
SQL> alter database set standby database to maximize availability;

Database altered.

SQL> show parameter log_archive_dest_2

NAME                    TYPE    VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2      string    SERVICE=tgg LGWR ASYNC VALID_F
                                  OR=(ONLINE_LOGFILES,PRIMARY_RO
                                  LE) DB_UNIQUE_NAME=tgg

SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

PROTECTION_MODE
--------------------
MAXIMUM AVAILABILITY

SQL> alter database set standby database to maximize PROTECTION;

Database altered.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 4876
Session ID: 1 Serial number: 5

此時主庫執行個體直接DOWN掉,查看alert log 資料庫已經改成Maximum Protection模式,但是因為LAG_ARCHIVE_DEST_2 參數中使用的是非同步傳輸 ASYNC,這個在最大保護模式下是不允許的,所以Oracle 為了保護資料不丟失,將執行個體直接關閉。

更多詳情見請繼續閱讀下一頁的精彩內容:

推薦閱讀:

使用RMAN的Duplicate功能建立物理DataGuard

Oracle基礎教程之通過RMAN複製資料庫

RMAN備份策略制定參考內容

RMAN備份學習筆記

OracleDatabase Backup加密 RMAN加密

通過RMAN備份duplicate建立DataGuard

  • 1
  • 2
  • 3
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.