goldengate基於表複製

luckyfriends發表於2017-09-08
本文是基於表複製設定。至於goldengate的安裝配置,及基於使用者的配置,請參閱《goldengate部署實施案例
1、在源端主程式配置

新增主程式

GGSCI (ggate1) 2> edit params mgr


PORT 7809
PURGEOLDEXTRACTS /oracle/ggate/dirdat/mytest_xiuj/ex*, USECHECKPOINTS, MINKEEPDAYS 7


登入到資料庫
GGSCI (ggate1) 3> dblogin userid ggate,password ggate
Successfully logged into database.

GGSCI (ggate1) 4> start mgr

2、配置抽了程式

GGSCI (ggate1) 13> add trandata mytest.mytest_xiuj

Logging of supplemental redo data enabled for table MYTEST.MYTEST_XIUJ.

GGSCI (ggate1) 14> add extract exiuj,tranlog,begin now
EXTRACT added.

GGSCI (ggate1) 15> add exttrail /oracle/ggate/dirdat/mytest_xiuj/ex,extract exiuj
EXTTRAIL added.


GGSCI (ggate1) 17> edit params exiuj

extract exiuj
userid ggate,password ggate
exttrail /oracle/ggate/dirdat/mytest_xiuj/ex
table mytest.mytest_xiuj;


3、配置傳輸程式

GGSCI (ggate1) 23> add extract pxiuj,exttrailsource /oracle/ggate/dirdat/mytest_xiuj/ex
EXTRACT added.


GGSCI (ggate1) 24> add rmttrail /u01/app/ggate/dirdat/mytest_xiuj/re,extract pxiuj
RMTTRAIL added.


GGSCI (ggate1) 25> edit params pxiuj


extract pxiuj
rmthost 192.168.92.191,mgrport 7809
passthru
rmttrail /u01/app/ggate/dirdat/mytest_xiuj/re
table mytest.mytest_xiuj;

4、配置複製程式

GGSCI (ggate2) 3> dblogin userid ggate,password ggate
Successfully logged into database.

GGSCI (ggate2) 4> add checkpointtable chkxiuj

Successfully created checkpoint table CHKxiuj.

GGSCI (ggate2) 5> add replicat rxiuj,exttrail /u01/app/ggate/dirdat/mytest_xiuj/re,checkpointtable chkxiuj
REPLICAT added.

GGSCI (ggate2) 6> edit params rxiuj

replicat rxiuj
setenv ( NLS_LANG = "SIMPLIFIED CHINESE_CHINA.UTF8")                    --注意,本處不能少,因為目標端與源端字符集不同
assumetargetdefs
HANDLECOLLISIONS
userid ggate,password ggate
discardfile /u01/app/ggate/dirdat/mytest_xiuj/rep1_discard.txt, append, megabytes 10
map mytest.mytest_xiuj, target receiver.mytest_xiuj;

--說明:
 
在配置goldengate時,要確定源端與目標端的字符集是否相同
透過:
SQL> select userenv('language') from dual;
 
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

而源端為:"SIMPLIFIED CHINESE_CHINA.UTF8",使目標端與源端相同,否則在目標端,會出現亂碼。所以在複製程式中必須加一段設定環境的值:setenv ( NLS_LANG = "SIMPLIFIED CHINESE_CHINA.UTF8")

查詢匯出字符集
select * from database_properties where property_name = 'NLS_CHARACTERSET'

相關檢視及表
nls_database_parameters    props$   v$nls_parameters

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14710393/viewspace-2144721/,如需轉載,請註明出處,否則將追究法律責任。

相關文章