標籤:指令碼 ide 實現 error mes trail 歸檔 roc microsoft
Oracle 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目錄下的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
測試成功,安裝完成!
三、配置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之間的單向同步