Oracle 12c DG新特性Far Sync
Oracle的Data Guard技術再11g中有了Active Data Guard,就產生了很多的技術解決方案,比如讀寫分離,多活的技術支撐等。
12c 中又有了一些改進,那就當屬Far Sync。以下是來自官網提供的一張圖,看起來很威武霸氣。
這個Far Sync到底是個什麼東東,主要就是為了解決遠距離的資料傳輸延遲,而在中間節點建立的一個虛例項,這個例項很特別,只有引數檔案,密碼問價和控制檔案,而且需要特別強調的是沒有資料檔案。
當然這個特性是一個補充,你如果使用原本的Active Data Guard也全然沒有問題。而這個特性可以通過中間節點來過渡,達到了官方所宣稱的0資料丟失。
這個特性是不是非常牛叉呢,其實如果大家瞭解Data Guard的一些知識,會發現其實這個Far Sync就是cascade standby的一個改進,所以我沒有說是一個技術上很大的一個創新。
如果已經有了Active Data Guard的環境,啟用Far Sync那就很簡單了。
下面是一個典型的DG配置情況,使用了DG Broker來統一配置管理。主庫是testdb,備庫是testdb2
DGMGRL> show configuration Configuration - dgb_testdb Protection Mode: MaxPerformance Members: testdb - Primary database testdb2 - Physical standby database Fast-Start Failover: DISABLED Configuration Status: DISABLED
需要特別強調的是,Far Sync的新增一個關鍵就是控制檔案,這個和備庫控制檔案有所區別。如果你使用的是備庫控制檔案,那很可能新增的時候得到下面的錯誤。
DGMGRL> add far_sync testdbf as connect identifier is testdbf; Error: ORA-16831: operation not allowed on this member 檢視錯誤資訊,也是一頭霧水,日誌中也沒有什麼明顯的資訊。 [oracle@teststd ~]$ oerr ora 16831 16831, 00000, "operation not allowed on this member" // *Cause: The Oracle Data Guard broker operation was not allowed for the // specified member of the Oracle Data Guard broker configuration. // *Action: Check the documentation for the Oracle Data Guard broker command // and then reissue the command with the correct member.
我剛開始玩的時候大意了,結果因為這個問題給折騰了不少時間。需引以為戒。
正確的姿勢是在主庫生成Far Sync的控制檔案:
SQL> ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS '/tmp/controlfs01.ctl1'; Database altered. 然後拷貝到備庫還原即可。 備庫執行: RMAN> restore controlfile from '/tmp/controlfs01.ctl1'; RMAN> alter database mount;
很重要的一個檢查項就是檢查v$database,輸出全然不同
SQL> select database_role,name,db_unique_name from v$database DATABASE_ROLE NAME DB_UNIQUE_NAME ------------------------------ --------------------------- ----------- FAR SYNC TESTDB testdbf
這樣就對了,我們再次在主庫新增:
新增Far Sync節點: DGMGRL> add far_sync TESTDBF as connect identifier is TESTDBF; far sync instance "testdbf" added 啟用配置 DGMGRL> enable far_sync TESTDBF; Enabled. 檢視配置情況: DGMGRL> DGMGRL> show configuration; Configuration - dgb_testdb Protection Mode: MaxPerformance Members: testdb - Primary database testdb2 - Physical standby database testdbf - Far sync instance Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 5 seconds ago)
Far Sync的節點就這樣搞定了。其實就是中間走了一層轉接,而對於Far Sync而言,使用DG Broker搭建就是兩條簡單的命令即可。其實在後臺日志中是設定歸檔路徑引數:
Sat Oct 29 23:21:23 2016 ALTER SYSTEM SET log_archive_dest_3='service="testdbf"','ASYNC NOAFFIRM delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 db_unique_name="testdbf" net_timeout=30','valid_for=(online_logfile,all_roles)' SCOPE=BOTH; Sat Oct 29 23:21:23 2016 ALTER SYSTEM SET log_archive_dest_state_3='ENABLE' SCOPE=BOTH;
所以核心的部分就在於這兒,還有一個地方是Far Sync節點,Fal_server的設定
FAR SYNC節點: SQL> show parameter fal NAME TYPE VALUE ------------------------------------ ---------- ----------- fal_client string fal_server string testdb, testdb2
我們可以簡單測試一下Far Sync的影響範圍:
直接shutdown abort Far Sync節點,主庫會馬上收到一條錯誤資訊:
Sat Oct 29 23:29:18 2016 Errors in file /home/U01/app/oracle/diag/rdbms/testdb/testdb/trace/testdb_tt02_8451.trc: ORA-03135: connection lost contact
這個時候測試節點的日誌傳輸還是可以的,當然遠距離還是會把影響放大。
而在Far Sync節點恢復之後,主庫日誌會發生變化:
ERROR: Shared memory area is accessible to instance startup process prior to instance startup operation. Sat Oct 29 23:32:17 2016 ALTER SYSTEM SET log_archive_dest_state_3='ENABLE' SCOPE=MEMORY SID='*';
再次檢視DG Broker的配置就沒有問題了。
DGMGRL> show configuration; Configuration - dgb_testdb Protection Mode: MaxPerformance Members: testdb - Primary database testdb2 - Physical standby database testdbf - Far sync instance Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 41 seconds ago)
這個測試的過程還是比較流暢的,還有更多的細節,後續繼續分享。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-2127324/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 12c 新特性 Active Data Guard Far SyncOracle
- 12c DG新特性 - Active Data Guard Far Sync (Doc ID 2179719.1)
- Data Guard 12C 新特性:Far Sync Standby (文件 ID 2179719.1)
- 【DATAGUARD】Data Guard 12C 新特性:Far Sync Standby (Doc ID 2179719.1)
- Oracle Far Sync例項Oracle
- Oracle 12c新特性Oracle
- 5 Using Far Sync Instances 使用Far Sync遠端同步例項
- Oracle 12c 新特性(四)Oracle
- Oracle 12c 新特性(三)Oracle
- Oracle 12c 新特性(二)Oracle
- Oracle 12c 新特性(一)Oracle
- Oracle 12C新特性-History命令Oracle
- Oracle 12c 兩個新特性Oracle
- Oracle 12C新特性In-MemoryOracle
- Oracle GoldenGate 12c 新特性OracleGo
- oracle DG 11g新特性彙總Oracle
- Oracle 12c新特性--ASMFD(ASM Filter Driver)特性OracleASMFilter
- Oracle 12c新特性之Sequence的Session特性OracleSession
- Oracle 12c 新特性之 temp undoOracle
- ORACLE 12C新特性——CDB與PDBOracle
- Oracle 12C新特性-RMAN恢復表Oracle
- Oracle 12C 新特性之級聯truncateOracle
- 12c新特性-Oracle Sharding簡介Oracle
- Oracle 12C 新特性之 恢復表Oracle
- Oracle 12c新特性 - Hybrid histogram 3OracleHistogram
- Oracle 12c新特性 - Hybrid histogram 2OracleHistogram
- Oracle 12c新特性 - Hybrid histogram 1OracleHistogram
- Oracle 12c新特性 - Top frequency histogram 3OracleHistogram
- Oracle 12c新特性 - Top frequency histogram 2OracleHistogram
- Oracle 12c新特性 - Top frequency histogram 1OracleHistogram
- Oracle 12c的DG自動同步密碼檔案--ASM 新特性:共享密碼檔案Oracle密碼ASM
- Oracle 11g DG新特性--Automatic block repairOracleBloCAI
- oracle 12c 新特性之不可見欄位Oracle
- oracle 12C 新特性之臨時undo控制Oracle
- Oracle 12C 資料泵新特性測試Oracle
- Oracle NET 12c 新特性 (文件 ID 2102464.1)Oracle
- 開發者必讀:Oracle 12c新特性再總結Oracle
- Oracle 資料庫12c新特性總結(一)Oracle資料庫