GoldenGate在Windows平臺的雙向數據傳輸配置及其測試_第1頁
GoldenGate在Windows平臺的雙向數據傳輸配置及其測試_第2頁
GoldenGate在Windows平臺的雙向數據傳輸配置及其測試_第3頁
GoldenGate在Windows平臺的雙向數據傳輸配置及其測試_第4頁
GoldenGate在Windows平臺的雙向數據傳輸配置及其測試_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——GoldenGate在Windows平臺的雙向數據傳輸配置及其測試

ORACLEGoldenGate在Windows平臺中單向、雙向數據傳輸配置及其測試

2023年12月30日

GoldenGate單向、雙向數據傳輸配置及其測試

文檔修訂歷史版本號0.10.1

第2頁

版本日期2023-12-302023-12-31修改內容摘要初稿完成初稿修訂人蒙昭良蒙昭良GoldenGate單向、雙向數據傳輸配置及其測試

目錄

第1章

1.11.21.3第2章

2.12.2

GoldenGate概述5GoldenGate技術原理5GoldenGate可靠的復制8GoldenGate支持操作系統和數據庫類型8安裝GoldenGate9安裝GoldenGate環境9分別在源數據庫,目標數據庫安裝GoldenGate92.2.1下載GoldenGate92.2.2解壓102.2.3安裝GoldenGate102.2.4同時在目標數據庫安裝GoldenGate11

第3章把源數據庫的數據同步到目標數據庫中11

3.1設置ORACLE_HOME,ORACLE_SID環境變量113.2在源數據庫ora01上開啟歸檔日志及其輔助日志123.3在源數據庫,目標數據庫創立GoldenGateGLOBALS參數文件13

3.3.1在源數據庫創立133.3.2創立Goldengatemanager服務133.3.3在目標數據庫安裝上面步驟創立manager143.4在源數據庫,目標數據庫配置mgr,啟動manager進程14

3.4.1配置manager服務的mgr配置文件143.4.2啟動mgr153.4.3同樣在目標數據庫配置mgr文件153.5測試把源數據庫數據同步到目標數據庫數據庫上16

3.5.1在源數據庫創立test01數據庫用戶163.5.2執行GoldenGate的測試腳本,創立表163.5.3插入數據腳本173.5.4在goldengate中用oracle用戶登陸數據庫173.5.5增加需要傳輸的用戶表183.5.6在目標數據庫創立用戶及其表結構183.6用goldengate中的directload方式導入數據到目標數據庫的test02用戶表上19

3.6.1在源數據庫配置一個extract進程eini01193.6.2在目標數據庫端配置一個replicat進程193.6.3在源數據庫執行初始化過程203.6.4驗證目標數據庫端的test02用戶表數據是否和源數據庫一樣20

第4章把源數據庫的修改數據同步到目標數據庫中21

4.1在源數據庫配置一個EXTRACT進程及配置其文件21

4.1.1配置EXTRACT文件214.1.2在GGSCI.exe增加一個EXTRACT進程224.2配置datapump23

4.2.1在源數據庫端添加一個pump進程234.2.2在源數據庫的ggsci中增加extract進程244.2.3在源數據庫執行RMTTRAIL24

第3頁

GoldenGate單向、雙向數據傳輸配置及其測試

啟動datapumpcaptureprocess24在目標數據庫端配置changedelivery26在目標數據庫中創立goldengate專屬用戶及其表26在目標數據庫配置replicat進程274.6.1在ggsci增加一個replicat進程274.6.2編輯配置replicat文件274.7啟動replicat進程284.8測試檢查同步結果28

4.8.1在源數據庫執行插入數據28

4.34.44.54.6

第5章5.15.25.35.45.55.65.7第6章6.16.26.36.46.56.66.76.86.96.106.116.12第7章7.17.27.37.47.57.67.77.87.97.107.117.12

第4頁

把源數據庫的DDL(表結構)修改同步到目標數據庫中32

在源數據庫端關閉數據庫的回收站32編輯源數據庫參數文件GLOBALS33在源數據庫創立goldengate01用戶,并創立goldengate所需要的表33檢查源數據庫上的表是否安裝好35修改源數據庫配置extract文件35重新啟動extract進程36驗證源數據庫是否可以同步表結構到目標數據庫中36配置源數據庫、目標數據庫的雙向數據傳輸36

