Oracle Golden Gate Migration - GoldenGate

Hi guys,
I am doing migration from 9i to 10g using Oracle Golden Gate. I encountered some of the errors like
GGS WARNING 218
GGS WARNING 222
I am using HANDLECOLLISIONS to solve this error but by doing so the updates are turning as duplicates.
In the source table there are no unique key constraint and so the target.
Is there any way I get a solution for this issue. 

If you copy the entire error message it would make it possible to help because there could be many reasons for these errors.
Remember, handlecollisions basically means ignore database errors. If you have an overlap in data between your db copy and what's queued up in the trail then running with handlecollisions can result in double inserts if you have no PK or UI. If you imported your data based on an SCN then you can start your replicat after that SCN and avoid the overlap:
ggsci> start myrep, afterCSN 1234
And notice it's CSN and not SCN. They're interchangeable in meaning by not syntax and OGG uses CSN to generically describe the changed system number for all databases
Regards
-joe 

Thanks for the reply joe.
These are the detailed errors
GGS WARNING 218 Aborted grouped transaction on 'PERFSTAT.STATS$SQLTEXT', Database error 1 (ORA-0000
1: unique constraint (PERFSTAT.STATS$SQLTEXT_PK) violated).
GGS WARNING 218 Repositioning to rba 942 in seqno 1.
GGS WARNING 218 SQL error 1 mapping PERFSTAT.STATS$SQLTEXT to PERFSTAT.STATS$SQLTEXT OCI Error ORA-
00001: unique constraint (PERFSTAT.STATS$SQLTEXT_PK) violated (status = 1), SQL <INSERT INTO "PERFSTAT"."STATS$SQLTEXT" ("HAS
H_VALUE","TEXT_SUBSET","PIECE","SQL_TEXT","ADDRESS","COMMAND_TYPE","LAST_SNAP_ID") VALUES (:a0,:a1,:a2,:a3,:a4,:a5,:a6)>.
GGS WARNING 218 Repositioning to rba 942 in seqno 1 

I am using HANDLECOLLISIONS to solve this error but by doing so the updates are turning as duplicates.Aside from struggling to understanding what this means, I don't see any update errors, which would typically be ora-1403 no data found.
In the source table there are no unique key constraint and so the target. But you specifically get a unique constrain violation:
ORA-00001: unique constraint (PERFSTAT.STATS$SQLTEXT_PK) violated).Your information seems to conflict itself. You might not have a full grasp of the concepts so I suggest you dive a little deeper into the docs and please pay special attention to using atCSN/afterCSN. Also, please make sure you start the CDC extract BEFORE you do your exp[dp] flashback_scn=xxx.
Good luck,
-joe 

Thanks Joe for the kind reply.
I have done what you said till now.
Today I encountered with this error.
2010-08-11 11:06:08 GGS ERROR 160 Encountered an update for target table DCSI.DEMANDRESETHISTORY, which has no unique
key defined. KEYCOLS can be used to define a key. Use ALLOWNOOPUPDATES to process the update without applying it to the ta
rget database. Use APPLYNOOPUPDATES to force the update to be applied using all columns in both the SET and WHERE clause.
So accordingly I used APPLYNOOPUPDATES and its working fine. My question is can I use this option or will it bring up any duplicates. 

Hi 786923,
You're good to go. The replicat parameter APPLYNOOPUPDATES will not result in duplicate entries on the target system. You can confirm this by quieting both source and target and then doing a select ... minus ... across a db link, or use ora_hash on the tables, or use the OGG Veridata product, which is similar in concept to ora_hash but works on live systems.
Good luck,
-joe 

Thanks a lot Joe. That really worked well and I am done with migration.

Related

Error mapping source to target table

