How to continue after replicat abended?

Hi,
If my replicat abended fron user error - how do I proceed?
With streams we sometimes fix the row (update/delete/insert) and did retry all error and sometimes we just expdp the data...

Find out what the error is/was. Use a discard file, add in your own exception handling, look at the replicat report/ggsevt log. Fix and then restart the replicat.

Similar Messages

  • PL SQL with multiple inserts, how to continue after exception is raised

    Hi,
    I have a simple PL SQL function with various inserts. ex:
    Insert Into "DI01"."DUA_DIM_UNITE_ADMIN" (Ide_Unite_Admin_Sk, Num_Unite_Admin, Des_Unite_Admin) Values ('-1', '00000000', 'Défaut');
    INSERT INTO "DI01"."DUA_DIM_UNITE_ADMIN" (IDE_UNITE_ADMIN_SK, NUM_UNITE_ADMIN, DES_UNITE_ADMIN) VALUES ('-2', 'S. O.', 'Sans Objet');
    Insert Into "DI01"."DCU_DIM_CATGR_UNSPS" (Ide_Catgr_Sk, Num_Code, Des_Code, Num_Catgr, Des_C.........
    I want to be able to run the function multiple times, and have all the inserts executed everytime, even if I get a ORA-00001 unique constraint (string.string) violated error in on of the inserts. That means that if I get an error in the first insert, I want the function to continue running and executing the consecutive inserts.
    I though of including each insert in a different block, like:
    BEGIN
    Insert......
    When Exception then null;
    END;
    BEGIN
    Insert......
    When Exception then null;
    END;
    But I have at least 50 inserts, so the final code becomes huge.
    Another solution is to use merge inseat of insert, but the code seems too complex for such a simple task.
    Is there any other solution for this that I am not seeing?
    Thank you for your time,
    Joao Moreira

    You can use DML error logging approach or FORALL SAVE EXCEPTIONS.
    Since you didn't mention the version I assume you are using 11g.
    Below is the sample code for DML error logging mechanism
    SQL> select * from v$version;
    BANNER                                                                         
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production   
    PL/SQL Release 11.2.0.3.0 - Production                                         
    CORE 11.2.0.3.0 Production                                                     
    TNS for Linux: Version 11.2.0.3.0 - Production                                 
    NLSRTL Version 11.2.0.3.0 - Production                                        
    SQL> DROP TABLE tableA;
    Table dropped.
    SQL> DROP TABLE Err$_tableA;
    Table dropped.
    SQL>
    SQL> CREATE TABLE tableA
      2  (
      3     col1   NUMBER PRIMARY KEY,
      4     col2   NUMBER,
      5     col3   VARCHAR2 (10)
      6  );
    Table created.
    SQL>
    SQL> -- Create error log table
    SQL>
    SQL> BEGIN
      2     DBMS_ERRLOG.create_error_log (dml_table_name => 'TABLEA');
      3  END;
      4  /
    PL/SQL procedure successfully completed.
    SQL>
    SQL> BEGIN
      2     FOR i IN (SELECT 1 AS col1 FROM DUAL
      3               UNION ALL
      4               SELECT 1 FROM DUAL)
      5     LOOP
      6        INSERT INTO tableA (col1)
      7             VALUES (i.col1)
      8                LOG ERRORS INTO Err$_tableA REJECT LIMIT UNLIMITED;
      9     END LOOP;
    10 
    11     COMMIT;
    12  END;
    13  /
    PL/SQL procedure successfully completed.
    SQL> column column_name format a30
    SQL> set linesize 300
    SQL> select * from tableA;
    SQL> select * from err$_tablea;
    Thanks,
    GPU

  • How to continue after dbx breakpoint?

    Hello,
    I think this will be a very easy question:
    I am using dbx for investigating memory leaks in a C++ program on a SUN machine. As the memory leak is located in an (internal) platform piece of code, the depth of the stack trace is only two levels (one lowlevel and one internal platform lowlevel).
    As it takes quite some time to solve this internal platform code, I prefer to avoid the usage of the internal platform function in which the memory leak is detected. In order to do this, I need to know where I use the mentioned function.
    As I did not succeed showing this information in the stack trace I have decided to put a breakpoint on the leaking function, launching the process and showing the stack trace (with the dbx "where -l" command) the mentioned breakpoint is reached.
    My idea was to have something more or less like this:
    (dbx) run <parameters>
    (dbx) stopped at <breakpoint>
    (dbx) where -l
    [1] <lowlevel file>.<lowlevel function> at <lowlevel address>
    [2] <platform file>.<platform function> at <platform address>
    [3a] <process file_a>.<function_a> at <address_a or line number_a>
    (dbx) cont
    (dbx) stopped at <breakpoint>
    (dbx) where -l
    [1] <lowlevel file>.<lowlevel function> at <lowlevel address>
    [2] <platform file>.<platform function> at <platform address>
    [3b] <process file_b>.<function_b> at <address_b or line number_b>
    (dbx) cont
    (dbx) stopped at <breakpoint>
    (dbx) where -l
    [1] <lowlevel file>.<lowlevel function> at <lowlevel address>
    [2] <platform file>.<platform function> at <platform address>
    [3c] <process file_c>.<function_c> at <address_c or line number_c>
    so that I would know the process files/functions a, b, c and would be able to avoid the usage of the leaking function.
    Now the problem: If I use this procedure, the "cont" command does not go until the next time the breakpoint is reached, but always stays at the same place, as the breakpoint blocks the continuation of the execution.
    Is there a dbx command that says "step over this breakpoint and continue execution until the next breakpoint"?
    I have already tried with "step n" and "next" but as my code is compiled without the '-g' compiler option, these commands don't work.
    Thanks
    Dominique

    Okay, so if it's sparc then I don't know what happened; if it's x86 then I probably do.
    There's a bug in Solaris' procfs introduced with the following patches that can make (and will make in most cases) dbx hang when using RTC on x86 machines:
    - Solaris 9 x86: 118559-10
    - Solaris 10 x86: 118822-19
    If you have those patches, you'll need to either uninstall them or wait for the bug to be fixed.
    You can check patch presence with
    $ showrev -p | grep <patch id>

  • How to continue after Quiz results page?

    Hi their,
    I have published my quiz in AICC and SCORM complaint mode but
    when I browse the output of the export and take the quiz, I come to
    the final screen of "Your Score" but than the "continue" button
    does not work.
    Where do I set the custom LMS setting or my personal
    solution, is it inside the Manage Quiz section or is it in the
    Publish settings section?
    any guidance will be very helpful as I just started to
    research this yesterday as my client has already purchased the
    software and asking for me to help them out.
    Thanks in advance,
    Wasay

    I setup now to Open URL on pass or fail but when I click the
    continue nothing happens.
    I even gave the full
    http:// ... /filena.html and even then nothing
    is happening in the browser?
    what can I do about it? does the actions take place in the
    background and thats why I am unable to see any changes on the
    flash file screen?

  • I could not see how to continue after upgrade to firefox 4. This has never been a problem with ast upgrades. I am finding Firefox to be very user unfriendly for non-tech people.

    I am being told that my current version of firefox is no longer protected. When I tried to upgrade to firefox 4 some time ago, the menu bar(?) was gone--no bookmarks. I set my computer back to an earlier date to get my book marks back and have been afraid to attempt this upgrade again. Firefox also appears to have tried to do the upgrade automatically and says I have incompatible add-ons. I have never had problems with previous updates. I have read negative reviews of firefox 4 and am frankly afraid of it. I hate to leave firefox and am afraid of losing my book marks as well. I find the "Help" forums etc. here extremely difficult to navigate and they seem to be aimed at people who are more tech savy than many of us are.

    #Firefox 3.5.19 which you are using is no longer supported and is not being updated for any issues, including security problems.
    #The Menu Bar (File, Edit, View, History, Bookmarks, Tools, Help) was replaced in Firefox 4 by the "Firefox button" in the upper left corner
    #*You can turn the Menu Bar back on by doing one of the following in Firefox 4:
    #**click Firefox button, click Options, click Menu Bar to select it
    #**HOLD down the ALT key while pressing the keyboard letters VTM
    #**right-click on an empty space in the Navigation Toolbar, then click Menu Bar to select it.
    #Some information about Firefox 4 changes:
    #*https://www.mozilla.com/en-US/firefox/features/
    #*there is a link "watch the video" under '''''Improved Interface''''' on the above page
    #You can make Firefox 4 look more like prior versions: http://www.computertechtips.net/64/make-firefox-4-look-like-ff-3-6/
    Your bookmarks should be safe during the upgrade; they are in a separate place on your hard drive. You should keep them backed-up in case of any problems with your system. See:
    *https://support.mozilla.com/en-US/kb/Backing%20up%20your%20information#w_backing-up-your-profile
    *http://kb.mozillazine.org/Profile_backup
    *http://kb.mozillazine.org/Profile_folder_-_Firefox

  • How can I measure a current continually after switching it to a DMM?

    Whether a current could be measured continually after switching it to a DMM? How to write the scan list? 
    I tried many times and failed. 
    Thanks advance
    小木虫

    Hi 小木虫,
    Ignore my first reply.  I misunderstood your question and provided an example of how to create a "make before break" scan list entry.  You do not need this for your application.  I think "break before make" will suffice.
    I now understand that you want to make multiple current measurements after creating a switch connection.  The scan list entry you provided: r2->c0 & r3->c1; will create the connection required for the DMM to measure the current flowing between c0 and c1.  However, the DMM will send a trigger back to the switch after making its first measurement.  
    One way to make multiple measurements is to create multiple connection entries in the scan list.  Each scan list entry triggers the DMM to make one measurement.  I don't like this idea much, as it will actuate the relay many times (once for each measurement). 
    Is hardware-timed operation necessary?  If you used a switch software trigger, you could make the scan list connection (r2->c0 & r3->c1; ) and then begin a DMM multi-point acquisition.  Once you've collected all the required current measurement samples, you could send another switch software trigger to continue with the next scan list entry. 
    Will this work?
    Chad Erickson
    Switch Product Support Engineer
    NI - USA
    Message Edited by Chad PSE on 02-20-2009 01:51 PM

  • How to continue to read Object from a file?

    At some program I write an object into a file. This program will be called again and again so that there are many objects which are saved to that file. And I write another program to read object from this file. I can read the first object but can not read the second. However if I delete the object in that file (using editplus, by manually) I can read the second. Because now the second object is the first object. (Delete first object).
    The exception when I read the second object is below:
    java.io.StreamCorruptedException: Type code out of range, is -84
         at java.io.ObjectInputStream.peekCode(ObjectInputStream.java:1607)
         at java.io.ObjectInputStream.refill(ObjectInputStream.java:1735)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:319)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:272)
         at LogParser.main(LogParser.java:42)
    Exception in thread "main" The read object from file program is below:
         public static void main(String[] args) throws Exception {
            FileInputStream fis = new FileInputStream(path + File.separator + "ErrorApp21config2.log");
            ObjectInputStream ois = new ObjectInputStream(fis);
            ErrorLog errorLog = (ErrorLog)ois.readObject();
            System.out.println(errorLog.getErrorDate());
            FIFData fifData = (FIFData)errorLog.getErrorDescription();
            CommRegistration commRegistration = (CommRegistration)
                                     fifData.getDataObject(FIFData.REGISTRATION_DATA);
            String ic = commRegistration.getPatient().getPatExtID();
            System.out.println(ic);
            CommQueue commQueue = (CommQueue) fifData.getDataObject(FIFData.QMS_DATA);
            String location = commQueue.getLocation();
            System.out.println(location);
            ois.readObject();  //will throw above exception
            fis.close();
         }Can anyone tell me how to continue to read object? Or I should do some special things when I write object into file?

    Thanks Jos.
    Perhaps you are correct.
    There are some code in a SessionBean to log an object. Write file code is below.
         private void logPreRegError(
              byte[] strOldFifData,
            byte[] strNewFifData,
              String requestID)
              throws TTSHException {
              if (requestID.equals(RequestConstants.ADMIT_PATIENT)){
                String runtimeProp = System.getProperty("runtimeproppath");
                FileOutputStream fos = null;
                   try {
                        fos = new FileOutputStream(
                            runtimeProp + File.separator + "Error.log", true);
                    BufferedOutputStream bos = new BufferedOutputStream(fos);
                    bos.write(strOldFifData);
                    bos.write(strNewFifData);
                    bos.flush();
                   } catch (FileNotFoundException e) {
                        log(e);
                   } catch (IOException e) {
                    log(e);
                   } finally{
                    if (fos != null){
                             try {
                                  fos.close();
                             } catch (IOException e1) {
                                  log(e1);
         }strOldFifData and strNewFifData are the byte[] of an object. Below is the code to convert object to byte[].
         private byte[] getErrorData(FIFData fifData, boolean beforeException, String requestID) {
            ErrorLog errorLog = new ErrorLog();
            errorLog.setErrorDate(new Date());
            errorLog.setErrorDescription(fifData);
            errorLog.setErrorModule("Pre Reg");
            if (beforeException){
                errorLog.setErrorSummary("RequestID = " + requestID +" Before Exception");
            }else{
                errorLog.setErrorSummary("RequestID = " + requestID +" After Exception");
              ByteArrayOutputStream baos = null;
              ObjectOutputStream oos = null;
              byte[] bytErrorLog = null;
              try {
                  baos = new ByteArrayOutputStream();
                   oos = new ObjectOutputStream(baos);
                  oos.writeObject(errorLog);
                  oos.flush();
                  bytErrorLog = baos.toByteArray();
              } catch (IOException e) {
                   log(e);
              } finally {
                if (baos != null){
                        try {
                             baos.close();
                        } catch (IOException e1) {
                             log(e1);
              return bytErrorLog;
         }I have two questions. First is currently I have got the log file generated by above code. Is there any way to continue to read object from log file?
    If can't, the second question is how to write object to file in such suitation (SessionBean) so that I can continue to read object in the future?

  • To retrieve data after process abended

    Hi everyone,
    Is there any method of replicating the DDL,DML 's fired after the processes like replicat abended.
    Currently i am using : alter replicat rep1 begin now
    It seems to work to make processes running again but the i lost the data that was replicated after the process abended.
    plz help......
    thanks
    Saurav

    Hi,
    1.
    My Suggestion is NOT to use BEGIN NOW option with Replicat. This will make your target tables go out of sync and miss some of the DML/DDL as you are altering replciat to process from current time stamp instead of recovery.
    GGSCI>alter replicat rep1 begin now
    Instead you should always start at seqno 0 and RBA 0 if you are starting fresh or starting Relicat for first time
    GGSCI>alter replicat <replicat_name>, Extseqno 0, Extrba 0
    GGSCI>start replicat <replicat_name>
    OR
    if the Replicat has abended earlier and you would like to restart it, you should simply restart it as it will have all the checkpoint information with it and it will automatically start processing data from the recovery checkpoint(trail file).
    GGSCI>start replicat <replicat_name>
    OR
    If you intend to start processing fom a specific trail file then you should use below command
    Example:
    $cd trail
    $ls -ltr
    lt000123
    lt000124
    lt000125
    If you are sure that the Replciat processed trail file 123 and you would like to start from trail file seq 124 then try
    GGSCI>alter replicat <replicat_name>, Extseqno 124, Extrba 0
    GGSCI>start replicat <replicat_name>
    OR
    If you want to start processing from specific record or start of transaction with in a trail file then you could use LOGDUMP utility to find the RBA and use the same to alter the Replicat.
    GGSCI>alter replicat <replicat_name>, Extseqno 124, Extrba 8999934
    GGSCI>start replicat <replicat_name>
    2.
    As you have already lost some of the data and your target DB is already out of sync, I would suggest below method to resync it.
    full database export using expdp(Oracle Source to Oracle Target)
    1) Enable Minimal Supplemental Logging in Oracle on source
    SQLPLUS > alter database add supplemental log data ;
    2) Enable Supplemental Logging at Table Level on source
    GGSCI> dblogin userid xxxxx password xxxxxx
    GGSCI> add trandata <schema>.<tablename>
    3) Add Extract, Add Exttrail, Add Pump, Add Rmttrail on source
    4) Start Extract, Start Pump on source
    5) Create a database directory:
    SQLPLUS> create directory dumpdir as '<some directory>' ;
    6) Get the current SCN on the source database:
    SQLPLUS> select current_scn from v$database ;
    28318029
    7) Run the export using the flashback SCN you obtained in the previous step. The following example shows running the expdp utility at a Degree Of Parallelism (DOP) of 4. If you have sufficient system resources (CPU,memory and IO) then running at a higher DOP will decrease the amount of time it takes to take the export (up to 4x for a DOP of 4). Note that expdp uses Oracle Database parallel execution settings (e.g.parallel_max_servers) which have to be set appropriately in order to take advantage of parallelism. Other processes running in parallel may be competing for those resources. See the Oracle Documentation for more details.
    a.expdp directory=dumpdir full=y parallel=4 dumpfile=ora102_%u.dmp flashback_scn=28318029
    Username: sys as sysdba
    Password:
    Note: The export log needs to be checked for errors.
    8) Start an import using impdp to the target database when step 7 is complete.
    9) Add and Start Replicat:
    GGSCI> add replicat <rep_name>, exttrail ./dirdat/<xx>
    GGSCI> start replicat <rep_name>, aftercsn <value returned from step 6>
    Hope this information helps.
    Thanks & Regards
    SK

  • How to continue double sided scan if paper feed error.

    I was scanning a double sided 100+ page document in a paper feed single side scanner. Upon completed scan of the first side, adobe acrobat prompted to turn over the stack and begin scan of the reverse side of the last page. After doing this the paper went into my scanner crooked somehow (feeder errror perhaps) and caused a paper jam. After fixing the paper jam and pressing continue on the popup... Adobe Acrobat canceled the rest of the scan instead of prompting to continue the scan after the error. This is extraordinarily aggravating. How to I go about continuing the scan process so that the pdf document is made in proper order??? I Googled "How to continue Adobe Acrobat pdf scan of reverse side if paper jam" and similar search phrases and found NO relevant results explaining how to do this.

    Which scanner, OS platform and acrobat version are you using?

  • Macbook won't respond until moved, especially during authentication. Continued after upgrade to Lion.

    My Macbook won't respond until I physically pick it up and move it, especially during authentication. This continues after upgrade to Lion. How can I resolve this?

    This is almost certainly a hardware problem, that will require the skills of a certified Apple repair shop to fix.

  • BDC - continue after error

    Hi,
    1) How do I make the BDC that I am working on continue in the background, even if there is an error (Say a field isn't filled in or the entry is not valid, which can occur when a certain entered number does not exit in the database.)
    It should continue from the record following the one that caused an error.
    2) When the error occurs, I want to mark one field with the value 'X'. This is done, so that after all processing is complete, I will display a write screen with a field from the table, where the last field is marked as x.
    Thanks,
    John

    hi
      s...the error record will be skipped and the bdc will continue with the next record, if the mode is N
    chk this thread
    BDC - continue after error
    if helpful, reward
    Sathish. R

  • How to refresh after delete the records in ALV report ?

    Hi Friends,
    How to refresh after delete the records in ALV report.
    I am deleting records in ALV report .
    After successful delete the screen should refresh.
    u201C Deleted records should not appear in the screen u201C.
    Please guide me.
    Regards,
    Subash

    Hi subhash,
    FORM user_command USING r_ucomm LIKE sy-ucomm      rs_selfield TYPE slis_selfield.
    WHEN 'BACK'.
    Refresh the internal table from the ALV grid
          PERFORM update_alv_tab.
    ENDFORM.                    "user_command
    FORM update_alv_tab .
      DATA :  e_grid TYPE REF TO cl_gui_alv_grid.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          e_grid = e_grid.
      CALL METHOD e_grid->check_changed_data.
      "update_alv_tab
      CALL METHOD e_grid->refresh_table_display.
    ENDFORM.                    " UPDATE_ALV_TAB
    Then see in Debug mode is it updating or not..
    Please confirm .
    And please paste the code if you can.
    Regards.

  • How to continue the screen in Screen -painter?

    Hi friends can anybody help me out in knowing how to continue the fields in screen painter. For clear explanation i have got 20 fields to be entered in my form, but when i am going to layout of screen painter i have been able to accomadate only 12 the rest 8 i want to be in continuation.
    hope you can under stand.
    suppose if this is the layout
                                     Registration
    01. ......
    02. ,,,,,,
    12. ,,,,,,,,
    i have accomadated in one single screen
    i want to accomadate the rest 8 in continuation can i know how?
    please its urgent for me.

    hi
    increase the window size.
    regards
    sreelatha gullapalli

  • How to stop  after first loop operation  over?

    Hi friends.
    How to stop  after first loop operation  over?
    I have a loop operation in module pool program.
    After first loop over I want to stop.
    I used the STOP keyword, but it is going to dump.
    Thanking you.
    Regards,
    Subash

    Hey,
    The statement STOP is forbidden in methods and, since release 6.10, leads to an uncatchable expection during the processing of screens called with CALL SCREEN...
    As they said above, use a EXIT statement to fix this DUMP...
    Regards,
    Diogo Carvalho

  • How to check at replicat process a target conditional before add

    How to check on replicat , check on target table conditional before add data.
    Example :
    REPLICAT
      SOURCEDEFS /u01/app/oracle/ggs_2/dirdef/TABLE_SOURCE
    MAP  sourcet.table,target.table
    QUERY "SELECT A.COL3 FROM TABLE_SOURCE A, TABLE_DEST B where B.COL1=B.COL2"),
    COLMAP ( A.COL3, B,COL3);

    Thanks for you answers
    I mean someone like this :
    TARGET:  TABLE_C
    TABLE_A replicat direct to TABLE_C
    TABLE_B will replicat only if TABLE_A was replicated and have this values previus add with replicated TABLE_A
    how to check if TABLE_A was previously replicated?  is possible on Golden gate ?
    create or replace procedure oracle2.lookup_ACCOUNT(acc_code in varchar,acc_cta out number)
    as
    begin
    select count(*) into acc_cta from oracle2.TABLE_B where COLC_1 =acc_code AND COLC_2 =acc_code
    end;
    REPLICAT rload1
    USERID oracle2,PASSWORD extuser2
    SOURCEDEFS ./dirdef/defTABLE_A.def <  [TABLE_A + TABLE_B]
    DISCARDFILE ./dirrpt/rload1.dsc, PURGE
    MAP ORACLE.TABLE_A,TARGET ORACLE2.TABLE_C,&
    COLMAP(COLC_1=COLA_1,COLC_2=COLA_2,);
    MAP ORACLE.TABLE_B,TARGET ORACLE2.TABLE_C,&
    SQLEXEC (ID lookup,SPNAME oracle2.lookup_ACCOUNT , PARAMS (acc_code=TABLEA.COLA_1)),&
    FILTER (@GETVAL((lookup.acc_cta) > 0)),&
    COLMAP(COLC_3=COLB_1,COLC_4=COLB_2,);
    Thanks

Maybe you are looking for

  • How do I make text in an ul shift left closer to the bullet?

    How can I make the text in a <ul> list shift to the left a little so that it is closer to the <li> bullet? I assume I should use CSS for this.

  • Batching outbound transactions

    I have a business requirement to correlate and batch outbound responses with inbound transactions. I receive inbound files from various customers that contain a set of documents I need to construct the outbound file with responses to the same set of

  • Dynamically loading a movieclip...

    Hi All.. I know this sounds pretty pathetic.. but I can't get to load a movieClip dynamically... I have this code: import flash.display.MovieClip var myButton:MovieClip = new MovieClip; myButton.x = 30; myButton.y = 30; addChild(myButton); Also, I ex

  • Can i rejoin ny SCVMM 2012 server to domain with same name & IP address?

    Dear all.. I am in situation where i have to rejoin my scvmm server to  domain with same name & ip address.one of the fool admin has deleted my SCVMM's computer object from AD. I have recreated the object & tried to log on but no luck.. i have to rej

  • TS1717 itunes shuts down when printing a playlist

    my itunes always shuts down when printing a custom playlist.  Can anyone help me with this?