關閉目標數據庫回收站,開啟數據庫輔助日志37在源數據庫端添加checkpoint表,實現一致性37在源數據庫增加一個replicat進程38在源數據庫創立一個checkpoint表38編輯配置replicat進程39在目標數據庫端配置GLOBALS文件39在目標數據庫安裝goldengate用戶需要的表39在目標數據庫配置一個extract進程40在目標數據庫端配置一個pump進程40在源數據庫端啟動replicat進程42在目標數據庫中啟動extract、replicat的進程42目標數據庫可以把數據、表結構的修過同步到源數據庫服務器上42備注:44

Oracle官網的下載地址44GoldenGate的GLOBALS配置文件內容44GoldenGate的eiex01配置文件內容44GoldenGate的epmp01配置文件內容44GoldenGate的rora01配置文件內容45GoldenGate的eiexbb配置文件內容45GoldenGate的epmpbb配置文件內容45GoldenGate的rorabb配置文件內容45更改GoldenGate的復制時間點46查看GoldenGate命令格式46查看manager,extract,replicat是否運行47查看goldengate進程的錯誤48GoldenGate單向、雙向數據傳輸配置及其測試

第1章GoldenGate概述

1.1GoldenGate技術原理

Oracle公司的GoldenGateTDM(交易數據管理)軟件是一種基于日志的結構化數據復制軟件,它通過解析源數據庫在線日志或歸檔日志獲得數據的增刪改變化,再將這些變化應用到目標數據庫,實現源數據庫與目標數

據庫同步、雙活。GoldenGateTDM軟件可以在異構的IT基礎結構(包括幾乎所有常用操作系統平臺和數據庫平臺)之間實現大量數據亞秒一級的實時復制,其復制過程簡圖如下:

如上圖所示,GoldenGateTDM的數據復制過程如下:

?利用捕獲進程(CaptureProcess)在源系統端讀取OnlineRedoLog或ArchiveLog,然

后進行解析,只提取其中數據的變化如增、刪、改操作,并將相關信息轉換為GoldenGateTDM自定義的中間格式存放在隊列文件中。再利用傳送進程將隊列文件通過TCP/IP傳送到目標系統。捕獲進程在每次讀完log中的數據變化并在數據傳送到目標系統后,會寫檢查點,記錄當前完成捕獲的log位置,檢查點的存在可以使捕獲進程在中止并恢復后可從檢查點位置繼續復制;

第5頁

GoldenGate單向、雙向數據傳輸配置及其測試

?目標系統接受數據變化并緩存到GoldenGateTDM隊列當中,隊列為一系列臨時存儲數據

變化的文件,等待投遞進程讀取數據;

?GoldenGateTDM投遞進程從隊列中讀取數據變化并創立對應的SQL語句,通過數據庫的

本地接口執行,提交到數據庫成功后更新自己的檢查點,記錄已經完成復制的位置,數據的復制過程最終完成。

由此可見,GoldenGateTDM是一種基于軟件的數據復制方式,它從數據庫的日志解析數據的變化(數據量只有日志的四分之一左右)。GoldenGateTDM將數據變化轉化為自己的格式,直接通過TCP/IP網絡傳輸,無需依靠于數據庫自身的傳遞方式,而且可以通過高達9:1的壓縮率對數據進行壓縮,可以大大降低帶寬需求。在目標端,GoldenGateTDM可以通過交易重組,分批加載等技術手段大大加快數據投遞的速度和效率,降低目標系統的資源占用,可以在亞秒級實現大量數據的復制,并且目標端數據庫是活動的。

GoldenGateTDM提供了靈活的應用方案,基于其先進、靈活的技術架構可以根據用戶需求組成各種拓撲結構,如下圖:

第6頁

GoldenGate單向、雙向數據傳輸配置及其測試

GoldenGateTDM各種拓撲結構示意圖

1、單向數據復制:由一個源數據庫復制到一個目的數據庫,一般用于高可用性和容災,為

生產機保持一個活動的備份數據庫,從而在發生災難的時候迅速切換,減少數據丟失和系統宕機時間;

2、雙向數據復制:利用GoldenGateTDM可以實現兩個數據庫之間數據的雙向復制,任何一

方的數據變化都會被傳遞到另一端,可以利用此模式開展雙業務中心;

3、廣播復制由一個數據庫向多個數據庫復制,利用GoldenGateTDM的數據過濾功能可

以實現數據的有選擇分發;

4、集中復制由多個數據庫向一個數據庫復制,可以將分布的、跨平臺或異構的多個數

