Forum Stats

  • 3,851,376 Users
  • 2,263,968 Discussions
  • 7,904,690 Comments

Discussions

replicat abend

829015
829015 Member Posts: 9
edited Jan 7, 2011 8:22AM in GoldenGate
Hi
i new with goldengate and i'm sorry if my english is bad.

i'm trying to do active-active replicat from oracle 10gr2 to oracle 10gr2 using goldengate

source n target have been running

when i create table in source, target will recognize that
but i have a problem
this is what i do.
source :
drop table a
target :
select * from table a -> the result is table a not found (extract and replicat still running)

then i do : select * from table a at source, then my replicat at target abend.
cannot find table sender.a

how can i handle this?

can anyone help me about sqlexec too?
how i use commit by using sqlexec? i put it on extract or replicat?
i need to do the extract n replicat commit the dml automatically.

therefore, i don't need to do commit everytime i do insert at source.

thanks for helllpppp.. really need this.

:)

Edited by: 826012 on Jan 6, 2011 2:17 AM

Edited by: 826012 on Jan 6, 2011 2:18 AM
Tagged:

Best Answer

  • Sebastian Czechowski
    Sebastian Czechowski Member Posts: 30
    Answer ✓
    Hi,

    To ignore the error insert in your replicat parameter file:
    discardfile ./dirrpt/rep1_discard, purge, megabytes 500
    ddlerror 942 discard include optype DROP

    Regarding your problem:
    Maybe operations keep circuling. Please add the following line in extract:
    ddloptions report, ignorereplicates

    If it abends again. please paste in the whole replicat report.

    Cheers

Answers

  • User152973
    User152973 Member Posts: 148
    Can you please post your extract and replicat parameters and also the error message.

    Thanks.
  • 829015
    829015 Member Posts: 9
    Source :
    extract ext_1
    userid oraclegg, password oracle
    rmthost 192.168.111.129, mgrport 7809
    rmttrail /u01/app/oracle/ggs/dirdat/aa
    ddl include mapped objname sender.*
    table sender.*;

    replicat rep_2
    assumetargetdefs
    userid oraclegg, password oracle
    map receiver.*, target sender.*;

    Target :
    extract ext_2
    userid oraclegg, password oracle
    rmthost 192.168.111.182, mgrport 7809
    rmttrail /u01/app/oracle/ggs/dirdat/bb
    ddl include mapped objname receiver.*
    table receiver.*;

    replicat rep_1
    assumetargetdefs
    userid oraclegg, password oracle
    map sender.*, target receiver.*;


    this is the error for rep_2 :
    2011-01-06 15:45:00 ERROR OGG-01296 Error mapping from RECEIVER.A to SENDER.A.

    next case is this :
    before i run my extract and replicat at source and target, i drop table A from schema receiver and sender, then when i start extract and replicat, the replicat (rep_1 and rep_2) are abended.

    error at rep_1 :
    2011-01-07 07:16:19 ERROR OGG-00519 Fatal error executing DDL replication: error [Error code [942], ORA-00942: table or view does not exist, SQL drop table "SENDER"."A" /* GOLDENGATE_DDL_REPLICATION */], no error handler present.


    error at rep_2 :
    2011-01-07 07:25:00 ERROR OGG-00199 Table RECEIVER.A does not exist in target database.

    what error handler to handle this? how can i use ignore?

    thanks for help......
  • Sebastian Czechowski
    Sebastian Czechowski Member Posts: 30
    Answer ✓
    Hi,

    To ignore the error insert in your replicat parameter file:
    discardfile ./dirrpt/rep1_discard, purge, megabytes 500
    ddlerror 942 discard include optype DROP

    Regarding your problem:
    Maybe operations keep circuling. Please add the following line in extract:
    ddloptions report, ignorereplicates

    If it abends again. please paste in the whole replicat report.

    Cheers
  • 829015
    829015 Member Posts: 9
    it's worked!!
    thanks, mr sebastian!! ^^

    would u please explain to me what that codes for?

    then, can u help me to do this :
    i want to make this extract do commit automatically after insert or update operations.
    so that, at sql plus of the source database, i don't need to do commit after insert or update operations.

    before... i have try to change my ext_1 params :

    extract ext_1
    userid oraclegg, password oracle
    rmthost 192.168.111.129, mgrport 7809
    rmttrail /u01/app/oracle/ggs/dirdat/aa
    ddl include mapped objname sender.*
    table sender.*, sqlexec("commit;");

    but it turn to abended. it's error when i use sqlexec like that.
    can u tell me how to use sqlexec?

    thanks for help, all... :D
  • Hi,

    It's better to put this question into another thread.
    It's clearer and easier to find answers. Can you please do that?

    Also please send abend error message.

    Thanks
    Sebastian
  • hi,

    The extract cannot commit the source operation.
    It reads the DML data from the redo logs, and only writes it to disk when reads the commit.
    it will not do the commit for you.

    regards,
    Eric.
    Ericee-Oracle
  • 829015
    829015 Member Posts: 9
    ok. i'll put this question to another thread...

    @eric thanks for the information...
This discussion has been closed.