Forum Stats

  • 3,817,240 Users
  • 2,259,294 Discussions
  • 7,893,710 Comments

Discussions

Replicate Abended with NO DATA FOUND

user10126973
user10126973 Member Posts: 154 Blue Ribbon

Hi All,

I have classic extract/replicate for data replication, Once of the replicated abended with no data found issue

when I check report file its trying update a record but the record not found , then I checked in the source with that Id the record exists in the source but not in the target.

I have scan through logdump source and target i did not found insert statement in that trail file, then I did data mine I found insert statement , Somehow GG did not capture insert statement

How to avoid this kind situation ? , Please share your thoughts if you have encountered this issue

My GG version oracle 12.3 and DB version oracle 11.2.4

Regards,

DR

Comments

  • ORASCN
    ORASCN Member Posts: 1,868 Bronze Crown

    You need to perform the Initial Load before starting the Online replication. If Initial Load is not performed, then we hit with such issues. Resync the table and then start the replication.

    Regards,

    Veera

  • user10126973
    user10126973 Member Posts: 154 Blue Ribbon
    HI Veera,
    Table was sync from  source to target  since oct 10th but suddenly came on 22nd as no data found issue 
    I guess this is not a initial load issues , somehow GG did not capture particular insert for that table that time 
    
    So would you suggest  INSERTMISSINGUPDATES?
     Please share your thoughts.
    Regards,
    DR
    


  • ORASCN
    ORASCN Member Posts: 1,868 Bronze Crown

    Yes, we can use INSERTMISSINGUPDATES, but that is not a permanent solution. Also, to use this parameter, you should have enabled supplemental log (trandata) for all the columns of that table. If not, again it will abend with (ORA-1400 - Cannot Insert NULL to NOT NULL columns).

    If the Extract has missed that particular INSERT operation, then, that should be a bug.

    As discussed, we need to analyze why the record was not there the target side. The possible reasons causing this issue are below,

    1. The Extract might have missed to capture this INSERT

    2. The Pump would have missed to transfer this INSERT

    3. The Replicat process would have missed to apply this INSERT to the target.

    4. Improper Initial Load performed.

    5. Someone would have deleted this record manually in the Target server.

    But to isolate the issue,

    1. We need to know the timestamp and ROWID of this INSERT. For the timestamp, you can check with your Application team to get it.  

    2. Once you get the timestamp, you can mine the archive logs generated during that timestamp and get the ROWID of the INSERT record.

    3. Once you get the ROWID, you can do Logdump (Filter using ROWID) on the target trail files which are generated during this timestamp. If you find this record in the Target, then above reasons 3, 4 and 5 might be the cause.

    4. If you didn't find this record in the target, then go to the Source side, and do Logdump (Filter using ROWID) on the Source trail files which are generated during this timestamp. If you find this record, then the above reasons 2 might be the cause.

    5. If the record is not there in the Source trail itself, then the issue is with the Extract process, which has missed to capture this INSERT.

    This is how we need to troubleshoot this issue. But, we firstly know the timestamp of the INSERT record. Please get in touch with the Application team and get back to us with the information 

    so that we can go ahead on the analysis.

    Regards,

    Veera

    Vikas Panwar