據庫集中到一個數據庫。此種模式廣泛應用于n+1模式的容災,通過將多個系統數據庫集中到一起,可以充分利用備份中心的設施,大幅減少投資;另外也用于跨平臺多系統的數據集成,為這些提供系統提供一個統一視圖便于查詢和統計數據。

5、層復制由A數據庫向B復制,同時又由B向C復制,可以在以上幾種模式基礎上無限制

擴展。

第7頁

GoldenGate單向、雙向數據傳輸配置及其測試

由此可見,GoldenGateTDM的復制模式十分靈活,用戶可以根據自己的需求選擇特定的復制方式,并根據系統擴展對復制進行擴展。1.2

GoldenGate可靠的復制

GoldenGateTDM可以提供可靠的數據復制,主要表達在下面三點:

?保證事務一致性

GoldenGateTDM在災備數據庫應用復制數據庫交易的順序與在生產中心數據庫上的順序一致,并且依照一致的事務環境提交,確保在目標系統上數據的完整性和讀一致性,為實時查詢和事務處理創造了條件。

?檢查點機制保障數據無丟失

GoldenGateTDM的抽取和復制進程使用檢查點機制記錄完成復制的位置。對于抽取進程,其檢查點記錄當前已經抽取日志的位置和寫隊列文件的位置;對于投遞進程,其檢查點記錄當前讀取隊列文件的位置。檢查點機制可以保證在系統、網絡或GoldenGateTDM進程故障重啟后數據無丟失。

?可靠的數據傳輸機制

GoldenGateTDM用應答機制傳輸交易數據,只有在得到確認消息后才認為數據傳輸完成,否則將自動重新傳輸數據,從而保證了抽取出的所有數據都能發送到備份端。數據傳輸過程中支持128位加密和數據壓縮功能;

1.3

GoldenGate支持操作系統和數據庫類型

GoldenGateTDM公司的核心產品TransactionalDataManagement(TDM),可以在異構的IT基礎結構之間實現大量數據的秒一級的數據捕獲、轉換和投遞。GoldenGateTDM可以支持幾乎所有常用操作系統如和數據庫平臺,如下表所示:

操作系統MSNT,2000,XP,Linux,SunSolaris,HP-UX,IBMAIX,HPNonStop,TRU64,IBMz/OS,OS/390數據庫Oracle,DB2,MSSQLServer,MySQL,Enscribe,SQL/MP,SQL/MX,Sybase,Teradata,其他ODBC兼容數據庫

第8頁

GoldenGate單向、雙向數據傳輸配置及其測試

第2章安裝GoldenGate

2.1安裝GoldenGate環境

源數據庫平臺:32位Windows2023Oracle10.2.0.1.0版本目標數據庫平臺:32位Windows2023Oracle10.2.0.1.0版本

源數據庫:服務器名稱:源數據庫,ip:10.21.8.50

目標數據庫:服務器名稱:目標數據庫,ip:10.21.8.51

源數據庫:歸檔模式,ORACLE_SID:ora01用戶:test01goldengate專屬用戶:goldengate01

目標數據庫:歸檔模式,ORACLE_SID:ora02用戶:test02goldengate專屬用戶:goldengate2.2

分別在源數據庫,目標數據庫安裝GoldenGate

2.2.1下載GoldenGate

在源數據庫下操作,windows的GoldenGate比較小,只有8.37M。如下圖:

第9頁

GoldenGate單向、雙向數據傳輸配置及其測試

2.2.2解壓

2.2.3安裝GoldenGate

官方文檔要求用administrator權限安裝(需要系統管理員的權限)雙擊F:\\GoldenGate\\V18162-01\\目錄下的ggsci.exeGGSCI(源數據庫)1>CREATESUBDIRS

然后退出:

GGSCI(源數據庫)2>EXIT

第10頁

GoldenGate單向、雙向數據傳輸配置及其測試

2.2.4同時在目標數據庫安裝GoldenGate

在目標數據庫下執行上面的步驟操作,進行安裝GoldenGate

第3章把源數據庫的數據同步到目標數據庫中

3.1設置ORACLE_HOME,ORACLE_SID環境變量

假使源數據庫、目標數據庫有多個Oracle數據庫實例,需要在系統中分別設置ORACLE_HOME,ORACLE_SID.

如“我的電腦〞右鍵“屬性〞,選擇“高級〞——》“環境變量〞進行添加ORACLE_HOME,ORACLE_SID。如下圖:

第11頁

GoldenGate單向、雙向數據傳輸配置及其測試

