windows下安裝Oracle GoldenGate(雙機熱備與主從複製的區別)__Oracle

來源:互聯網
上載者:User

Oracle GoldenGate測試文檔

 

 

1.Oracle GoldenGate介紹 1

2.Oracle GoldenGate For Oracle(windows平台)安裝 5

3.資料庫複寫實施文檔(DML) 7

3.1準備工作 7

3.2配置GoldenGate 8

3.2.1配置SourceDB的GoldenGate 8

3.2.2配置TargetDB的GoldenGate 9

3.3測試DML操作 11

4.GoldenGate Support DDL安裝 15

5.玩玩GoldenGate 23

 

 

雙機熱備與主從複製的區別: 雙機熱備由兩台電腦和一個共用存放裝置構成,通過第三方軟體(HA Rose等)實現切換,不需要做資料同步 1.Oracle GoldenGate介紹

GoldenGate TDM(交易資料管理)軟體是一種基於日誌的結構化資料複製軟體,它通過解析來源資料庫線上日誌或歸檔日誌獲得資料的增刪改變化,再將這些變化應用到目標資料庫,實現來源資料庫與目標資料庫同步、雙活。GoldenGate TDM軟體可以在異構的IT基礎結構(包括幾乎所有常用作業系統平台和資料庫平台)之間實現大量資料亞秒一級的即時複製,其複製過程簡圖如下: 

 

如上圖所示,GoldenGate TDM的資料複製過程如下: 

利用捕捉進程(Capture Process)在源系統端讀取Online Redo Log或Archive Log,然後進行解析,只提取其中資料的變化如增、刪、改操作,並將相關資訊轉換為GoldenGate TDM自訂的中間格式存放在隊列檔案中。再利用傳送進程將隊列檔案通過TCP/IP傳送到目標系統。捕捉進程在每次讀完log中的資料變化並在資料傳送到目標系統後,會寫檢查點,記錄當前完成捕捉的log位置,檢查點的存在可以使捕捉進程在中止並恢複後可從檢查點位置繼續複製; 

目標系統接受資料變化並緩衝到GoldenGate TDM隊列當中,隊列為一系列臨時儲存資料變化的檔案,等待投遞進程讀取資料; 

GoldenGate TDM投遞進程從隊列中讀取資料變化並建立對應的SQL語句,通過資料庫的本地介面執行,提交到資料庫成功後更新自己的檢查點,記錄已經完成複製的位置,資料的複製過程最終完成。 

 

由此可見,GoldenGate TDM是一種基於軟體的資料複製方式,它從資料庫的日誌解析資料的變化(資料量只有日誌的四分之一左右)。GoldenGate TDM將資料變化轉化為自己的格式,直接通過TCP/IP網路傳輸,無需依賴於資料庫自身的傳遞方式,而且可以通過高達9:1的壓縮率對資料進行壓縮,可以大大降低頻寬需求。在目標端,GoldenGate TDM可以通過交易重組,分批載入等技術手段大大加快資料投遞的速度和效率,降低目標系統的資源佔用,可以在亞秒級實現大量資料的複製,並且目標端資料庫是活動的

GoldenGate TDM提供了靈活的應用方案,基於其先進、靈活的技術架構可以根據使用者需求組成各種拓撲結構,如圖所示: 

 

GoldenGate TDM 可以提供可靠的資料複製,主要體現在下面三點: 

保證事務一致性

GoldenGate TDM 在災備資料庫應用複製資料庫交易的順序與在生產中樞資料庫上的順序相同,並且按照相同的事務環境提交,確保在目標系統上資料的完整性和讀一致性,為即時查詢和交易處理創造了條件。 

檢查點機制保障資料無丟失

GoldenGate TDM的抽取和複製進程使用檢查點機制記錄完成複製的位置。對於抽取進程,其檢查點記錄當前已經抽取日誌的位置和寫隊列檔案的位置;對於投遞進程,其檢查點記錄當前讀取隊列檔案的位置。檢查點機制可以保證在系統、網路或GoldenGate TDM進程故障重啟後資料無丟失。 

可靠的資料轉送機制

GoldenGate TDM 用應答機制傳輸交易資料,只有在得到確認訊息後才認為資料轉送完成,否則將自動重新傳輸資料,從而保證了抽取出的所有資料都能發送到備份端。資料轉送過程中支援128位加密和資料壓縮功能。

 

Oracle 公司的GoldenGate產品,可以在異構的IT基礎結構之間實現大量資料的秒一級的資料捕捉、轉換和投遞。GoldenGate可以支援幾乎所有常用作業系統如和資料庫平台,如下表所示: 

 