Hi,Received the following error from my replicat.---2016-03-09 18:49:59  INFO    OGG-06506  Oracle GoldenGate Delivery for Oracle, rnddev_a.prm:  Wildcard MAP resolved (entry sample.*): Map "sample"."REPORT_TOTALS", Target sample."REPORT_TOTALS".2016-03-09 18:49:59  INFO    OGG-06511  Oracle GoldenGate Delivery for Oracle, rnddev_a.prm:  Using following columns in default map by name: PARTICIPANT_ID_S, PARTICIPANT_ID_R, TRANSACTION_TYPE, TOTAL_TRANSACTIONS, TOTAL_SUCCESSFUL, REPORT_MONTH, LAST_RUN_TOTAL, LAST_RUN_SUCCESSFUL, LAST_RUN_DATE, PREVIOUS_RUN_TOTAL.2016-03-09 18:49:59  INFO    OGG-06510  Oracle GoldenGate Delivery for Oracle, rnddev_a.prm:  Using the following key columns for target table sample.REPORT_TOTALS: PARTICIPANT_ID_S, PARTICIPANT_ID_R, TRANSACTION_TYPE, REPORT_MONTH.2016-03-09 18:49:59  WARNING OGG-01151  Oracle GoldenGate Delivery for Oracle, rnddev_a.prm:  Error mapping from sample.REPORT_TOTALS to sample.REPORT_TOTALS.2016-03-09 18:49:59  WARNING OGG-01003  Oracle GoldenGate Delivery for Oracle, rnddev_a.prm:  Repositioning to rba 2791 in seqno 8.2016-03-09 18:50:00  ERROR   OGG-01296  Oracle GoldenGate Delivery for Oracle, rnddev_a.prm:  Error mapping from sample.REPORT_TOTALS to sample.REPORT_TOTALS.2016-03-09 18:50:04  ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, rnddev_a.prm:  PROCESS ABENDING.---I did some digging and the only thing I can find out of place is that I did not enable supplemental logging for that table.  This table does have the same PK on both source and target. If someone sees something else wrong, please speak up though. I did the 'add trandata ...' on the source but the replicat still abends because of it does not have the supp logging.   What are my options?  Can I add the suppl logging on the target somehow?  Do I have to skipp all those transactions until the trandata is pumped over? Thanks.
Error mapping from sample.REPORT_TOTALS to sample.REPORT_TOTALS.could be anything. Check the discard file to see which columns it is complaining about. It will also show which columns are captured. If they generally have values then it is not a supplemental logging issue. Your questions:What are my options?  > Whatever you have captured on the trail if the source is at fault,  then the data in the trail is useless. If supplemental logging is at fault (I don't think so) or whatever that is captured are missing then it is too late. Whatever is not logged to the redo is gone. You can't even recapture.Can I add the suppl logging on the target somehow? > Supplemental logging is for the source extract capture. The target replicat does not care.Do I have to skip all those transactions until the trandata is pumped over?> Yes but as said see what's wrong first.CheersKee Gan
Source and target mapping are different SourcePARTICIPANT_ID_S, PARTICIPANT_ID_R, TRANSACTION_TYPE, TOTAL_TRANSACTIONS, TOTAL_SUCCESSFUL, REPORT_MONTH, LAST_RUN_TOTAL, LAST_RUN_SUCCESSFUL, LAST_RUN_DATE, PREVIOUS_RUN_TOTAL. REPORT_TOTALS:PARTICIPANT_ID_S, PARTICIPANT_ID_R, TRANSACTION_TYPE, REPORT_MONTH. Please re-check once gain - Pavan Kumar N
As mentioned what does the discard file say. If you get a map error this file is the first thing to see. Make sure all 4 columns have values especially when the replicat thinks they are keys2016-03-09 18:49:59  INFO    OGG-06510  Oracle GoldenGate Delivery for Oracle, rnddev_a.prm:  Using the following key columns for target table sample.REPORT_TOTALS: PARTICIPANT_ID_S, PARTICIPANT_ID_R, TRANSACTION_TYPE, REPORT_MONTH. If they are not there and this fails for an update, then you need to log these columns whether or not they are changed. You can specially supplemental log these columns using ggsci add trandata. CheersKee Gan
You should reply to correct author of the post 
Oh yes, now I know why the reply was so confusing! :-) I will see before I shoot.ThanksKee
K.Gan you are right, I should have checked the discard file first.  After looking at it, please clarify something for me.--discard--Key column PARTICIPANT_ID_S (0) is missing from update on table sample.REPORT_TOTALSKey column PARTICIPANT_ID_R (1) is missing from update on table sample.REPORT_TOTALSKey column TRANSACTION_TYPE (2) is missing from update on table sample.REPORT_TOTALSKey column REPORT_MONTH (3) is missing from update on table sample.REPORT_TOTALSMissing 4 key columns in update for table sample.REPORT_TOTALS.Current time: 2016-03-10 12:49:03Discarded record from action ABEND on error 0 Aborting transaction on ./dirdat/pa beginning at seqno 8 rba 2791                         error at seqno 8 rba 2791Problem replicating sample.REPORT_TOTALS to sample.REPORT_TOTALSMapping problem with unified update record (target format)...*PREVIOUS_RUN_TOTAL = 0000000: 30                                              |0               | PREVIOUS_RUN_TOTAL = 0000000: 30                                              |0               |*Process Abending : 2016-03-10 12:49:08--- end discard ---I see the update was missing the PK column values.  Correct me if I'm wrong but it is complaining because suppl logging was not in place?  Again, I'm guessing I can't do anything here but skip the trx. Regards.
Yes this is a supplemental logging issue. Looks like your database is not even turn on for minimal logging. You need to do these stepsSQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;SQL> ALTER DATABASE FORCE LOGGING;See the installation guide under 'Enabling Minimum Database-level Supplemental Logging"You will also need to swtch logs. And this is just the database, you will also need to ggsci > add trandata <table for all tables you want>Depending on the DB version 11.2.0.3 (with patches) and above yo can do > add schematrandata <schema>    You then need not worry about each table.Review the installation guide. It may be a little long but a lot you can scan and acknowledge.Also as said because this is instructing the DB on how to populate the redos whatever is done is gone, you cannot go back.CheersKee Gan
I'm still a bit confused on why this is happening and it may take an Oracle SR to figure it out. The source database has supplemental logging and force logging on.  I enabled that when I initially set this system up. SQL> SELECT supplemental_log_data_min, force_logging FROM v$database; SUPPLEME FOR-------- ---YES YES Additionally, the REPORT_TOTALS table has a unique index that is enabled and valid. Even without issuing the 'add trandata...', couldn't GG use the unique index to identify a row?   Thanks.
If you have done this then without add trandata, the DB will only log the keys. Does the source table have PKs? If there is just do another update and see what you get from in the extract trail.Run logdump> open <current trail>> filter filename schema.mytable> detail data> next You will see col0, col1, etc. These are positions matching the DESC. See if it is there. CheersKee Gan

