1. 程式人生 > >Oracle 11G GoldenGate實現Windows與Windows之間的單向同步

Oracle 11G GoldenGate實現Windows與Windows之間的單向同步

replicat .sql microsoft 操作系統 登錄 trail schema user 宋體

Oracle GoldenGate實現WindowsWindows之間的單向同步

本次實驗都是在win環境進行,目的通過GoldenGate實現WindowsWindows之間的單向同步進行對源庫復制備份。

實驗環境說明

操作系統:Windows 2008 R2

數據庫:oracle 11.2.0.1.0

GoldenGate11.2.1.0.3 for Microsoft Windows x64

下載地址:http://down.51cto.com/data/2448081

一、安裝前環境檢查(source端與target端安裝相同):

1、 檢查數據庫配置情況

檢查歸檔模式、附加日誌、強制日誌參數是否開啟。

SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;

技術分享圖片

默認情況下歸檔模式、附加日誌、強制日誌參數是關閉的。

啟動歸檔模式、附加日誌、強制日誌。其中開啟歸檔模式需要重啟數據庫,開啟附加日誌、強制日誌不需要重啟數據庫。

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter database archivelog;

SQL> alter database force logging;

SQL> alter database add supplemental log data;

SQL> alter database open;

技術分享圖片

二、安裝GoldenGate

1 首先將Oracle GoldenGate 11.2.1.0.3 for Microsoft Windows x64 (64-bit)拷貝到並解壓縮到D:\app\Administrator\目錄下(該路徑可以根據需要自行選擇),解壓完成後將目錄名改為ogg

2 進入D:\app\Administrator\ogg\目錄,運行ggsci,進入ogg管理控制臺。

技術分享圖片

3 ogg控制臺輸入命令:create subdirs,讓ogg創建其需要用到的目錄

技術分享圖片

4 D:\app\Administrator\ogg目錄下的

category.dllggsmsg.dll文件拷貝到SYSTEM32目錄中。

5 手工在ogg目錄下創建discard文件夾:md discard

6 Oracle中創建GoldenGate專屬用戶ogg,要先創建獨立的表空間給ogg用戶,否則後面安裝會報錯;

D:\app\Administrator\ogg>sqlplus / as sysdba

SQL> create tablespace ogg_tbs datafile 'd:\app\administrator\oradata\hwprod\ogg_tbs01.dbf' size 1024M;

SQL> alter tablespace ogg_tbs add datafile 'd:\app\administrator\oradata\hwprod\ogg_tbs02.dbf' size 1024m;

SQL> alter tablespace ogg_tbs add datafile 'd:\app\administrator\oradata\hwprod\ogg_tbs03.dbf' size 1024m;

SQL>create user ogg identified by oracle default tablespace ogg_tbs quota unlimited on ogg_tbs;

SQL>grant dba to ogg; (涉及到DDL復制,需授予給dba權限)

SQL> grant execute on utl_file to ogg;

技術分享圖片

7為新創建的ogg用戶執行配置腳本。在ogg的安裝目錄下使用sys登陸sqlplus,然後執行markker_setup.sql,ddl_setup.sql,role_setup.sql,ddl_enable.sql

(1) marker_setup.sql,作用是安裝DDL支持所需要的GoldenGate marker系統。

SQL>@ marker_setup

技術分享圖片

(2) ddl_setup.sql

SQL>@ddl_setup

技術分享圖片

技術分享圖片


(3) role_setup.sql,作用是刪除和創建DDL同步需要的角色,它授權DDL對象上的DML操作。

SQL>@role_setup

技術分享圖片

SQL> grant GGS_GGSUSER_ROLE to ogg;

技術分享圖片

(4) ddl_enable.sql,作用是啟用ddl觸發器。

SQL> @ddl_enable

技術分享圖片

8 進入ogg控制臺,測試用戶是否創建成功。

GGSCI (HWORATEST) 1> dblogin userid ogg

技術分享圖片

測試成功,安裝完成!

三、配置GoldenGate

source

1、 配置Manager管理進程參數:

GGSCI (HWORATEST) 1> edit params mgr

技術分享圖片

技術分享圖片

點擊

然後鍵入以下內容並保存

port 7809

技術分享圖片