作業系統 

資料庫 

MS NT, 2000, XP, Linux, Sun Solaris, HP-UX, IBM AIX, HP NonStop, TRU64, IBM z/OS,OS/390

Oracle, DB2, MS SQL Server, MySQL, Enscribe, SQL/MP, SQL/MX, Sybase, Teradata,其他ODBC相容資料庫 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  2.Oracle GoldenGate For Oracle(windows平台)安裝

GoldenGate 的安裝非常簡單,將解壓縮安裝檔案到指定目錄。比如安裝檔案解壓縮後的路徑為d:\ggs

安裝步驟如下:

1. 進入命令列

2. 切換到ggs目錄下

3. 輸入命令   install addservice addevents

4. 輸入ggsci進入GoldenGate的命令列

5. 輸入 create subdirs

     OK,GoldenGate安裝就已經完成了。

實際操作如下

C:\Documents and Settings\PONY>d:

 

D:\>cd ggs

 

D:\ggs>install addservice addevents

 

Oracle GoldenGate messages installed successfully.

Service 'GGSMGR' created.

 

 

Install program terminated normally.

 

 

D:\ggs>ggsci

 

Oracle GoldenGate Command Interpreter for Oracle

Version 10.4.0.19 Build 002

Windows (optimized), Oracle 10 on Sep 18 2009 15:54:55

 

Copyright (C) 1995, 2009, Oracle and/or its affiliates.  All rights reserved.

 

 

 

GGSCI (PONY) 1> create subdirs

 

Creating subdirectories under current directory D:\ggs

 

Parameter files                D:\ggs\dirprm: created

Report files                   D:\ggs\dirrpt: created

Checkpoint files               D:\ggs\dirchk: created

Process status files           D:\ggs\dirpcs: created

SQL script files               D:\ggs\dirsql: created

Database definitions files     D:\ggs\dirdef: created

Extract data files             D:\ggs\dirdat: created

Temporary files                D:\ggs\dirtmp: created

Veridata files                 D:\ggs\dirver: created

Veridata Lock files            D:\ggs\dirver\lock: created

Veridata Out-Of-Sync files     D:\ggs\dirver\oos: created

Veridata Out-Of-Sync XML files D:\ggs\dirver\oosxml: created

Veridata Parameter files       D:\ggs\dirver\params: created

Veridata Report files          D:\ggs\dirver\report: created

Veridata Status files          D:\ggs\dirver\status: created

Veridata Trace files           D:\ggs\dirver\trace: created

Stdout files                   D:\ggs\dirout: created

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  3.資料庫複寫實施文檔(DML) 3.1準備工作

◆準備兩台機器,分別為SourceDB, TargetDB,通過TCP/IP網路進行互連

SourceDB :WIN XP環境,Oracle 10g 10.2.0.1.0

TargetDB :WIN 2003 環境 Oracle 10g 10.2.0.1.0

◆必須保證SourceDB是運行在歸檔模式下。

◆目的 :將SourceDB中相關Schema中的資料同步複製到TargetDB相對應的Sechema中

本文中要同步的是SouceDB中的SAJET,SJ,SMT,LANG到Target中的SAJET,SJ,SMT,LANG使用者下

◆首先要保持SourceD, TargetDB相關Schema中的初始資料一致,可以通過Exp/Imp,Rman,冷備等方式實現.

◆雙方DB建立GoldenGate使用者,賦予DBA許可權,用於GoldenGate串連DB.

◆雙方DB安裝GoldenGate,安裝方式如第二章節所示

◆SourceDB必須開始最小附加記錄模式

通過以下語句查看DB是否開啟了最小附加記錄模式

SQL> select SUPPLEMENTAL_LOG_DATA_MIN from v$database;

SUPPLEME
--------
YES

如果沒有開啟資料庫的最小附加日誌,則通過以下語句開啟

SQL>alter database add supplemental log data;

 

◆ 開啟表的最小附加日誌,通過GoldenGate命令列來添加

GGSCI (PONY) 1> dblogin userid sajet password tech

Successfully logged into database.

 

GGSCI (PONY) 2> add trandata sajet.*

第一條命令表示登入到Database

第二條命令表示添加Sajet使用者下所有表的最小附加日誌

同樣的命令開啟SJ,LANG,SMT使用者下的表的最小附加日誌。

  3.2配置GoldenGate 3.2.1配置SourceDB的GoldenGate(兩個進程)

SourceDB端需要配置mgr進程,添加一個extract進程,和一個遠端隊列。

1.配置mgr參數

GGSCI (PONY) 2> edit param mgr