ORA-26787 : The row with key does not exist in table

Good Day This is regarding bi-directional replication b/w Oracle databases 11.2.0.4.x/Linux x86-64. we didn't configure CDR yet. Due to same record update/commit at source and target database (during testings) at near same moment the subject error occurred (which was expected).   ---- ggserr.log related content 2017-09-18 16:39:11  WARNING OGG-02544  Oracle GoldenGate Delivery for Oracle, xxxx.prm:  Unhandled error (ORA-26787: The row with key ("xxxME", "xxxYPE", "USERID") = (POTS, POTS, legend) does not exist in table xxxxxxSER.UxxxxSORA-01403: no data found) while processing the record at SEQNO 0, RBA 39905062 in Integrated mode. REPLICAT will retry in Direct mode.2017-09-18 16:39:11  WARNING OGG-01154  Oracle GoldenGate Delivery for Oracle, xxxx.prm:  SQL error 1403 mapping xxxx.xx to xxxx.xx OCI Error ORA-01403: no data found, SQL <UPDATE "xxxx"."xxx" x SET x."ID" = :a0,x."DATETIME" = :a4,x."USERID" = :a5,x."SxxxPE" = :a6,x."xxAME" = :a7 WHERE x."UxxID" = :b0 AND x."xxxYPE" = :b1 AND x."xxxME" = :b2>.2017-09-18 16:39:11  ERROR   OGG-01296  Oracle GoldenGate Delivery for Oracle, xxxxb.prm:  Error mapping from xxxx.xxxx to xxxx.xxxx.2017-09-18 16:39:16  ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, xxxx.prm:  PROCESS ABENDING.----- That will be great if we discuss below related points - 1. what is the workaround to resolve above conflict and able to restart abended Replicat process as soon as possible ? 2. what should be your suggested CDR mapping/rules as we don't have timestamp datatype col in tables ? Thanks  Regards,Muhammad Ahmad
Hi Muhammad,Please check the below Document link,https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/conflict_resolution.htm#GWUAD999To use conflict detection and resolution (CDR), the target database must reside on a Windows, Linux, or UNIX system. It is not supported for databases on the NonStop platform.CDR supports data types that can be compared with simple SQL and without explicit conversion:NUMERICDATETIMESTAMPCHAR/NCHARVARCHAR/ NVARCHAR Regards,Veera
Hi Muhammad,As conflicts will always occur when you do bidirectional then you need to work out first by hand what is your business objective. It is not so much about Goldengate or any replication software for that matter. Let us take the above error , row not found trying to update xxxxxxSER.UxxxxS. You need to ask your application developers what to do. They might say, change this to an insert or discard this. With the rules established you can then code the required conflict solution in the replicat. See my post about bidirectional # https://www.linkedin.com/pulse/bidirectional-multi-directional-replication-kee-gan After you determine the business rules you can then implement them. If you have questions on how to do this please post them here.CheersKee Gan
Hi K. Gan, Thanks for your response. can you help to restart the replicate ?  Regards,
Starting the replicat is not an issue. What do you think you should do if you find an update to a row that does not exist. For example if you simply want to discard this you can put reperror (1430, discard) and restart the replicat. But is that what you want?Bidirectional replication needs a lot of planning, you need to work out all possible scenarios and work out exactly what you want to do in each of them. CheersKee Gan
Hi Muhammad, Kee is right. Before configuring CDR, you need to make correct plans on how you are going to resolve the conflicts. You have many options like below, > For an INSERTROWEXISTS conflict, use the USEMAX resolution: If the row exists during an insert, use the last_mod_time column as the resolution column for deciding which is the greater value: the value in the trail or the one in the database. If the value in the trail is greater, apply the record but change the insert to an update. If the database value is higher, ignore the record.> For an UPDATEROWEXISTS conflict, use the USEMAX resolution: If the row exists during an update, use the last_mod_time column as the resolution column: If the value in the trail is greater, apply the update.> For a DELETEROWEXISTS conflict, use the OVERWRITE resolution: If the row exists during a delete operation, apply the delete.> For an UPDATEROWMISSING conflict, use the OVERWRITE resolution: If the row does not exist during an update, change the update to an insert and apply it.> For a DELETROWMISSING conflict use the DISCARD resolution: If the row does not exist during a delete operation, discard the trail record. It all depends on how you handle the conflicts. But these things are required prior to OGG 12.3. From OGG 12.3.x, a new feature has been introduced called "Auto CDR" What’s New in this Release  Automatic Conflict Detection and ResolutionYou can configure and manage Oracle GoldenGate to automate conflict detection and resolution when it is configured in Oracle Database 12c Release 2 (12.2) and later.Regards,Veera
Good Day K. Gan reperror (1430, discard) << does worked well.  BUT >> reperror (-1, discard)reperror (00001,discard)     <<< didn't work to handle ORA-00001: unique constraint ggserr.log >>  WARNING OGG-02544  Oracle GoldenGate Delivery for Oracle, xxxx.prm:  Unhandled error (ORA-00001: unique constraint (xxxx.xxx_UNx_Ux) violated) while processing the record at SEQNO 16, RBA 4428 in Integrated mode. REPLICAT will retry in Direct mode.2017-09-25 09:25:56  ERROR   OGG-01029  Oracle GoldenGate Delivery for Oracle, xxxx.prm:  Extract reposition err -.2017-09-25 09:26:00  ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, xxx.prm:  PROCESS ABENDING. even reperror (default, discard)  didnt' change above error.  looks like for some how reperror is not executed at all. ? I have checked "unique constraint (xxxx.xxx_UNx_Ux)", there are no duplicate records found but above error re-occur when i restart abended replicat ?  Regards,Muhammad Ahmad
Hi Muhammad, Use the below reperror (1, discard) and check if this is working. Regards,Veera
Hi Veera, No use. error persists and replicat abending. Regards,Muhammad Ahmad
I think the reperror (1, discard) worked. The replicat abended on a different issue but the display is not complete. WARNING OGG-02544  Oracle GoldenGate Delivery for Oracle, xxxx.prm:  Unhandled error (ORA-00001: unique constraint (xxxx.xxx_UNx_Ux) violated) while processing the record at SEQNO 16, RBA 4428 in Integrated mode. REPLICAT will retry in Direct mode.2017-09-25 09:25:56  ERROR   OGG-01029  Oracle GoldenGate Delivery for Oracle, xxxx.prm:  Extract reposition err -.2017-09-25 09:26:00  ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, xxx.prm:  PROCESS ABENDING. The Warning indicated it worked or else it's an ERROR. The error is Extract reposition err -. but it is incomplete. Could you display the rest?Are you using classic or integrated?CheersKee Gan 

