This article will demostrate how to perform a OGG Initial Load using the Trail to Replicat technique.
Other Initial Load techniques and their advantages and disadvantages can be found here.
Pre-requisites
OGG is installed on source and target systems
Environment
OGG : 11.2.1.0.1
Database : 11.2.0.3
Linux : OEL 6 ( 64 bit )
Trail to Replicat Steps
1. Configure the initial-load processes
Extract
SOURCEISTABLE -- -------------------------------------------------- -- environment -- -------------------------------------------------- SETENV (ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1") SETENV (ORACLE_SID="GGDB1") SETENV (NLS_LANG="AMERICAN_AMERICA.WE8MSWIN1252") USERID ggate, PASSWORD ggate -- -------------------------------------------------- RMTHOST gglab1n2, mgrport 7809 rmtfile /u01/app/oracle/product/golden_gate/dirdat/il, maxfiles 3, megabytes 2000, PURGE TABLE soe.*;
Replicat
REPLICAT irttr -- -------------------------------------------------- -- environment -- -------------------------------------------------- SETENV (ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1") SETENV (ORACLE_SID="GGDB2") SETENV (NLS_LANG="AMERICAN_AMERICA.WE8MSWIN1252") USERID ggate, PASSWORD ggate -- -------------------------------------------------- -- options -- -------------------------------------------------- ASSUMETARGETDEFS DBOPTIONS SUPPRESSTRIGGERS --DBOPTIONS DEFERREFCONST -- -------------------------------------------------- -- files -- -------------------------------------------------- DISCARDFILE ./dirrpt/irttr.dsc, PURGE -- -------------------------------------------------- -- mappings -- -------------------------------------------------- MAP soe.* , TARGET soe.*;
2. Configure the change-synchronization processes
This is the normal replication methods, so I will not cover them here to keep things short. You can see example of this in some of my other posts.
3. Start the change-synchronization Extract
GGSCI> DBLOGIN USERID ggate, PASSWORD password ggate GGSCI> FLUSH SEQUENCE soe.* GGSCI> start extract csoea
4. Start the initial-load extract
extract paramfile ./dirprm/icttr.prm reportfile ./dirrpt/icttr.rpt
You should observe the following:
* the collector starting on target as seen in the ggserr.log
* the trail files in dirdat directory on target ( $GG_HOME/dirdat/il* )
* report file in dirrpt directory on source
Monitor the icttr.rpt report file for any errors.
5. Start the initial-load replicat on the target environment
Since we are using normal trail files here, the replicat can be started w/o having to wait on the initial-load extract to complete.
add replicat irttr, exttrail ./dirdat/il, nodbcheckpoint replicat paramfile ./dirprm/irttr.prm reportfile ./dirrpt/irttr.rpt
Monitor the report file for the initial-load replicat and wait until it the intiial-load extract is complete and the replicat is at the EOF with no more records to process. If there are no errors, then you can continue on to the next step.
However, I hit errors here. The following is from the irttr.rpt file, the info command, and the ggserr.log respectively.
... Reading ./dirdat/il000000, current RBA 3564957, 33000 records Report at 2013-05-22 21:50:21 (activity since 2013-05-22 21:49:31) From Table SOE.INVENTORIES to SOE.INVENTORIES: # inserts: 33000 # updates: 0 # deletes: 0 # discards: 0 Last log location read: FILE: ./dirdat/il000000 SEQNO: 0 RBA: 3564957 TIMESTAMP: 2013-05-22 21:29:46.677112 EOF: NO READERR: 0 2013-05-22 21:50:21 ERROR OGG-01668 PROCESS ABENDING. ...
GGSCI (gglab1n2.enkitec.com) 2> info * REPLICAT IRTTR Last Started 2013-05-22 21:49 Status ABENDED Checkpoint Lag 00:20:34 (updated 15:45:19 ago) Log Read Checkpoint File ./dirdat/il000000 2013-05-22 21:29:46.677112 RBA 3565065
2013-05-22 21:32:18 INFO OGG-00995 Oracle GoldenGate Delivery for Oracle, irttr.prm: REPLICAT IRTTR starting. 2013-05-22 21:32:18 INFO OGG-03035 Oracle GoldenGate Delivery for Oracle, irttr.prm: Operating system character set identified as UTF-8. Locale: en_US, LC_ALL:. 2013-05-22 21:32:18 INFO OGG-01815 Oracle GoldenGate Delivery for Oracle, irttr.prm: Virtual Memory Facilities for: COM anon alloc: mmap(MAP_ANON) anon free: munmap file alloc: mmap(MAP_SHARED) file free: munmap target directories: /u01/app/oracle/product/golden_gate/dirtmp. 2013-05-22 21:32:18 INFO OGG-00996 Oracle GoldenGate Delivery for Oracle, irttr.prm: REPLICAT IRTTR started. 2013-05-22 21:33:02 ERROR OGG-00446 Oracle GoldenGate Delivery for Oracle, irttr.prm: CSN not found in supplemental file /u01/app/oracle/product/golden_gate/dirchk/IRTTR.cps. 2013-05-22 21:33:02 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, irttr.prm: PROCESS ABENDING.
This turns out to be a know bug in OGG Version 11.2.1.0.1 and later. Unfortunately, the fix will not be available until 11.2.1.0.4.
Check out the follow note for more details.
OGG v11.2 Replicat fails OGG-00868 OCI Error ORA-01400: cannot insert NULL into
(“OGG_ADMIN”.”CHECKPOINT_LOX”.”LOG_CMPLT_CSN”) , ERROR OGG-00446 CSN not found in
supplemental file /u01/app/oracle/goldengate/dirchk/RPBSINI.cps. [ID 1468424.1]
So I leave off here waiting for the future version.
——————————————————————————-
However, if I were able to continue, there are only two more steps.
6. Start the change-synchronization Replicat
GGSCI> start replicat rsoeas
7. Turn off HANDLECOLLISIONS
SEND REPLICAT rsoeas, NOHANDLECOLLISIONS
Lastly, edit the replicat parameter file and remove HANDLECOLLISIONS so that it is not enabled next time the replicat restarts.
Hi Rick,
Can you please tell me if do you have already done an initial load ” trail to replicat ” using multiple extracts/replicats ?
I tested it but i notice a data missing.
I created:
On database Source:
One change synchro extract S started with: Table User.*.
Three initial extracts with a different set of tables started in parallel:
Extract 1: tables A, B
Extract 2: tables C,D
Extract 3: Exclude table A, B, C,D
Table User.*
On traget:
Initial load:
Replicat 1 assoiciated to Extract 1 trails
Replicat 2 assoiciated to Extract 2 trails
Replicat 3 assoiciated to Extract 3 trails
One replicat associated to Change synchro extract S
When the 3 initial replicat was finished, i stopped them and i started the change syncro replicat.
I am unable to find a similar scenario on the Net.
Please can you advise?
Best Regards,
Fouzia.
Pingback: GoldenGate Initial-Load Trail to Replicat – Part 2 | Rick Miners' Oracle Blog