ORACLE DG專題6--重做傳輸服務

前言

         重做傳輸服務用於在DG配置間自動傳輸重做數據。可能的傳輸目的地有:

  • DG備庫

如前文所描述的物理備庫、邏輯備庫的部署;

  • 歸檔日誌倉庫

此目的地用於臨時卸載歸檔日誌的存儲;

  • oracle 流捕獲數據庫
  • far sync實例

    以上種種傳輸目的地均可單獨配置以便以同步or異步方式接收重做數據。本文將講述重做傳輸服務的相關原理與配置,並輔以基本的運維方法;

配置重做傳輸

重做傳輸的安全性

DG配置間的重做傳輸是通過ORACLE網絡會話實現,爲保證會話建立,可使用如下兩種方式進行認證:

  1. SSL-- Secure Sockets Layer,安全套接字協議
  2. 密碼文件

此方式通過遠程密碼登錄方式進行重做數據傳輸,如前文部署物理備庫時密碼文件的同步;Oracle默認使用SYS用戶進行認證,也可以通過redo_transport_user參數指定非默認用戶進行認證;

SQL> show parameter redo_transport_user

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
redo_transport_user                  string

配置Oracle發送redo數據

         配置重做發送主要是配置ORACLE的LOG_ARCHIVE_DEST_n參數,12c支持1~31共31個重做目的配置,因其中一個需配置本地歸檔路徑,所以可支持最大30個備庫。此參數有諸多屬性如下:

AFFIRM and NOAFFIRM--------------指定目的是在寫入standby redo log之前還是之後進行確認;
ALTERNATE -------------指定當源目的失敗時的備選目的;
COMPRESSION ------指定是否進行壓縮;
DB_UNIQUE_NAME -----指定目的地的unique名;
DELAY -----指定重做延時;
ENCRYPTION -----指定是否加密傳輸(只對Recovery Appliance可用)
LOCATION and SERVICE ----指定是否是歸檔至本地或通過服務傳輸傳輸至遠程;
MANDATORY -----指定已填滿的redo log必須先歸檔才能被重用;
MAX_CONNECTIONS ------配置重做傳輸的最大連接數,相當於多路複用,可提高傳輸效率;
MAX_FAILURE ------配置容忍的最大連續失敗次數;
NET_TIMEOUT -----指定重做確認的超時時間;
NOREGISTER -----指定目的端無需記錄歸檔重做日誌的路徑;
REOPEN -----指定一個失敗的目的重新打開的最小時間s;
SYNC and ASYNC -----指定同步或異步傳輸
TEMPLATE --------指定歸檔目的文件的格式模版;
VALID_FOR --------指定重做傳輸配置在哪些條件下有效;

LOG_ARCHIVE_DEST_STATE_N參數配置對應的傳輸目的是否使能或備選,可選值爲:enable、defer、alternate;

         視圖V$ARCHIVE_DEST可查看重做目的配置狀態;

SQL> select * from V$ARCHIVE_DEST;

配置Oracle接收redo數據

         重做接收端需要配置備重做日誌standby redo log,備重做日誌結構與online 重做日誌結構一致。可使用v$log、v$logfile視圖查看備重做日誌;

         備重做日誌的創建原則:

  • Each standby redo log file must be at least as large as the largest redo log file in the redo log of the redo source database.

每個standby 重做日誌至少和online重做日誌一樣大;

  • The standby redo log must have at least one more redo log group than the redo log at the redo source database, for each redo thread at the redo source database.

standby重做日誌數量至少比online重做日誌多一個。這樣爲防止主庫redo日誌寫入太快,備庫standby redo佔滿而來不及應用。

         新建備重做日誌:

SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 SIZE 500M;

或:

SQL> alter database add standby logfile '/odata/datafile/standby_01.log' size 500m;

驗證/監控重做配置

         配置完重做服務後,可以通過V$DATAGUARD_CONFIG視圖檢查相關配置是否正確;

SQL> select DEST_ID,DEST_NAME,DESTINATION,TRANSMIT_MODE,DB_UNIQUE_NAME from V$ARCHIVE_DEST where status='VALID';

         具體可以查看V$ARCHIVE_DEST各個列的信息;

SQL> desc V$ARCHIVE_DEST

         查看是否有重做間隙:

SQL> SELECT * FROM V$ARCHIVE_GAP;

總結

         重做傳輸服務用於在DG配置間傳輸redo 數據,本文主要講解了重做發送和重做接收的基本配置,其中重做發送通過LOG_ARCHIVE_DEST_N配置實現,重做接收通過在目的端增加standby redo日誌實現。深入掌握Oracle的重做傳輸服務,可針對具體使用場景配置出高標準、高可靠、高性能的數據保護方案

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章