Sequence Error During Golden Gate Replication! Need Hints

Dear All,
I am replicating 2 databases one way, from production to standby using golden gate.
Both databases are 11gR2 and on Linux.
Replication runs smooth for couple of days and then ends up with this error:
ERROR OGG-01296 Error mapping from ETISLBILLING.PAR_TBLPARNODEIDENTI to ETISLBILLING.PAR_TBLPARNODEIDENTI.
Parent Ket Not Found ETISLBILLING.FK_PARTNERNODE_IDENT
Trigger : ETISLBILLING.TRG_PAR_TBLPARTNERNODE Sequence : SEQ_PAR_TblPartnerIdenti
ORA-20000: Sequence value cannot be changed.
Main error is that value of sequence that is executed during the after insert trigger, does not change and trigger raise error hence the replication process is stopped.
I am just worried that the same triggers and sequences are executed successfully on production database and standby database has is exactly the same as production.
Is there some special treatment for sequences?
Kindly share your experience and give tips to handle this situation
Regards, Imran 
Hi;
Please check below which could be helpful for your issue:
OGG Replicat errors with "OCI Error ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column" [ID 1363615.1]
OGG Replicat Encounters OGG-01396 OGG-00869 ORA-01400 on Primary Key Column [ID 1308824.1]
Regard
Helios 
No access sorry :(
Can I get some hints, I just have problem in sequences, rest the replication if perfect.
Thanks 
Hi,
Hope this helps
Jan S.
FROM MOS: OGG Replicat Encounters OGG-01396 OGG-00869 ORA-01400 on Primary Key Column [ID 1308824.1]
Cause
==================
from the replicat report, first this error occurs:
WARNING OGG-01396 A complete after image is not available
in <schema.table> at rba 123456 in file ./dirdat/yyy, while inserting
a row into <schema.table> due to missing target row for a key update operation.
NOCOMPRESSUPDATES or FETCHOPTIONS FETCHPKUPDATECOLS may be specified in the
EXTRACT parameter file to include a complete image for key update operations.
The offending record is a primary key update, ... probably the key
<to be found at the mentioned rba 123456 in file ./dirdat/yyy> is not available on target
if the PK is not available at target side, then this error is expected, because HANDLECOLLISIONS turns the PK update into an insert as result of no target record to update.
The problem is that the source PK update record doesn't contain all the after image columns. That is also expected because the update record is intended to only update the affected columns.
As a workaround use FETCHOPTIONS FETCHPKUPDATECOLS on the capture/extract side to get all the after images of the record so that when a HANDLECOLLISIONS logic kicks in, it will be
able to successfully convert the original PK update into insert with all the after image present.
Solution
==================
First check the affected trail file yyy at RBA 123456 with logdump to verify, if the PK update does not have the complete key information as described.
If that is the case and the target table does not have the corresponding PK entry, this issue is hit. Otherwise it is something different.
As a workaround use
==================
FETCHOPTIONS FETCHPKUPDATECOLS on the capture/extract side to get all the after images of
the record so that when a HANDLECOLLISIONS logic kicks in, it will be
able to successfully convert the original PK update into insert with all the after image present.

Goldengate table error and requirement

Hi All,
I need clarifications on below questions about the goldengate
1) Do we really need a primary key on every table for goldengate replication ?
2) if dont have a primary key Is there any way to replicate the table via GG ?
3) recently i configured bi-directional oracle-oracle GG, i got the below error i have a primary key for this table as well .. replicator process is ABENDED status
2012-03-29 09:41:20 WARNING OGG-01154 Oracle GoldenGate Delivery for Oracle, rep06.prm: SQL error 1 mapping TEST.EMP to TEST.EMP OCI Error ORA-00001: unique constraint (TEST.EMP_PK) violated (status = 1), SQL <INSERT INTO "TEST"."EMP" ("OBJECT_ID","NEW_COL") VALUES (:a0,:a1)>.
pls advice me on this ..
Regards
Kamal 
Hi.
1-2) GoldenGate works without primary key. But to have primary key is the best practice. If source table doesn't have a primary key GoldenGate will define all viable columns to represent uniqueness. But no guarantee for uniqueness.
KEYCOLS may also be used to define the key.
3) In a bi-directional configuration, use combination of IGNOREREPLICATES and GETAPPLOPS. This prevents the data that Replicat applies from looping back to the original system, which would cause duplicate-record errors.
Edited by: SaidK on Apr 2, 2012 10:46 PM

