Oracle GoldenGate實現Windows與Windows之間的單向同步sql
本次實驗都是在win環境進行,目的經過GoldenGate實現Windows與Windows之間的單向同步進行對源庫複製備份。數據庫
實驗環境說明服務器
操做系統:Windows 2008 R2 ,oracle
數據庫:oracle 11.2.0.1.0 ,app
GoldenGate:11.2.1.0.3 for Microsoft Windows x64ide
下載地址:http://down.51cto.com/data/2448081測試
1、安裝前環境檢查(source端與target端安裝相同):spa
一、 檢查數據庫配置狀況操作系統
檢查歸檔模式、附加日誌、強制日誌參數是否開啓。.net
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;
2、安裝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.dll和ggsmsg.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
測試成功,安裝完成!
3、配置GoldenGate
source端
一、 配置Manager管理進程參數:
GGSCI (HWORATEST) 1> edit params mgr
點擊 「是」
而後鍵入如下內容並保存
port 7809
二、 配置checkpoint表
GGSCI (HWORATEST) 3> edit params ./GLOBAL
點擊「是」 並輸入如下內容保存
GGSCHEMA ogg
CHECKPOINTTABLE ogg.checkpoint
添加checkpoint表
GGSCI (HWORATEST) 7> add checkpointtable ogg.checkpoint
添加操做前,請注意先登陸
三、 配置服務器的抽取進程
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的全部對象操做
四、 配置服務器的投遞進程
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端相關配置:
一、 配置Manager管理進程參數:
GGSCI (HWOGG01) 2> edit params mgr
點擊「是」輸入如下內容並保存
port 7809
二、 配置checkpoint表
GGSCI (HWOGG01) 3> edit params ./GLOBAL
點擊「是」,輸入如下內容並保存
GGSCHEMA ogg
CHECKPOINTTABLE ogg.checkpoint
添加checkpoint表
GGSCI (HWOGG01) 4> add checkpointtable ogg.checkpoint
三、 配置目標服務器的複製進程
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));
配置完畢,查看相關信息
4、驗證測試
最後啓動兩端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端
測試成功!