3.2在源數據庫ora01上開啟歸檔日志及其輔助日志

SQL>archiveloglist;--確認數據庫為歸檔日志

Sql>alterdatabaseaddsupplementallogdata;Sql>altersystemswitchlogfile;

Sql>exit

第12頁

GoldenGate單向、雙向數據傳輸配置及其測試

3.3在源數據庫,目標數據庫創立GoldenGateGLOBALS參數文件

3.3.1在源數據庫創立

雙擊ggsci.exe

GGSCI>editparams./GLOBALS內容:MGRSERVNAMEmgrtest01

3.3.2創立Goldengatemanager服務>INSTALLADDSERVICEADDEVENTS

創立后,如下圖

第13頁

GoldenGate單向、雙向數據傳輸配置及其測試

3.3.3在目標數據庫安裝上面步驟創立manager

在目標數據庫也執行上面的操作,把MGRSERVNAME中的“mgrtest01〞改成“MGRSERVNAMEmgrtest02〞如下圖:

3.4

在源數據庫,目標數據庫配置mgr,啟動manager進程

3.4.1配置manager服務的mgr配置文件

在源數據庫,雙擊ggsci.exe

源數據庫的端口暫時給8001,目標數據庫的端口設置為8002

GGSCI>EDITPARAMSMGR內容為:PORT8001

第14頁

GoldenGate單向、雙向數據傳輸配置及其測試

3.4.2啟動mgr

如下圖:manager的“mgrtest01〞已經啟動

3.4.3同樣在目標數據庫配置mgr文件

在目標數據庫端執行上面的步驟操作,把PORT改成8002

第15頁

GoldenGate單向、雙向數據傳輸配置及其測試

3.5測試把源數據庫數據同步到目標數據庫數據庫上

3.5.1在源數據庫創立test01數據庫用戶

3.5.2執行GoldenGate的測試腳本,創立表

第16頁

GoldenGate單向、雙向數據傳輸配置及其測試

3.5.3插入數據腳本

3.5.4在goldengate中用oracle用戶登陸數據庫雙擊ggsci.exe

出現這個錯誤有可能是test01用戶沒有dba的權限

進入數據庫中,把權限賦予給test01SQL>grantdbatotest01;

下面就可以登陸了

第17頁

GoldenGate單向、雙向數據傳輸配置及其測試

3.5.5增加需要傳輸的用戶表

需要把test01用戶的tcustmer、tcustord表的數據傳輸到目標數據庫服務器的test02用戶上

3.5.6在目標數據庫創立用戶及其表結構

在目標數據庫端創立test02用戶,創立tcustmer、tcustord兩個表的結構

第18頁

GoldenGate單向、雙向數據傳輸配置及其測試

SQL>conntest02/test02

SQL>@F:\\GoldenGate\\V18162-01\\demo_ora_create.sql3.6

3.6.1在源數據庫配置一個extract進程eini01

用goldengate中的directload方式導入數據到目標數據庫的test02用戶表上

3.6.2在目標數據庫端配置一個replicat進程

第19頁

GoldenGate單向、雙向數據傳輸配置及其測試

3.6.3在源數據庫執行初始化過程

GGSCI>startextracteini01

該進程會自動啟動目標數據庫端的replicatrini01進程。

在ggsci.exe查看源數據庫中的傳輸是否有錯viewreporteini01

在ggsci.exe查看目標數據庫中的是否有錯:viewreportrini01

3.6.4驗證目標數據庫端的test02用戶表數據是否和源數據庫一樣

第20頁

GoldenGate單向、雙向數據傳輸配置及其測試

第4章把源數據庫的修改數據同步到目標數據庫中

4.1

在源數據庫配置一個EXTRACT進程及配置其文件

4.1.1配置EXTRACT文件

和初始化數據一樣,先配置一個extract進程GGSCI>EDITPARAMeiex01

第21頁

GoldenGate單向、雙向數據傳輸配置及其測試

4.1.2在GGSCI.exe增加一個EXTRACT進程

GGSCI>ADDEXTRACTeiex01,TRANLOG,BEGINNOW

GGSCI>ADDEXTTRAIL./dirdat/tt,EXTRACTeiex01,MEGABYTES5

第22頁

GoldenGate單向、雙向數據傳輸配置及其測試

4.2

4.2.1在源數據庫端添加一個pump進程

配置datapump

第23頁

GoldenGate單向、雙向數據傳輸配置及其測試