此時系統自動會建立一個名為mgr的參數檔案,填入以下內容後儲存

PORT 7809   

--mgr進程使用的TCP/IP連接埠偵聽請求

2.新增一個抽取進程,在GGSCI命令列中輸入如下命令:

GGSCI (PONY) 1> add extract ext1,tranlog,begin now 

EXTRACT added.

---新增一個抽取進程,負責抓取SourceDB中變化的資料,基於日誌方式,立即生效

3.配置抽取進程

GGSCI (PONY) 2> edit param ext1

此時系統會自動建立一個名為ext1的參數檔案,填入以下內容後儲存

extract ext1

userid goldengate,password goldengate

rmthost 172.17.17.61, mgrport 7809

rmttrail d:\ggs\dirdat\r1

dynamicresolution

gettruncates

table sajet.*;

table sj.*;

table smt.*;

table lang.*;

 

 

 

--

抽取進程名為 ext2

串連本機DB的帳號和密碼

遠程主機地址以及服務連接埠號碼(TargetDB)

遠程隊列的位置(TargetDB)

最佳化參數,動態分析表結構

是否抓取Truncate的資料

需要抽取哪些table。

 

4.新增遠端隊列位置

GGSCI (PONY) 3> add rmttrail d:\ggs\dirdat\r1 extract ext2

RMTTRAIL added.

 

--

新增一個遠程隊列,位置為在TargetDB的d:\ggs\dirdat\r1,是抽取進程ext1抽取的資料隊列,注意和抽取進程中配置的rmttrail d:\ggs\dirdat\r1一致。

開啟所有進程

GGSCI (PONY) 11> start mgr

 

Starting Manager as service ('GGSMGR')...

Service started.

 

GGSCI (PONY) 14> start ext1

 

Sending START request to MANAGER ('GGSMGR') ...

EXTRACT EXT1 starting

 

查看進程的運行情況

 

GGSCI (PONY) 185> info all

 

Program     Status      Group       Lag           Time Since Chkpt

 

MANAGER     RUNNING

EXTRACT     RUNNING     EXT1        00:00:00      00:00:06

 

OK,Mgr進程和EXT進程都已經正常運行

SouceDB端的配置完成。

 

  3.2.2 配置TargetDB的GoldenGate(兩個進程)

1.配置mgr參數

GGSCI (PONY) 2> edit param mgr

此時系統自動會建立一個mgr的參數檔案,填入以下內容後儲存

PORT 7809 

DYNAMICPORTLIST 7840-7850  

--mgr進程使用的TCP/IP連接埠偵聽請求

 接受遠端隊列的連接埠列表。

 

2.新增一個複製進程

GGSCI (PONY) 2>ADD replicat rep1 EXTTRAIL d:\ggs\dirdat\r1, nodbcheckpoint

 

--新增一個複製進程,將抽取到隊列中的檔案解析後寫進TargetDB

 

3.配置複製進程

GGSCI (PONY) 2> edit param rep1

此時系統會自動建立一個參數檔案,填入一下內容後儲存

 

replicat rep1

userid goldengate,password goldengate

assumetargetdefs

reperror default,discard

discardfile D:\oradata\discard\repsz.dsc,append,megabytes 100

gettruncate

map sajet.*, target sajet.*;

map sj.*, target sj.*;

map lang.*, target lang.*;

map smt.*, target smt.*;

 

 

--複製進程名

 登入TargetDB的帳號和密碼

 兩台DB資料結構一致則使用此參數

 如果複製出錯,則繼續,並將錯誤放進discardfile中

 複製truncate操作

複製的源表為sajet,sj,lang,smt使用者下的所有表,目標為TargetDB中對用使用者下的所有表

 

開啟mgr和rep進程

GGSCI (PONY) 20> start mgr

 

Starting Manager as service ('GGSMGR')...

Service started.

 

 

GGSCI (PONY) 21> start rep1

 

Sending START request to MANAGER ('GGSMGR') ...

REPLICAT REP1 starting

 

 

查看進程的運行情況

GGSCI (PONY) 22> info all

 

Program     Status      Group       Lag           Time Since Chkpt

 

MANAGER     RUNNING

REPLICAT    RUNNING     REP1        00:00:00      00:00:07

 

OK,MGR進程和REP進程運行正常

 

至此,兩台DB的GoldenGate都已經配置完成。

 

  3.3 測試DML操作

首先往SourceDB中插入一行

C:\Documents and Settings\Administrator>sqlplus

 

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Mar 8 15:33:47 2010

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

Enter user-name: sajet/tech@hitron

 

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.