GoldenGate同步初始化

silencelion99發表於2015-10-25
1、查詢表是否存在
檢查要同步的表是否均存在於源端資料庫
2、查詢是否都存在附加日誌
select * from t_gg_zmy_all t  where exists (select 1 from dba_tables b where t.owner=b.owner and t.tab_name=b.table_name)
minus
select owner,table_name from dba_log_groups;
3、如果存在表沒有開啟附加日誌,則登入到goldengate開啟附加日誌
select 'add trandata '||owner||'.'||tab_name from t_gg_zmy_all t  where exists (select 1 from dba_tables b where t.owner=b.owner and t.tab_name=b.table_name)
minus
select owner,table_name from dba_log_groups;
$ ggsci
GGSCI (S7_C_YZ_YZSJK) 1> dblogin userid goldengate, password AACAAAAAAAAAAAJAGHJCVAFFQHOJOBCGQBWHBEBDCESJTEIA , encryptkey default
Successfully logged into database.
GGSCI (S7_C_YZ_YZSJK) 2> add trandata COMMON.PC_PS_FIXFEEDISC
Logging of supplemental redo data enabled for table COMMON.PC_PS_EBOXDISC.
4、再次檢查是否全部都新增附加日誌
SQL> select * from t_gg_zmy_all t  where exists (select 1 from dba_tables b where t.owner=b.owner and t.tab_name=b.table_name)
  2  minus
  3  select owner,table_name from dba_log_groups;