4.2.2在源數據庫的ggsci中增加extract進程

其作用為讀取本地trail文件到目標端trail文件

GGSCI>ADDEXTRACTepmp01,EXTTRAILSOURCE./dirdat/tt添加進程并通過EXTTRAILSOURCE說明本地trail文件存放地。

4.2.3在源數據庫執行RMTTRAIL

GGSCI>ADDRMTTRAIL./dirdat/tt,EXTRACTepmp01,MEGABYTES5告訴其目標數據庫trail文件地點4.3

啟動datapumpcaptureprocess

GGSCI>STARTEXTRACTeiex01GGSCI>STARTEXTRACTepmp01GGSCI>infoall

發現extracteiex01不能啟動,

用viewreporteiex01查看具體原因,錯誤如下

第24頁

GoldenGate單向、雙向數據傳輸配置及其測試

把源數據庫的recyclebin參數改成false

SQL>showparameterrecyclebin

NAMETYPEVALUE

recyclebinstringonSQL>altersystemsetrecyclebin=off;

系統已更改。

再啟動eiex01進程

第25頁

GoldenGate單向、雙向數據傳輸配置及其測試

4.4在目標數據庫端配置changedelivery

在目標數據庫的全局文件中添加checkpoint表,用來實現一致性的

4.5

在目標數據庫中創立goldengate專屬用戶及其表

第26頁

GoldenGate單向、雙向數據傳輸配置及其測試

4.6在目標數據庫配置replicat進程

4.6.1在ggsci增加一個replicat進程

GGSCI(omstest02)79>dbloginuseridtest02@ora02,passwordtest02Successfullyloggedintodatabase.

GGSCI(omstest02)80>addreplicatrora01,CHECKPOINTTABLEgoldengate.ggs_checkpoint,EXTTRAIL./dirdat/ttREPLICATadded.

4.6.2編輯配置replicat文件

GGSCI(omstest02)80>editparamsrora01

第27頁

GoldenGate單向、雙向數據傳輸配置及其測試

4.7啟動replicat進程

4.8

測試檢查同步結果

4.8.1在源數據庫執行插入數據SQL>@demo_ora_misc生成數據

第28頁

GoldenGate單向、雙向數據傳輸配置及其測試

查看ggserr.log出錯

2023-12-2411:04:01GGSINFO374OracleGoldenGateCommandInterpreterforOracle:ggscireceivedwindowclosedevent.

可以查看源數據庫的eiex01,epmp01進程信息和目標數據庫的rora01進程信息如圖

Rora01進程異常具體信息

修改useridgoldengate,passwordgoldengate修改成useridtest02@ora02,passwordtest02

第29頁

GoldenGate單向、雙向數據傳輸配置及其測試

如圖:出錯

錯誤如下圖:

第30頁

showparameterrecycle

NAMETYPEVALUE

buffer_pool_recyclestring

db_recycle_cache_sizebiginteger0recyclebinstringOFF

第32頁

GoldenGate單向、雙向數據傳輸配置及其測試

5.2編輯源數據庫參數文件GLOBALS

5.3

在源數據庫創立goldengate01用戶,并創立goldengate所需要的表

SQL>grantconnect,resourcetogoldengate01;在sys用戶執行

sqlplus>@marker_setup--選擇方才創立的用戶goldengate01

第33頁

GoldenGate單向、雙向數據傳輸配置及其測試

sqlplus>@ddl_setup--選擇goldengate01然后選擇INITIALSETUP,再然后選擇yessqlplus>@role_setup--選擇goldengate01sqlplus>@ddl_enable

第34頁

GoldenGate單向、雙向數據傳輸配置及其測試

5.4檢查源數據庫上的表是否安裝好

5.5

修改源數據庫配置extract文件

GGSCI>editparamseiex01

在文件中加上ddl關鍵字,如下圖:

第35頁

GoldenGate單向、雙向數據傳輸配置及其測試

5.6重新啟動extract進程

修改了eiex01配置文件,需要關閉該進程,再啟動

5.7

驗證源數據庫是否可以同步表結構到目標數據庫中

在目標數據庫查看該表結構,也已經增加上該字段。

第6章配置源數據庫、目標數據庫的雙向數據傳輸

在上面單向DDL、DML傳輸的基礎上配置雙向DDL、DML

第36頁

GoldenGate單向、雙向數據傳輸配置及其測試

6.1關閉目標數據庫回收站,開啟數據庫輔助日志

6.2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論