2、 配置checkpoint

GGSCI (HWORATEST) 3> edit params ./GLOBAL

技術分享圖片

點擊並輸入以下內容保存

GGSCHEMA ogg

CHECKPOINTTABLE ogg.checkpoint

技術分享圖片

添加checkpoint

GGSCI (HWORATEST) 7> add checkpointtable ogg.checkpoint

添加操作前,請註意先登錄

技術分享圖片

3、 配置服務器的抽取進程

GGSCI (HWORATEST) 8> add extract ext_w1,tranlog, begin now

GGSCI (HWORATEST) 9> add exttrail d:\app\Administrator\ogg\dirdat\wt, extract ext_w1

技術分享圖片

GGSCI (HWORATEST) 10> edit params ext_w1

技術分享圖片

技術分享圖片

點擊 “是並輸入以下內容保存

ddl include all

extract ext_w1

userid ogg, password oracle

exttrail D:\app\Administrator\ogg\dirdat\wt

table prun.*;

註意,上述是包含DDL復制,主要是對prun的所有對象操作

4、 配置服務器的投遞進程

GGSCI (HWORATEST) 11> add extract pum_w1, exttrailsource D:\app\Administrator\ogg\dirdat\wt, begin now

GGSCI (HWORATEST) 12> add rmttrail D:\app\Administrator\ogg\dirdat\rt, extract pum_w1

技術分享圖片

GGSCI (HWORATEST) 13> edit params pum_w1

技術分享圖片

點擊 “是,並輸入以下內容保存

extract pum_w1

userid ogg, password oracle

rmthost 192.168.10.19, mgrport 7809

rmttrail D:\app\Administrator\ogg\dirdat\rt

table prun.*;

註意,上述IPtargetIP地址

技術分享圖片

至此,soure端配置基本完畢,可以info all查看:

技術分享圖片

以下進行target端相關配置:

1、 配置Manager管理進程參數:

GGSCI (HWOGG01) 2> edit params mgr

技術分享圖片

技術分享圖片

點擊“是輸入以下內容並保存

port 7809

技術分享圖片

2、 配置checkpoint

GGSCI (HWOGG01) 3> edit params ./GLOBAL

技術分享圖片

技術分享圖片


點擊“是,輸入以下內容並保存

GGSCHEMA ogg

CHECKPOINTTABLE ogg.checkpoint

技術分享圖片

添加checkpoint

GGSCI (HWOGG01) 4> add checkpointtable ogg.checkpoint

技術分享圖片

3、 配置目標服務器的復制進程

GGSCI (HWOGG01) 5>add replicat rep_w2, exttrail d:\app\Administrator\ogg\dirdat\rt, checkpointtable ogg.checkpoint

技術分享圖片

GGSCI (HWOGG01) 6> edit params rep_w2

技術分享圖片

技術分享圖片


點擊“是,輸入以下內容並保存

replicat rep_w2

ddl include all

ddlerror default ignore retryop maxretries 3 retrydelay 5

userid ogg, password oracle

assumetargetdefs

discardfile d:\app\Administrator\ogg\dirdat\rep_w2_discard,append

map prun.*, target prun.*

RESOLVECONFLICT (UPDATEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (INSERTROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (DELETEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (UPDATEROWMISSING, (DEFAULT, IGNORE))

RESOLVECONFLICT (DELETEROWMISSING, (DEFAULT, IGNORE));

技術分享圖片

配置完畢,查看相關信息

技術分享圖片

四、驗證測試

最後啟動兩端mgr進程,並測試(相關命令使用可以鍵入help查找)

首先啟動source

Start mgr

技術分享圖片

Start ext_w1

Start pum_w1

技術分享圖片

啟動target端:

Start mgr

技術分享圖片

Start rep_w2

技術分享圖片

檢查target端是否有以下表存在,如果沒有,則在source端創建上述表,然後檢查是否會復制過來

target端檢查:

技術分享圖片

source 進行建表操作

SQL>create table prun.TESTOGG as select * from prun.cts_role;

技術分享圖片

再檢查target

技術分享圖片

測試成功!

參考:http://blog.itpub.net/29485627/viewspace-1766772/


Oracle 11G GoldenGate實現Windows與Windows之間的單向同步