GoldenGate 12.2已經提供下載,增加了不少新特性
1. 異構配置加強
不在需要sourceDefs和AssumeTargetDefs文件,在隊列文件中已經包含metadata信息,比如table name, column name, column type等,進一步降低OGG在異構環境下配置的工作量;
2. 內置心跳表
在早期的OGG版本中,如果要監控進程的延遲狀態,需要手工創建心跳表,現在通過配置就可以啟用心跳表監控功能,
在GGSCI中add heartBeatTable即可。此時,會自動創建心跳配置表和視圖,所有OGG進程默認每60秒更新一次數據。創建的其中一個視圖是GG_LAG,里面有一個字段Incoming_LAG,可以看到本地DB提交時間和遠端DB投遞時的延時;同時,也支持雙向復制,里面有一個outGoing_Lag字段,可以看到源DB產生心跳時間及目標DB接收到心跳時間的時間差。GG_HEARTBEAT是主要的配置表,其它視圖基本上根據此表創建,里面有記錄各組件的延遲信息,包括抽取、傳輸和投遞進程。因此,很容易通過分析此表的信息就可以知道性能瓶頸在哪。歷史延遲和心跳信息保存在GG_LAG_HISTORY和GG_HEARTBEAT_HISTORY表中。
3. 參數文件校驗及運行時獲取環境參數 - chkprm, info param, getParamInfo。
在12.2中,啟動進程之前,可以使用checkprm檢查參數的合法性;
info param可以返回一個進程的多個信息,包括默認值,合法的取值范圍等,相當於在GGSCI中查看OGG的在線幫助;
當一個進程在運行時,可以使用send procname getParamInfo查看進程運行時的環境參數,不僅是進程中包含的參數,還包括進程運行需要的其它環境參數等信息,特別是可以查看一些運行時默認設置的參數變量。
4. 加強的數據測量和性能監控。
ogg 12.2可以通過RESTFUL web service,支持對抽取、傳輸和投遞進程的實時度量。針對抽取和投遞進程的實時數據庫及隊列統計,針對傳輸進程的隊列和網絡統計。訪問方式如下:
http://<hostname>:<manager port>/groups
前提是需要在GLOBALS文件中添加ENABLEMONITORING參數。並在GGSCI中create datastore.
5. GoldenGate Studio
在12.2中,有一個工具平台叫GoldenGate STUDIO,一個圖形化的界面,幫助快速配置和部署OGG。通過鼠標點擊和拖拉實現OGG部署,而不用關心底層細節。OGG studio的思路是,首先會有一個項目,然后里面包括多個解決方案,每個解決方案包括多個邏輯設計及多種物理部署。OGG studio默認已經帶了多個開箱即用的方案模板,比如級聯、雙向、單向、一對多等復制拓撲,方便更快速的OGG部署。最后,OGG studio允許設計一次,即可部署到多套環境中,比如開發、測試、QA、生產等,只需要一鍵點擊即可部署。
6. GoldenGate 雲服務
OGG雲服務會是公開的、基於雲平台提供訂閱或按小時服務。OGG雲服務可以幫助企業在內網和雲平台之間進行實時數據復制,包括oracle db和非oracle db。同時ogg雲服務也支持投遞數據到Hadoop或NoSQL等大數據平台。
7. 9位數字的隊列文件。
在12.2中,默認創建的隊列文件是9位數字,而不是以前版本的6位。這樣,隊列文件的數量提高了1000倍,相當於每個隊列前綴支持10億個文件。同時,可以更新現有的6位文件格式到9位,使用安裝目錄下的convchk程序即可;當然,也可以在GLOBALS中添加TRAIL_SEQLEN_6D參數,以提供后向兼容功能,即只有6位數字。
8. 改進的隊列文件修復技術。
在早期的OGG版本中,如果一個隊列文件丟失或損壞,則投遞進程失敗。在12.2中,如果隊列文件有損壞或丟失,則可以重啟傳輸進程,此時,會重建隊列文件;同樣的原理,也可以通過抽取進程重建源端的隊列文件。投遞進程會自動過濾掉已經投遞過的重復記錄。
針對Oracle數據庫
1. 與Oracle RAC無縫集成。
在早期的OGG版本中,使用Grid Infrastructure Agent (XAG)在RAC中提供高可用,必須使用AGCTL控制OGG的啟動和停止,而不能在GGSCI中使用start/stop命令。在12.2中,一旦使用AGCTL命令向RAC注冊了OGG實例,我們仍然可以在GGSCI中使用start/stop命令。同時,GLOBALS參數中可以使用一個新的參數:XAG_ENABLE。
2. 新增同步表與datapump集成。
在早期的OGG版本中,如果要新增同步的表,需要從v$database中獲取current_SCN值,然后在expdb中將SCN傳遞給flashback_scn參數,然后再使用start replicat, aftercsn xxx。在12.2中,add trandata或add schemaTrandata會自動將這些表的狀態准備好。expdp在導出時,會添加SCN到對應的表中,此時,只需要在replicat進程使用DBOPTIONS_ENABLE_INSTANTIATION_FILTERING參數,即可自動過濾SCN之前的DML和DDL操作。
3. 支持invisible(不可見)列。
OGG 12.2中新的MAPINVISIBLECOLUMNS參數,使用集成抽取支持oracle db中不可見列的數據復制。
4. 支持DDL同步中源和目標的表結構不同
在舊版本的OGG中,如果要進行DDL同步,兩端的表結構必須相同,而在最新的12.2中,允許源和目標端的表結構不同,而且支持2個以上的DB進行DDL同步。當然,DDL的同步仍然只支持ora-ora, teradata-teradata.
針對SQL Server
支持從遠端只讀歸檔(ALO)捕獲數據
SQL Server標准版的捕獲及投遞
SQL Server 2014 Compressed Log backups
支持在字段級別指定字符集
針對Teradata
Replicat進程現在可以處理truncates操作
支持在字段級別指定字符集Column level character sets
該版本以后的OGG不再支持從Teradata捕獲數據
針對DB2 LUW
支持在字段級別指定字符集
臨時表支持
1. 異構配置加強
不在需要sourceDefs和AssumeTargetDefs文件,在隊列文件中已經包含metadata信息,比如table name, column name, column type等,進一步降低OGG在異構環境下配置的工作量;
2. 內置心跳表
在早期的OGG版本中,如果要監控進程的延遲狀態,需要手工創建心跳表,現在通過配置就可以啟用心跳表監控功能,
在GGSCI中add heartBeatTable即可。此時,會自動創建心跳配置表和視圖,所有OGG進程默認每60秒更新一次數據。創建的其中一個視圖是GG_LAG,里面有一個字段Incoming_LAG,可以看到本地DB提交時間和遠端DB投遞時的延時;同時,也支持雙向復制,里面有一個outGoing_Lag字段,可以看到源DB產生心跳時間及目標DB接收到心跳時間的時間差。GG_HEARTBEAT是主要的配置表,其它視圖基本上根據此表創建,里面有記錄各組件的延遲信息,包括抽取、傳輸和投遞進程。因此,很容易通過分析此表的信息就可以知道性能瓶頸在哪。歷史延遲和心跳信息保存在GG_LAG_HISTORY和GG_HEARTBEAT_HISTORY表中。
3. 參數文件校驗及運行時獲取環境參數 - chkprm, info param, getParamInfo。
在12.2中,啟動進程之前,可以使用checkprm檢查參數的合法性;
info param可以返回一個進程的多個信息,包括默認值,合法的取值范圍等,相當於在GGSCI中查看OGG的在線幫助;
當一個進程在運行時,可以使用send procname getParamInfo查看進程運行時的環境參數,不僅是進程中包含的參數,還包括進程運行需要的其它環境參數等信息,特別是可以查看一些運行時默認設置的參數變量。
4. 加強的數據測量和性能監控。
ogg 12.2可以通過RESTFUL web service,支持對抽取、傳輸和投遞進程的實時度量。針對抽取和投遞進程的實時數據庫及隊列統計,針對傳輸進程的隊列和網絡統計。訪問方式如下:
http://<hostname>:<manager port>/groups
前提是需要在GLOBALS文件中添加ENABLEMONITORING參數。並在GGSCI中create datastore.
5. GoldenGate Studio
在12.2中,有一個工具平台叫GoldenGate STUDIO,一個圖形化的界面,幫助快速配置和部署OGG。通過鼠標點擊和拖拉實現OGG部署,而不用關心底層細節。OGG studio的思路是,首先會有一個項目,然后里面包括多個解決方案,每個解決方案包括多個邏輯設計及多種物理部署。OGG studio默認已經帶了多個開箱即用的方案模板,比如級聯、雙向、單向、一對多等復制拓撲,方便更快速的OGG部署。最后,OGG studio允許設計一次,即可部署到多套環境中,比如開發、測試、QA、生產等,只需要一鍵點擊即可部署。
6. GoldenGate 雲服務
OGG雲服務會是公開的、基於雲平台提供訂閱或按小時服務。OGG雲服務可以幫助企業在內網和雲平台之間進行實時數據復制,包括oracle db和非oracle db。同時ogg雲服務也支持投遞數據到Hadoop或NoSQL等大數據平台。
7. 9位數字的隊列文件。
在12.2中,默認創建的隊列文件是9位數字,而不是以前版本的6位。這樣,隊列文件的數量提高了1000倍,相當於每個隊列前綴支持10億個文件。同時,可以更新現有的6位文件格式到9位,使用安裝目錄下的convchk程序即可;當然,也可以在GLOBALS中添加TRAIL_SEQLEN_6D參數,以提供后向兼容功能,即只有6位數字。
8. 改進的隊列文件修復技術。
在早期的OGG版本中,如果一個隊列文件丟失或損壞,則投遞進程失敗。在12.2中,如果隊列文件有損壞或丟失,則可以重啟傳輸進程,此時,會重建隊列文件;同樣的原理,也可以通過抽取進程重建源端的隊列文件。投遞進程會自動過濾掉已經投遞過的重復記錄。
針對Oracle數據庫
1. 與Oracle RAC無縫集成。
在早期的OGG版本中,使用Grid Infrastructure Agent (XAG)在RAC中提供高可用,必須使用AGCTL控制OGG的啟動和停止,而不能在GGSCI中使用start/stop命令。在12.2中,一旦使用AGCTL命令向RAC注冊了OGG實例,我們仍然可以在GGSCI中使用start/stop命令。同時,GLOBALS參數中可以使用一個新的參數:XAG_ENABLE。
2. 新增同步表與datapump集成。
在早期的OGG版本中,如果要新增同步的表,需要從v$database中獲取current_SCN值,然后在expdb中將SCN傳遞給flashback_scn參數,然后再使用start replicat, aftercsn xxx。在12.2中,add trandata或add schemaTrandata會自動將這些表的狀態准備好。expdp在導出時,會添加SCN到對應的表中,此時,只需要在replicat進程使用DBOPTIONS_ENABLE_INSTANTIATION_FILTERING參數,即可自動過濾SCN之前的DML和DDL操作。
3. 支持invisible(不可見)列。
OGG 12.2中新的MAPINVISIBLECOLUMNS參數,使用集成抽取支持oracle db中不可見列的數據復制。
4. 支持DDL同步中源和目標的表結構不同
在舊版本的OGG中,如果要進行DDL同步,兩端的表結構必須相同,而在最新的12.2中,允許源和目標端的表結構不同,而且支持2個以上的DB進行DDL同步。當然,DDL的同步仍然只支持ora-ora, teradata-teradata.
針對SQL Server
支持從遠端只讀歸檔(ALO)捕獲數據
SQL Server標准版的捕獲及投遞
SQL Server 2014 Compressed Log backups
支持在字段級別指定字符集
針對Teradata
Replicat進程現在可以處理truncates操作
支持在字段級別指定字符集Column level character sets
該版本以后的OGG不再支持從Teradata捕獲數據
針對DB2 LUW
支持在字段級別指定字符集
臨時表支持