How to change status of a GG process from ABENDED to STOPPED

Hi,
In my setup, one of the goldengate process is ABENDED. Now I want to change the status of this process as STOPPED.
what is the procedure.
with regards
vina 
Vina,
You cannot change the status of the process with any commands. If the process if Abended, you need to troubleshoot through report file why it is Abended and then try starting it.
Thanks,
Kamal. 
Thanks kamal.
I am facing issue in OGG mgmt pack. If any process gets abended, the gg_instance of the setup will be displayed with "yellow". Until unless i make the abended process to running/stopped, it will not be turned "green". Some cases i resolve the issue and otherwise i would like to change the status from abended to stopped.
Is there any other workaround?
vina. 
There is a way.... Are you sure you want to do it?
GGSCI> INFO REPLICAT <foo>
Get the extseqno and extrba numbers.
GGSCI... Alter replicat <foo>, extseqno NNN, extrba NNN
(notice you aren't changing anything)
It should now be stopped not abended. 
Hi
Am also getting the same issue,
in source manager & extract is up and running,
In target, manager is running, but replicate status is abended.
Any idea for resolve this issue
in ggserr.log file it shows error,
2013-03-23 20:53:12 WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, rep1.prm: Repositioning to rba 11147 in seqno 0.
2013-03-23 20:53:12 ERROR OGG-01296 Oracle GoldenGate Delivery for Oracle, rep1.prm: Error mapping from SCOTT.SYS_EXPORT_SCHEMA_01 to SCOTT.SYS_EXPORT_SCHEMA_01.
2013-03-23 20:53:12 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep1.prm: PROCESS ABENDING. 
Kumar_4iapps
Notice the ERROR mentions "mapping". Verify that the Source and Target tables are identical and that you are using ASSUMETARGETDEFS in your replicat. If they are not the same, be sure to using column mapping in your replicat.
If all the above conditions prove to be invalid, check to see if your PK/UK are "VALIDATED". This is an issue with previous versions of GG. Check this metalink article [ID 1345152.1]. If there are not that many transactions to process you can disable your constraints on the target side and let GG map ALL of the columns in the table to let transactions flow through. Then renable your constraints. 
Hi
Thanks for the reply
Why i need to use ASSUMETARGETDEFS in replicat file? 
Hi
in source,
scott/tiger.
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BIN$2Ik0YUTjRNHgQBCsDgZekQ==$0 TABLE
BONUS TABLE
DEPT TABLE
EMP TABLE
EMPLOYEE TABLE
KUMAR TABLE
SALGRADE TABLE
In target,
scott/tiger.
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BONUS TABLE
DEPT TABLE
EMP TABLE
SALGRADE TABLE
SYS_EXPORT_SCHEMA_01 TABLE
in source side i was created table kumar, but in doesnt replicat into target why? 
If you are just getting mapping issue check the discard file and see if you are seeing any missing keycols error. This can happen if source and target tables are using different columns as key columns.
Please refer KM article Replicat Abending With Mapping Error and discard file shows Missing Key Columns [ID 1276538.1] 
If you are just getting mapping issue check the discard file and see if you are seeing any missing keycols error. This can happen if source and target tables are using different columns as key columns.
Please refer KM article *Replicat Abending With Mapping Error and discard file shows Missing Key Columns [ID 1276538.1]     *
Replicat requires either ASSUMETARGETDEFS or SOURCEDEFS for mapping the columns. ASSUMETARGETDEFS will instruct the replicat to use target definition whereas SOURCEDEFS will instruct the replicat to use source definition file.
Regarding your query, why create DDL statement is not applied to target side. Do you have DDL replication installed on the source. We may need extract and replicat report file for our analysis?
Thanks,
Himachalapathy

Categories

Resources