ORA-01403: No data found (Occured in UPDATE Statement)

Dear All,
I am getting No data found error while executing the following UPDATE statement.
UPDATE DEAL
SET CLIENT_CD = 'HDMJARVN'
WHERE CA_REF_NO = 70728
AND CLIENT_CD = 'HDMJARVI';
Wheareas
SELECT *
FROM DEAL
WHERE CA_REF_NO = 70728
AND CLIENT_CD = 'HDMJARVI';
Gives me 1 row.
Please explain.....
Thanks in Advance.

UPDATE DEAL
t line 1:
ORA-01403: no data foundHi Yogesh,
I created a trigger on a table "CHILD" which fires during UPDATE statement. As you may notice, the trigger raises "no data found" exception which is not handled as a result the update ends up with an error.
Similar is your case, investigate the trigger to resolve the issue.
SQL> desc child
Name                                      Null?    Type
B                                                  NUMBER
SQL> create or replace trigger child_trig
  2  after update of b on child
  3  referencing old as old new as new
  4  for each row
  5  declare
  6    l_dummy number;
  7  begin
  8    select 1 into l_dummy from dual where dummy = 'TEST';
  9  end;
10  /
Trigger created.
SQL> select * from child;
         B
         1
SQL> update child set b = 5;
update child set b = 5
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "TEST.CHILD_TRIG", line 4
ORA-04088: error during execution of trigger 'TEST.CHILD_TRIG'
SQL>Regards