no rows selected
5、編輯抽取程式的引數檔案
GGSCI (S7_C_YZ_YZSJK) 1> edit params extzmygc
extract extzmygc
SETENV (NLS_LANG="American_America.ZHS16GBK")
userid goldengate, password AACAAAAAAAAAAAJAGHJCVAFFQHOJOBCGQBWHBEBDCESJTEIA , encryptkey default
REPORT AT 6:00
STATOPTIONS RESETREPORTSTATS
STATOPTIONS REPORTFETCH
gettruncates
BR BRINTERVAL 20M
TRANLOGOPTIONS LOGRETENTION DISABLED
discardfile ./dirrpt/extzmygc.dsc, append, megabytes 1000
discardrollover at 6:00
warnlongtrans 3h, checkinterval 10m
fetchoptions nousesnapshot
tranlogoptions rawdeviceoffset 0
tranlogoptions altarchivedlogformat threadid 1 log%t_%s_%r.arc
tranlogoptions altarchivedlogformat threadid 2 log%t_%s_%r.arc
tranlogoptions altarchivelogdest instance fsdb1 /oracle/arch_fs1/logs, altarchivelogdest instance fsdb2 /oracle/arch_fs2/logs
threadoptions  maxcommitpropagationdelay 90000 iolatency 180000
threadoptions  inqueuesize  2000
threadoptions  outqueuesize 1000
exttrail ./dirdat/extzmygc/ss, megabytes 100
numfiles 1000
dynamicresolution
TABLE COMMON.CS_SMP_AWARDSET;
TABLE COMMON.CH_PW_GSUBJECT;
……
6、新增抽取程式
GGSCI (S7_C_YZ_YZSJK) 1> add extract extzmygc,tranlog,begin now,threads 2
EXTRACT added.
GGSCI (S7_C_YZ_YZSJK) 2> add exttrail ./dirdat/extzmygc/ss,extract extzmygc,megabytes 100
EXTTRAIL added.
GGSCI (S7_C_YZ_YZSJK) 3> info all
Program     Status      Group       Lag           Time Since Chkpt
MANAGER     RUNNING                                           
EXTRACT     STOPPED     EXTZMYGC    00:00:00      00:00:10    
7、啟動抽取程式
GGSCI (S7_C_YZ_YZSJK) 7> start EXTZMYGC
Sending START request to MANAGER ...
EXTRACT EXTZMYGC starting
GGSCI (S7_C_YZ_YZSJK) 10> info all
Program     Status      Group       Lag           Time Since Chkpt
MANAGER     RUNNING                                           
EXTRACT     RUNNING     EXTZMYGC    00:02:57      00:00:08    
----------------以下是目標端操作--------------------------------
8、目標端安裝配置goldengate
tar -xvf ggs_AIX_ppc_ora11g_64bit.tar
HWCRMBP1:/ggs/ggs11>ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.1.1.1.2 OGGCORE_11.1.1.1.2_PLATFORMS_111004.2100
AIX 5L, ppc, 64bit (optimized), Oracle 11g on Oct  5 2011 00:37:03
Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
GGSCI (HWCRMBP1) 1> create subdirs
Creating subdirectories under current directory /ggs/ggs11
Parameter files                /ggs/ggs11/dirprm: created
Report files                   /ggs/ggs11/dirrpt: created
Checkpoint files               /ggs/ggs11/dirchk: created
Process status files           /ggs/ggs11/dirpcs: created
SQL script files               /ggs/ggs11/dirsql: created
Database definitions files     /ggs/ggs11/dirdef: created
Extract data files             /ggs/ggs11/dirdat: created
Temporary files                /ggs/ggs11/dirtmp: created
Veridata files                 /ggs/ggs11/dirver: created
Veridata Lock files            /ggs/ggs11/dirver/lock: created
Veridata Out-Of-Sync files     /ggs/ggs11/dirver/oos: created
Veridata Out-Of-Sync XML files /ggs/ggs11/dirver/oosxml: created
Veridata Parameter files       /ggs/ggs11/dirver/params: created
Veridata Report files          /ggs/ggs11/dirver/report: created
Veridata Status files          /ggs/ggs11/dirver/status: created
Veridata Trace files           /ggs/ggs11/dirver/trace: created
Stdout files                   /ggs/ggs11/dirout: created
9、配置目標目標端管理程式
----usecheckpoints這裡需要配置全域性的checkpoint表,後面會配置
GGSCI (HWCRMBP1) 1>edit params mgr
port 7809
autorestart  er *
purgeoldextracts ./dirdat/*/*, usecheckpoints, minkeephours 16
LAGREPORTMINUTES 1
LAGINFOMINUTES 1
LAGCRITICALMINUTES 1
10、在oracle資料庫建立goldengate使用者
SQL> create user goldengate identified by Ora02036;
SQL> grant dba,connect to goldengate;
Grant succeeded.
SQL> conn goldengate/Ora02036
Connected.
11、啟動管理程式
GGSCI (HWCRMBP1) 3> start mgr
GGSCI (HWCRMBP1) 4> info all
Program     Status      Group       Lag           Time Since Chkpt
MANAGER     RUNNING     
12、獲取加密密碼
GGSCI (HWCRMBP1) 5> ENCRYPT PASSWORD Ora02036
No key specified, using default key...
Encrypted password:  AACAAAAAAAAAAAIAUGQABGSDTEQJFJWG
GGSCI (HWCRMBP1) 6>        
13、測試goldengate使用者是否可以連線
GGSCI (HWCRMBP1) 7> DBLOGIN USERID goldengate, PASSWORD AACAAAAAAAAAAAIAUGQABGSDTEQJFJWG ,ENCRYPTKEY default
Successfully logged into database.   
14、在gg的安裝跟目錄新增checkpoit表
cat GLOBALS
CHECKPOINTTABLE goldengate.ggschkpt
15、在oracle的goldengate使用者裡面新增checkpoit表
GGSCI (HWCRMBP1) 4> DBLOGIN USERID goldengate, PASSWORD AACAAAAAAAAAAAIAUGQABGSDTEQJFJWG ,ENCRYPTKEY default
Successfully logged into database.
GGSCI (HWCRMBP1) 5> add CHECKPOINTTABLE goldengate.ggschkpt
Successfully created checkpoint table GOLDENGATE.GGSCHKPT.
GGSCI (HWCRMBP1) 6>                         
----------------以上是目標端操作----------------------------
16、在源端編輯投遞程式
GGSCI (S7_C_YZ_YZSJK) 8> edit params dppzmygc
extract dppzmygc
rmthost 10.245.158.3, mgrport 7809          ---目標端ip及埠
rmttrail /ggs/ggs11/dirdat/dppzmygc/ss      ---目標端佇列檔案
passthru
dynamicresolution
table    COMMON.*;
table    ZJZW.*;
table    ZJYY.*;
table    MMZW.*;
table    MMYY.*;
table    YJZW.*;
table    YJYY.*;
17、在源端新增投遞程式
GGSCI (S7_C_YZ_YZSJK) 2> add extract dppzmygc , exttrailsource  ./dirdat/extzmygc/ss
EXTRACT added.
GGSCI (S7_C_YZ_YZSJK) 6> add rmttrail  /ggs/ggs11/dirdat/dppzmygc/ss, ext dppzmygc, megabytes 100
RMTTRAIL added.
GGSCI (S7_C_YZ_YZSJK) 7>start dppzmygc
-------錯誤操作後被delete掉---------------------
----GGSCI (S7_C_YZ_YZSJK) 3> add rmttrail  ./dirdat/dppzmygc/ss, ext dppzmygc, megabytes 100
----RMTTRAIL added.
----GGSCI (S7_C_YZ_YZSJK) 4> delete rmttrail  ./dirdat/dppzmygc/ss
----Deleting extract trail ./dirdat/dppzmygc/ss for extract DPPZMYGC

GGSCI (S7_C_YZ_YZSJK) 8> info all
Program     Status      Group       Lag           Time Since Chkpt
MANAGER     RUNNING                                           
EXTRACT     ABENDED     DPPZMYGC    00:00:00      00:36:33    
EXTRACT     RUNNING     EXTZMYGC    00:00:01      00:00:09    
GGSCI (S7_C_YZ_YZSJK) 9> info DPPZMYGC
EXTRACT    DPPZMYGC  Initialized   2012-09-13 16:26   Status ABENDED
Checkpoint Lag       00:00:00 (updated 00:36:40 ago)
Log Read Checkpoint  File ./dirdat/extzmygc/ss000000
                     First Record  RBA 0
GGSCI (S7_C_YZ_YZSJK) 10> info DPPZMYGC,detail
EXTRACT    DPPZMYGC  Initialized   2012-09-13 16:26   Status ABENDED
Checkpoint Lag       00:00:00 (updated 00:36:47 ago)
Log Read Checkpoint  File ./dirdat/extzmygc/ss000000
                     First Record  RBA 0
  Target Extract Trails:
  Remote Trail Name                                Seqno        RBA     Max MB
  /ggs/ggs11/dirdat/dppzmygc/ss                        0          0        100
  Extract Source                          Begin             End             
  ./dirdat/extzmygc/ss000000              * Initialized *   First Record    
  ./dirdat/extzmygc/ss000000              * Initialized *   First Record    
  ./dirdat/extzmygc/ss000000              * Initialized *   First Record    
  ./dirdat/extzmygc/ss000000              * Initialized *   First Record    
Current directory    /ggs/ggs11
Report file          /ggs/ggs11/dirrpt/DPPZMYGC.rpt
Parameter file       /ggs/ggs11/dirprm/dppzmygc.prm
Checkpoint file      /ggs/ggs11/dirchk/DPPZMYGC.cpe
Process file         /ggs/ggs11/dirpcs/DPPZMYGC.pce
Stdout file          /ggs/ggs11/dirout/DPPZMYGC.out
Error log            /ggs/ggs11/ggserr.log
-------------------以下是在目標端操作--------------------------
18、準備目標端複製程式(詳細見repzmygc.txt)
replicat repzmygc
SETENV (ORACLE_HOME="/oracle/oracle/products/11.2/db")
SETENV (ORACLE_SID="gddb")
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
userid goldengate, password AACAAAAAAAAAAAIAUGQABGSDTEQJFJWG, encryptkey default
gettruncates
sqlexec "alter session set constraints=deferred"
REPORT AT 6:00
STATOPTIONS RESETREPORTSTATS
reperror (default,discard)
reperror (01650, abend)
reperror (01652, abend)
reperror (01653, abend)
reperror (01654, abend)
reperror (01655, abend)
reperror (01680, abend)
reperror (01683, abend)
reperror (01688, abend)
reperror (01691, abend)
reperror (01692, abend)
reperror (30036, abend)
reperror (01400, abend)
reperror (14400, abend)
reperror (02290, abend)
reperror (02291, abend)
reperror (02292, abend)
reperror (02293, abend)
reperror (03114, abend)
reperror (01003, abend)
discardfile ./dirrpt/repzmygc.dsc, append, megabytes 1000
discardrollover at 6:00
numfiles 100
assumetargetdefs
dynamicresolution
allownoopupdates
grouptransops 1000
batchsql batchesperqueue 100, opsperbatch 8000
MAP COMMON.BLANKCARD_DRIVE, TARGET OLD_COMMON.BLANKCARD_DRIVE;
……
19、新增目標端複製程式
add replicat repzmygc,exttrail /ggs/ggs11/dirdat/dppzmygc/ss
-------------------以上是在目標端操作--------------------------
20、在源端啟動投遞
如果源端投遞程式沒起,則啟動
GGSCI (S7_C_YZ_YZSJK) 1>start dppzmygc
21、匯出匯入資料,按指定的SCN
SQL>select current_scn from v$database;
目標庫匯入資料時檢查觸發器和外來鍵,將其DISABLE
22、在目標端啟動複製程式
GGSCI (HWCRMBP1) 1>start REPLICAT REPZMYCM, AFTERCSN 11519343329755
23、檢查
GGSCI (S7_C_YZ_YZSJK) 1>info all
------------------end--------------------------------------

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

相關文章