Oracle 11G GoldenGate實現Windows與Windows之間的單向同步
本次實驗都是在win環境進行,目的通過GoldenGate實現Windows與Windows之間的單向同步進行對源庫復制備份。
實驗環境說明
操作系統:Windows 2008 R2 ,
數據庫:oracle 11.2.0.1.0 ,
GoldenGate:11.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目錄下的
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.*;
註意,上述IP為target端IP地址
至此,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之間的單向同步