Similar Messages

  • "ORA-01403 no data found" on TableAdapter Update

    I have a C# application with an Oracle TableAdapter with which I am calling an insert function like this:
    mtTestResultsTableAdapter.InsertResults(grp_dscr, grp_id, tst_id, tran_type_dscr, tran_mod_dscr, tst_dts, c_rslt, vb6_rslt, cmp_rslt, c_tm, vb6_tm, tst_errs);
    I am getting Oracle exception "ORA-01403 no data found" on this call. I am not sure why I'm getting the error, this is the SQL it is supposed to run:
    INSERT INTO "TEST_UTIL_RESULTS" ("GRP_DSCR", "GRP_ID", "TST_ID", "TRAN_TYPE_DSCR", "TRAN_MOD_DSCR", "TST_DTS", "C#_RSLT", "VB6_RSLT", "CMP_RSLT", "C#_TM", "VB6_TM", "TST_ERRS") VALUES (:GRP_DSCR, :GRP_ID, :TST_ID, :TRAN_TYPE_DSCR, :TRAN_MOD_DSCR, :TST_DTS, :C#_RSLT, :VB6_RSLT, :CMP_RSLT, :C#_TM, :VB6_TM, :TST_ERRS)
    I ran the SQL directly from TOAD, and it worked fine with no issues. Maybe the TableAdapter is running some other sort of query before calling Insert?
    Everything I tried still gave me the same error. I posted this on MSDN but got no reply. It is very frustrating, has anyone encountered this, or does anyone have any idea how to debug this? Thank you in advance.

    I changed my function to use a Stored Procedure instead of direct sql, but that made no difference. I think the problem has something to do with the fact that 4 of the fields (C#_RSLTS, VB6_RSLTS, CMP_RSLTS, and TST_ERRS) are of type "Clob" in the DB. What do I need to do to get it to work with my Clob fields?

  • ORA-01403 No Data Found error on Update

    I am having difficulty troubleshooting a form (6i) where the data can not be updated. This form was recently modified by another developer (who is no longer w/ us) and we removed a unique key from the items list in the data block, however the particular field is still contained in the table. There are no constraints on any fields in this table.
    I have a button pallette in the form and when I try to update and save, I get the "No Data Found" error message. However, I know there is data in the record but I can not figure out why the error.
    When I display the error, the sql code looks something like this:
    UPDATE db.temp
    SET P_ID=:1,S_ID=:2
    WHERE ROWID=:3
    I put a message in the do_key('list_values') trigger to show me the rowid but nothing comes up. I wonder if this has something to do with that and if so, why and how do I fix it?
    Appreciate any direction any of you can provide in coming to a solution on this. Thank you.

    I don't explicitly say ROWID=:3, what I mean, I
    didn't code the update query. My understanding is
    that it is done behind the scenes given the items in
    the data block. Ok, I couldn't tell from the post whether it was explicit or not. This is from
    Oracle FAQ:
    "I get 'NO DATA FOUND' errors. How does one handle this?
    An ORA-1403 (No Data Found) error is signalled within a replicated environment when there is a conflict in data. Here is an illustration of what happens in most scenarios featuring this error:
    Let's say we need to update a table and set column x=1 where x=9. When the first change occurs on the source database, Oracle checks to ensure that x=9. Once this transaction commits, it is queued for execution on the destination site(s). When the transaction is applied to the destinations, Oracle first check to verify that x=9 (the old value); if it does, then Oracle applies the update (update table set x = 1 where x = 9); if it does not, an entry to the DEFERROR table is logged indicating ORA-1403.
    If the application is updating primary key values, one can also expect plenty "NO DATA FOUND" errors. Primary keys should NEVER be updated. If one updates primary key values, conflict resolution also becomes extremely difficult. "
    Check your pll file and anywhere else you are using db.temp. Then check the the update using PLSQL.

  • ORA-01403 No DATA FOUND Error

    Hi all,
    I have a Select Statement and when there is no record returned by the select I have the following error :
    ORA-01403 NO DATA FOUND. Is there a parameter or something I can change to avoid this error to occure ?
    Any help will be appreciated.
    Kind regards.
    Sébastien.

    The following query returns no row and an Exception ORA-01403 NO DATA FOUND occurs when I execute the statement.
    OPEN curs_Dealers FOR
    Select DD.DealerID, DEDP.FullName
    FROM D_Dealer DD, D_EditionDealerParticipation DEDP, T_LAnguage TL
    WHERE DEDP.FairEditionID = FairEditionID_ AND
    DEDP.DealerID = DD.DealerID AND
    DD.LanguageID = TL.LanguageID AND
    TL.LanguageTranslationID = LanguageID_
    ORDER BY FullName;
    The following query does not return any result either and there is no ORA 01403 NO DATA FOUND Exception thrown.
    It just returns an empty cursor.
    OPEN curs_Object FOR
    SELECT TOb.Title, DO.EntityID, DO.ObjectID
    FROM D_Object DO, T_Object TOb, D_Dealer DD
    WHERE DO.ObjectID = TOb.ObjectID AND
    TOb.LanguageID = Language_ID AND
    DO.DealerID = DD.DealerID AND
    DD.SiteID = Site_ID
    ORDER BY TOb.Title;
    Do you have any idea why those query does not returns the same thing?
    I'm using Oracle 10G
    Regards.

  • REP-1401: Fatal PL/SQL error occurred. ORA-01403: no data found

    Hi guys,
    I am getting error 'REP-1401: Fatal PL/SQL error occurred. ORA-01403: no data found ' when run the report
    and i m also use formula column in my report.
    can any body help me why it's coming.
    following code is used in formula column plz check and verify:
    function CF_3Formula return Char is
    T1 VARCHAR2(100);
    begin
    SELECT
         VAT_REG_NO INTO T1
    FROM
         JA_IN_HR_ORGANIZATION_UNITS JIHOU,
         HR_LOCATIONS HL--,
         --MTL_TXN_REQUEST_HEADERS MTLH
    WHERE
    JIHOU.ORGANIZATION_ID=HL.INVENTORY_ORGANIZATION_ID AND
    JIHOU.LOCATION_ID=HL.LOCATION_ID AND
    --Jihou.ORGANIZATION_ID = Mtlh.Organization_Id AND
    -- Hl.INVENTORY_ORGANIZATION_ID =Mtlh.Organization_Id AND
    -- MTLH.ATTRIBUTE10=SUBSTR(HL.LOCATION_CODE,1,3) AND
    SUBSTR(HL.LOCATION_CODE,1,3)= :TO_ORG1 ;
    RETURN (T1);
    end;
    plz help me out.

    Hi;
    What is EBS version? Is it custom report or not?
    See below which is mention similar errors
    Autoinvoice Error: ORA-1403: no data found [ID 1209403.1]
    APXIIMPT - Payable Open Interface Import Fails on "REP-1401: 'cf_source_nameformula': Fatal PL/SQL error occurred. ORA-01403: no data found" [ID 222058.1]
    Regard
    Helios

  • Exception occured during invocation of JCA binding ORA-01403: no data found ORA-06512: at line 1

    Dear Legends,
    My requirement is to call store procedure from BPEL. So for I created a BPEL with 2 assign activity and 1 Invoke activity to Invoke the DB adapter. After Deploying I tested the process but it shows the following error:
    <bpelFault><faultType>0</faultType><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'DB_SBL_SPROCS1' failed due to: Interaction processing error.
    Error while processing the execution of the SIEBEL.PORTAL_SPROCS.ACP_CONREGISTRATIONLOOKUP_WRAP API interaction.
    An error occurred while processing the interaction for invoking the SIEBEL.PORTAL_SPROCS.ACP_CONREGISTRATIONLOOKUP_WRAP API. Cause: java.sql.SQLException: ORA-01403: no data found
    ORA-06512: at line 1
    Check to ensure that the XML containing parameter data matches the parameter definitions in the XSD.  This exception is considered not retriable, likely due to a modelling mistake.  To classify it as retriable instead add property nonRetriableErrorCodes with value "-1403" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    </summary></part><part name="detail"><detail>ORA-01403: no data found
    ORA-06512: at line 1
    </detail></part><part name="code"><code>1403</code></part></bindingFault></bpelFault></fault><faultType>
    <message>0</message></faultType></messages></details></event><event sid="BpPrc0.1" cat="2" n="16" date="2013-08-08T05:39:39.121-04:00" type="4"><message>"BPELFault" has not been caught by a catch block.</message></event><event sid="BpPrc0.1" cat="2" n="17" date="2013-08-08T05:39:39.270-04:00" type="3"><message>The transaction was rolled back. The work performed for bpel instance "960968" was rolled back, but the audit trail has been saved for this instance.If this is a sync request, please resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmitting the invoke message.</message></event></audit-trail>
    What does the above error says?
    1. Whether concern Grant or Execute Privileges is not properly provided to the user?
    2. Is there any Dangling Privileges are prevailing?
    3. Is that the Store Procedure to be Handled with an Error Handling by means of Exception?
    4. Is that I have been giving wrong test data?
    5. Is that No data being existing in the Procedure?
    6. Is that anything related to XA and NON-XA Data Source?
    Any kind of help would be much appreciated. Thanks in Advance.
    Thanks,
    Karthik

    Can you check the following ?
    a. Hopefully the when you execute the procedure using sql tool it works fine and returns data.
    b. Is there any input parameter available for procedure ?
    c. IF yes, is the parameter is mapped with the procedure parameter and populated with value before calling the procedure ?
    d. In the audit trial, you can see from the invoke activity to see whether the parameter is populated with value or not ?
    e. Check the input parameter by executing the procedure with sql tool to see whether this request is receiving any data in return or not ?
    Thanks,
    Vijay

  • Update conflict resoltion ORA-01403: no data found

    I have set up multimaster replication environment with two database and I have implemented Update conflict resolution on a table using DISCARD method(Oracle provided) as below.
    Some how it is not able to resolve the conflict and I am getting erro ORA-01403: no data found.
    On MDS(M1) I run the follwing SQL
    update menu_code
    set ipp_uid = 20
    where id = 4;
    commit;
    on master(M2) database in table menu_code row with ID=4 doesn't exsit.
    When I apply deffred transaction that gnerated by above SQL
    I get ORA-01403: no data found and ofcourse trnsaction doesn't apply to db and goes to deferror. Since I am using DISCARD method
    it should be resolved and not to gnerate error message.
    Here is detail info.
    Table name: menu_code
    --creating column group
    BEGIN
    DBMS_REPCAT.MAKE_COLUMN_GROUP (
    sname => 'SYNAPSE',
    oname => 'MENU_CODE',
    column_group => 'MENU_CODE_CG1',
    list_of_column_names => 'id,ipp_uid');
    END;
    -- adding update conflict resolution
    BEGIN
    DBMS_REPCAT.ADD_UPDATE_RESOLUTION (
    sname => 'SYNAPSE',
    oname => 'MENU_CODE',
    column_group => 'MENU_CODE_CG1',
    sequence_no => 1,
    method => 'DISCARD',
    parameter_column_name => 'id,ipp_uid');
    END;
    --regenerating support for the table.
    BEGIN
    DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (
    sname => 'SYNAPSE',
    oname => 'MENU_CODE',
    type => 'TABLE',
    min_communication => TRUE);
    END;
    Thanks.
    Pravin

    You are absolutely right. Now we decided not to write any conflict resolution routine at all.
    Non MDS database is read-only till fail over. After fail over non MDS (other master) will allow insert/update operation.
    To fail back to MDS we will write our procedure/function, out side of Oracle conflict resolution( both database will be in Read only mode during synchronizing).
    We will delete all deferred transaction/error form the queue and once data transfer is complete, again MDS becomes primary database to use.
    Oracle conflict resolutions are to complicated and has lots of overhead and maintenance.
    Thanks.
    Pravin

  • APEX 5 Bug? Change Col order ends in Error processing update. ORA-01403: no data found

    Hi ,
    i have successfully migrated my 5 apps to apex 5 yeah. Wow, Migration was complted in 15 mins !
    But now i have  Problem: I have a classic report and want to chage the column order.
    But i always get  a
    Error processing update.
    ORA-01403: no data found
    Any Workarounds ?
    Thanks
    Marco

    Hi Patrick,
    the Copy App crashes with
    ORA-06550: line 79, column 18: PLS-00103: Encountered the symbol "WHERE" when expecting one of the following: ) , * & = - + < / > at in is mod remainder not rem => <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec between || multiset member submultiset
    Execution  of the statement was unsuccessful. ORA-06550: line 79, column 18: PLS-00103: Encountered the symbol "WHERE" when expecting one of the following:  ) , * & = - + < / > at in is mod remainder not rem => <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec between || multiset member submultiset
    begin  wwv_flow_api.create_list_of_values(  p_id=>wwv_flow_api.id(23215926281374548)
    Thanks for help !
    Marco

  • Forms application returns "ORA-01403 no data found" exception on Windows 7

    Hi everyone,
    I am currently involved in an application compatibility project for an O/S migration from Windows XP to Windows 7.
    We have a legacy Oracle Dev6i P18 Forms application that has been working perfectly on Windows XP for the last decade or so. When we installed the same application on Windows 7, it returned a pop-up error message with the text: "ORA-01403 no data found" when performing a certain operation (clicking on a Submit button in a specific form). The same operation works successfully on Windows XP displaying the message "Submit has been successful".
    This error is well documented and the solution involves adding an exception handler to the faulting SQL statement(s) in order to handle the ORA-01403 exception. Unfortunately, the application is composed of compiled forms (.FMX) and we no longer have the source code so I can't implement this solution.
    I ran a file comparison utility (WinDiff from the Windows SDK) and confirmed that all the files in the application folder and the Oracle Dev6i P18 folder are identical on both the Windows XP and Windows 7 systems.
    I enabled tracing in SQLNet.ORA by configuring TRACE_LEVEL_CLIENT=SUPPORT (I know, too verbose) and other related settings on both systems and have uploaded the traces to my SkyDrive for public viewing:
    http://sdrv.ms/10BNYtI
    The traces show that the "ORA-01403" exception occurs many times on both Windows XP and Windows 7 systems as a result of various SQL statements being executed, for instance:
    SELECT TASK_ID,TASK_DETAIL_STATUS,ASSIGNED_DATE FROM TASK_DETAILS WHERE TASK_ID = :b1 AND TASK_DETAIL_STATUS = (SELECT ID FROM V_TASK_STATUS WHERE ABBREVIATION = 'PLANNED' ) FOR UPDATE OF TASK_DETAIL_STATUS,ASSIGNED_DATE
    UPDATE TASK_DETAILS SET ASSIGNED_DATE=NTMS_UTIL.GET_SERVER_DATE,TASK_DETAIL_STATUS=(SELECT ID FROM V_TASK_STATUS WHERE ABBREVIATION = 'ASSIGNED' ) WHERE ROWID = :b1
    ORA-01403: no data found.
    So the same error happens on both Windows XP and Windows 7.
    On Windows XP, the error is somehow handled, and does not cause the "Submit" operation to fail.
    On Windows 7, however, the error bubbles to the surface and is displayed to the user, thus halting the "Submit" operation.

    Thank you. I'm well aware that adding an exception handler is the classic solution to the ORA-01403 error. However, like I mentioned in my original post, I don't have the source code. All I have are the compiled .FMX forms so I can't implement such a solution:
    From my original post:
    This error is well documented and the solution involves adding an exception handler to the faulting SQL statement(s) in order to handle the ORA-01403 exception. Unfortunately, the application is composed of compiled forms (.FMX) and we no longer have the source code so I can't implement this solution.

  • ORA-01403: no data found BPEL Error on DB Adapter

    Dear All,
    I am using a DBAdapter to call a Stored Procedure in a Package. One of the parameter of the stored procedure is of table type. While invoking the BPEL Process, it shows the following error:
    Fault Error.com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault} messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage} parts: {{code=<code>1403</code> ,summary=<summary>file:/u03/soauser/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_InventoryProduct_1.0_579640da6283d0dbd00cca17cf50e0f7.tmp/InvProductDBService.wsdl [ InvProductDBService_ptt::InvProductDBService(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'InvProductDBService' failed due to: Error while converting to a Java struct object. Unable to convert the XSD element P_ITEM_TBL_ITEM whose user defined type is APPS.XXHDNL_INV_MTL_SYSITEMS_PKG_2. Cause: java.sql.SQLException: ORA-01403: no data found ORA-06512: at line 1 [Caused by: ORA-01403: no data found ORA-06512: at line 1 ] ; nested exception is: ORABPEL-11802 Error while converting to a Java struct object. Unable to convert the XSD element P_ITEM_TBL_ITEM whose user defined type is APPS.XXHDNL_INV_MTL_SYSITEMS_PKG_2. Cause: java.sql.SQLException: ORA-01403: no data found ORA-06512: at line 1 [Caused by: ORA-01403: no data found ORA-06512: at line 1 ] Check to ensure that the XML data describing the user defined type matches the definition of the struct in the XSD. Contact oracle support if error is not fixable. </summary> ,detail=<detail> Internal Exception: java.sql.SQLException: ORA-01403: no data found ORA-06512: at line 1 Error Code: 1403</detail> }} </ErrorDescription>
    What could be the possible solution for this to get fixed. Please update..
    Many thanks in advance....

    This is a PL/SQL error, it occurs when a cursor (SQL statement) is called and returned no values, typically you should have an exception handler in the PL/SQL to mange this. But sometimes you want the PL/SQL to fail.
    The parameters you are using to invoke the PL/SQL procedure returned no values, therefore to fix provide information that does return values, or in the PL/SQL put an exception handler in to manage the no-data-found error, e.g.
    begin
      Select ...
      Into ..
      From ..
      Where ..
    Exception
      when no_data_found then
    end;cheers
    James

  • Deferred transaction fails due to a "ORA-01403: no data found" error

    I recently acticated replication between two Oracle instances.
    (one being the master definition site and the other one being
    a second master site).
    Everything was going well until two weeks ago, when i realized
    that some datas were different between the two Oracle instances.
    I tried to figure out why and found that some deferred transation
    failed to propagate due to a "ORA-01403: no data found" error.
    Not all transaction fail, only a few.
    All the errors are stored in the DEFERROR table of the second
    master site, the DEFERROR table is empty in the master definition
    site.
    For every error, the source is the master definition site and the
    destination is the second master site, which is OK because the
    second master site is supposed to be "read-only". But why are the
    errors stored in the DEFERROR table of the second master site
    (and not in the master definition site (the source)).
    Most errors occur on UPDATE statements but a few of them occur
    on DELETE statements. Given the fact that the record actually is
    in the second master site, how is it possible to get a
    "ORA-01403: no data found" error on a delete statement ???????
    I can't figure out what data cannot be found,
    Thanks for your help,
    Didier.

    What if i tell you the first transaction in error is an UPDATE
    statement on a record that actually is in the destination table
    in the second master site. So the data is there, it should be
    found ...
    I've tried an EXECUTE_ERROR on that very first transaction
    in error but it doesn't work. Here's the call (as repadmin) :
    begin
    DBMS_DEFER_SYS.EXECUTE_ERROR (
    DEFERRED_TRAN_ID => '6.42.271',
    DESTINATION => 'AMELIPI.SENAT.FR'
    end ;
    And here's the full message :
    ORA-01403: no data found
    ORA-06512: at "SYS.DBMS_DEFER_SYS_PART1" line 430
    ORA-06512: at "SYS.DBMS_DEFER_SYS" line 1632
    ORA-06512: at "SYS.DBMS_DEFER_SYS" line 1678
    ORA-06512: at line 2
    I thought it could be because the primary key constraint on the
    destination table wasn't activated but it was. Could it
    be a problem with the corresponding index ?
    Thanks for your help,
    Didier.

  • ORA-01403: no data found in alert.log

    Dear All,
    I am getting ORA-01403: no data found in alert.log.Could you pls help me out what could be reasons behind it..Due to this i m getting loads of alerts.Pls suggest.
    Thanks

    ORA-01403 No Data Found
    Typically, an ORA-01403 error occurs when an apply process tries to update an existing row and the OLD_VALUES in the row LCR do not match the current values at the destination database.
    Typically, one of the following conditions causes this error:
    Supplemental logging is not specified for columns that require supplemental logging at the source database. In this case, LCRs from the source database might not contain values for key columns. You can use a DML handler to modify the LCR so that it contains the necessary supplemental data. See "Using a DML Handler to Correct Error Transactions". Also, specify the necessary supplemental logging at the source database to prevent future errors.
    There is a problem with the primary key in the table for which an LCR is applying a change. In this case, make sure the primary key is enabled by querying the DBA_CONSTRAINTS data dictionary view. If no primary key exists for the table, or if the target table has a different primary key than the source table, then specify substitute key columns using the SET_KEY_COLUMNS procedure in the DBMS_APPLY_ADM package. You also might encounter error ORA-23416 if a table being applied does not have a primary key. After you make these changes, you can reexecute the error transaction.
    The transaction being applied depends on another transaction which has not yet executed. For example, if a transaction tries to update an employee with an employee_id of 300, but the row for this employee has not yet been inserted into the employees table, then the update fails. In this case, execute the transaction on which the error transaction depends. Then, reexecute the error transaction.
    There is a data mismatch between a row LCR and the table for which the LCR is applying a change. Make sure row data in the table at the destination database matches the row data in the LCR. When you are checking for differences in the data, if there are any DATE columns in the shared table, then make sure your query shows the hours, minutes, and seconds. If there is a mismatch, then you can use a DML handler to modify an LCR so that it matches the table. See "Using a DML Handler to Correct Error Transactions".
    Alternatively, you can update the current values in the row so that the row LCR can be applied successfully. If changes to the row are captured by a capture process at the destination database, then you probably do not want to replicate this manual change to destination databases. In this case, complete the following steps:
    Set a tag in the session that corrects the row. Make sure you set the tag to a value that prevents the manual change from being replicated. For example, the tag can prevent the change from being captured by a capture process.
    EXEC DBMS_STREAMS.SET_TAG(tag => HEXTORAW('17'));
    In some environments, you might need to set the tag to a different value.
    Update the row in the table so that the data matches the old values in the LCR.
    Reexecute the error or reexecute all errors. To reexecute an error, run the EXECUTE_ERROR procedure in the DBMS_APPLY_ADM package, and specify the transaction identifier for the transaction that caused the error. For example:
    EXEC DBMS_APPLY_ADM.EXECUTE_ERROR(local_transaction_id => '5.4.312');
    Or, execute all errors for the apply process by running the EXECUTE_ALL_ERRORS procedure:
    EXEC DBMS_APPLY_ADM.EXECUTE_ALL_ERRORS(apply_name => 'APPLY');
    If you are going to make other changes in the current session that you want to replicate destination databases, then reset the tag for the session to an appropriate value, as in the following example:
    EXEC DBMS_STREAMS.SET_TAG(tag => NULL);
    In some environments, you might need to set the tag to a value other than NULL.

  • ORA-01403: no data found (WWV-16016) error

    I have a very simple form with two fields. This form is opened in the update mode through a report which pass a parameter to the form. When I press 'Delete' button to delet the record, I get this error message:
    Error: An unexpected error occurred: ORA-01403: no data found (WWV-16016)
    But the record is actually deleted by this action.
    Does anyone know why and how to fix it?
    Thanks!

    I have the same problem when i call form based on procedure in insert mode. However, i can insert one record normally, when i try to insert another one, this error appears.
    This behavior is really extremly annoying and i would really like to know why this error apprears and how to get rid of it.
    Kind regards,
    Damjan
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by sz():
    I have a very simple form with two fields. This form is opened in the update mode through a report which pass a parameter to the form. When I press 'Delete' button to delet the record, I get this error message:
    Error: An unexpected error occurred: ORA-01403: no data found (WWV-16016)
    But the record is actually deleted by this action.
    Does anyone know why and how to fix it?
    Thanks!<HR></BLOCKQUOTE>
    null

  • ORA-01403: no data found on LOGICAL STANDBY database

    Hi ,
    Logical Standby issue :
    Oracle 10.2.0.2 enterprise edition .
    M Working on LOGICAL Standby since 1 yrs but still i havent got this ......................................
    I m getting countinuously no data foud errror on logical standby database .
    I found the table causing the proble(db_logstdby_events) and skipped that table and instanciated table using bwlow package:
    exec dbms_logstdby.instantiate_table (.......................................
    but when i start apply process on logical standby it again give no data found for new table :
    Even i tried to instantiate the table using EXPORT/IMPORT during down time but the same facing same problem .
    As much as i known abt the error that is :
    table1
    id
    10
    20
    30
    Now if sql apply process on logical standby tries to performe the update transaction(for example) as belows
    update table1 set id=100 where id=50;
    above query will not be completed cos it will never find the values 50 which is not in table .Thts why this error comming ..
    Now my worry is ... no users dare to change/make such changes on Logical standby .So if there is no changes in tables then sqll apply should get all the values to be needded for an update ......
    watingggg guyssss/......

    Troubleshooting ORA-1403 errors with Flashback Transaction
    In the event that the SQL Apply engine errors out with an ORA-1403, it may be possible to utilize flashback transaction on the standby database to reconstruct the missing data. This is reliant upon the undo_retention parameter specified on the standby database instance.
    ORA-1403: No Data Found
    Under normal circumstances the ORA-1403 error should not be seen in a Logical Standby environment. The error occurs when data in a SQL Apply managed table is modified directly on the standby database, and then the same data is modified on the primary database.
    When the modified data is updated on the primary database and received by the SQL Apply engine, the SQL Apply engine verifies the original version of the data is present on the standby database before updating the record. When this verification fails, an ORA-1403: No Data Found error is thrown by Oracle Data Guard: SQL Apply.
    The initial error
    When the SQL Apply engine verification fails, the error thrown by the SQL Apply engine is reported in the alert log of the logical standby database as well as a record being inserted into the DBA_LOGSTDBY_EVENTS view. The information in the alert log is truncated, while the error is reported in it's entirety in the database view.
    LOGSTDBY stmt: update "SCOTT"."MASTER"
    set
    "NAME" = 'john'
    where
    "PK" = 1 and
    "NAME" = 'andrew' and
    ROWID = 'AAAAAAAAEAAAAAPAAA'
    LOGSTDBY status: ORA-01403: no data found
    LOGSTDBY PID 1006, oracle@staco03 (P004)
    LOGSTDBY XID 0x0006.00e.00000417, Thread 1, RBA 0x02dd.00002221.10
    The Investigation
    The first step is to analyze the historical data of the table that threw the error. This can be achieved using the VERSIONS clause of the SELECT statement.
    SQL> select versions_xid
    , versions_startscn
    , versions_endscn
    , versions_operation
    , pk
    , name
    from scott.master
    versions between scn minvalue and maxvalue
    where pk = 1
    order by nvl(versions_startscn,0);
    VERSIONS_XID VERSIONS_STARTSCN VERSIONS_ENDSCN V PK NAME
    03001900EE070000 3492279 3492290 I 1 andrew
    02000D00E4070000 3492290 D 1 andrew
    Depending upon the amount of undo retention that the database is configured to retain (undo_retention) and the activity on the table, the information returned might be extensive and the versions between syntax might need to be changed to restrict the amount of information returned.
    From the information returned, it can be seen that the record was first inserted at scn 3492279 and then was deleted at scn 3492290 as part of transaction ID 02000D00E4070000. Using the transaction ID, the database should be queried to find the scope of the transaction. This is achieved by querying the flashback_transaction_query view.
    SQL> select operation
    , undo_sql
    from flashback_transaction_query
    where xid = hextoraw('02000D00E4070000');
    OPERATION UNDO_SQL
    DELETE insert into "SCOTT"."MASTER"("PK","NAME") values
    ('1','andrew');
    BEGIN
    Note that there is always one row returned representing the start of the transaction. In this transaction, only one row was deleted in the master table. The undo_sql column when executed will restore the original data into the table.
    SQL> insert into "SCOTT"."MASTER"("PK","NAME") values ('1','andrew');
    SQL> commit;
    The SQL Apply engine may now be restarted and the transaction will be applied to the standby database.
    SQL> alter database start logical standby apply;

  • NEED HELP IN CONFLICT HANDLER ERROR ORA-01403: no data found

    Hi All,
    I am using Oracle Streams to replicate the data...
    I need to update the records on the destination with some particular condition like if USER_COUNTRY = 'XXX' then the data need to be updated in the destination side else skip ...
    I wrote the procedure ..below .. the data is not replicating and found the below error from dba_apply_error..
    ORA-01403: no data found
    ORA-06512: at "SYS.LCR$_ROW_RECORD", line 419
    Table called history_row_lcrs is created in the strmadmin to store the lcr values...
    CREATE OR REPLACE PROCEDURE proc_test(in_any sys.anydata)IS
    lcr sys.lcr$_row_record;
    rc pls_integer;
    v_type varchar2(20);
    col_1 sys.anydata;
    lcr_usercountry varchar2(20);
    TRANS varchar2(20);
    skip_routine Exception;
    BEGIN
    rc:=in_any.GetObject(lcr);
    v_type:=lcr.get_command_type();
    col_1:=lcr.get_value('NEW','USER_COUNTRY');
    rc:=col_1.GetVarchar2(lcr_usercountry);
    for x in ( select user_country from TEST.TESTREP1
    where USER_COUNTRY=lcr_usercountry)
    Loop
    IF (x.USER_COUNTRY = 'XXX')
    THEN
    insert into strmadmin.history_row_lcrs VALUES (SYSDATE, lcr.GET_SOURCE_DATABASE_NAME(), lcr.GET_COMMAND_TYPE(),
    lcr.GET_OBJECT_OWNER(), lcr.GET_OBJECT_NAME(), lcr.GET_TAG(), lcr.GET_TRANSACTION_ID(), lcr.GET_SCN(),
    lcr.GET_COMMIT_SCN,lcr.GET_VALUES('old'), lcr.GET_VALUES('new', 'n'));
    lcr.EXECUTE(true);
    ELSE
    Raise Skip_routine;
    END IF;
    END Loop;
    Exception
    when skip_routine Then
    null;
    END;
    BEGIN
    DBMS_APPLY_ADM.SET_DML_HANDLER(
    object_name => 'TEST.TESTREP1',
    object_type => 'TABLE',
    operation_name => 'UPDATE',
    error_handler => false,
    user_procedure => 'STRMADMIN.PROC_TEST',
    apply_database_link => NULL,
    apply_name => NULL);
    END;
    Please try to help me if am doing something wrong...because I need to update only one colums am using DML_HANDLER instead of SET_UPDATE_CONFLICT_HANDLER...
    Any other inputs are also appreciated...
    Thanks In Advance and appreciate for the quick reply...

    I fired the query, am not getting any output from dbms_output.put_line('..|USER_COUNTRY..');
    Is that no data is reading or may be any reason else..
    in this table store_id is the primary key ..
    SQL> set serveroutput on
    SQL> CREATE OR REPLACE PROCEDURE test(in_any sys.anydata) IS
    2 lcr sys.lcr$_row_record;
    3 rc pls_integer;
    4 v_type varchar2(20);
    5 col_1 sys.anydata;
    6 col_2 sys.anydata;
    7 lcr_usercountry varchar2(20);
    8 lcr_storeid number;
    9 TRANS varchar2(20);
    10 store_id number;
    11 USER_COUNTRY varchar2(20);
    12
    13 BEGIN
    14 rc:=in_any.GetObject(lcr);
    15 v_type:=lcr.get_command_type();
    16 col_1:=lcr.get_value('NEW','USER_COUNTRY');
    17 rc:=col_1.GetVarchar2(lcr_usercountry);
    18 col_2:=lcr.get_value('NEW','STORE_ID');
    19 rc:=col_2.getnumber(lcr_storeid);
    20 select user_country into user_country from dev03.testrep1 where user_country=lcr_usercountry and store_id=lcr_storeid;
    21 dbms_output.put_line('---------||USER_COUNTRY ||-----------');
    22 END;
    23 /
    Procedure created.
    Thanks for your help ....

Maybe you are looking for