In the target, Replicat process was abended due to the following error:
2013-06-17 10:17:30 ERROR OGG-01163 Oracle GoldenGate Delivery for Oracle, rtdnfrd.prm: Bad column length (3) specified for column TAX_AUTHORITY_TYPE in table WAX_TDN.V_TAX_DETAILS, maximum allowable length is 1.
I checked TAX_AUTHORITY_TYPE colume, it is char(1) in both source and target databases, so not sure how this error comes up. I have to comment it out in the Replicat parameter file in order to re-start the process. As a result, the table is out-of-sync. This actually gives me a chance to pratice steps of resynchronizing a table in GoldenGate for the first time.
I took the following steps:
1. Comment out the table in the Replicat parameter file
Already did.
2. Stop Replicat and start it again so that it continues for unaffected tables
Already did.
3. Record the time stamp on the source system
2013-06-17 13:49
4 Start a copy of the source data for the affected tables
Note: before making the copy, try to resolve any long-running transactions
5. Import the copy to the target table
6. Create a new Replicat group for the out-of-sync table, using Begin to start at the source time stamp that you recorded earlier and using the existing train for ExtTrain
Add Replicat rvtd, ExtTrail ./dirdat/rb, Begin 2013-06-17 13:49:00
7. Create the new parameter file so that it includes
HandleCollisions
replicat rvtd
SETENV(ORACLE_HOME="/apps/opt/oracle/product/11.2.0/db_1")
SETENV(ORACLE_SID = "tdnprdfd1")
SETENV(NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
-- DBOPTIONS SUPPRESSTRIGGERS
userid gg_owner@tdnprdfd1, password AADAAAAAAAAAAAHAJIKGFGKGRJTBJBCIZGUERJNHBFPBLCAEOBUADFWASJMJCDWEICWGBEGHOIRESCPA, encryptkey securekey1
discardfile ./dirrpt/RTDNFRD.dsc, Append, megabytes 1
handlecollisions
assumetargetdefs
MAP WAX_TDN.V_TAX_DETAILS, TARGET WAX_TDN.V_TAX_DETAILS;
8. Start the new Replicat
9. View the new Replicat's lag until it shows "At EOF, no more records to process"
GGSCI> Send replicat rvtd, GetLag
10. Turn off HandleCollisions in the new replicate with
GGSCI> send replicat rvtd NoHandleCollisions
11. Edit the parameter file to comment out or remove HandleCollisions if you ever bounce the process later
(The next steps merge the table back with the others so that only one Replicat group is needed
12. Stop Extract at source
13. View both Replicats's lag until you see "EOF" again
GGSCI> Send replicat rtdnfrd, GetLag
GGSCI> Send replicat rvtd, GetLag
14 stop both Replicats
15. Uncomment the resynced table in the original Replicat parameter file
16. Start Extract
17. Start the original Replicat:
GGSC> start rtdnfrd
18. Delete the new Replicat that you created:
GGSCI> delete replicat rvtd
All done!
Everything Changes
1 week ago