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

Similar Messages

  • 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 ....

  • 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

  • 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

  • "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?

  • 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.

  • Error saving column settings with ORA-01403: no data found Error

    Hi
    I have a region with multi row report updatable.
    When I am trying to change the query I am getting below error.
    Anybody let me know what will be the problem.
    ORA-01403: no data found
    Error saving column settings
    Regards
    Kiran

    Hi
    I was using below query for this region.
    SELECT
    result.segment1 Item#,
              result.inventory_item_id,
              result.revision,
              result.lot_number,
              result.Lot_Onhand,
              result.Heat,
              result.Cert_Site_Number Cert_Site_Number_Display,
              result.status_code Status_Code_Display,
    result.Cert_ID Cert_ID_Display,
              result.Cert_Site_Number,
              result.status_code,
    result.Cert_ID,
              result.transaction_id,
    result.po_header_id,
    result.po_line_id,
    result.rcv_transaction_id,
    result.shipment_header_id,
    result.shipment_line_id
    FROM          
    SELECT      
    msi.segment1,
              mmt.inventory_item_id,
              mmt.revision,
              mtln.lot_number,
              xx_utility_pkg.get_available_qty(mmt.inventory_item_id,mmt.organization_id,mmt.subinventory_code,mtln.lot_number,'ONHAND') Lot_Onhand,
              mtln.attribute1 Heat,
              mtln.attribute2 Cert_Site_Number,
              mms.status_code,
                        (          SELECT     clx.cert_id
                        FROM     xxqc.cert_mst cm,
                                  xxqc.cert_lot_xref clx
                        WHERE      cm.cert_id = clx.cert_id
                        AND cm.cert_type='MILL'
                        AND     clx.lot_no = mtln.lot_number
              ) Cert_ID,
              mmt.transaction_id,
              rsl.po_header_id,
              rsl.po_line_id,
    mmt.rcv_transaction_id,
    rt.shipment_header_id,
    rsl.shipment_line_id
    FROM      mtl_material_transactions mmt,
              mtl_transaction_lot_numbers mtln,
              mtl_material_statuses_tl mms,
              rcv_transactions rt,
              rcv_shipment_headers rsh,
              rcv_shipment_lines rsl,
    mtl_system_items_b msi
    WHERE     mmt.transaction_id = mtln.transaction_id
    AND          mmt.organization_id = mtln.organization_id
    AND          mtln.status_id = mms.status_id
    AND          rt.transaction_id = mmt.rcv_transaction_id
    AND          rsh.shipment_header_id = rt.shipment_header_id
    AND          rsl.shipment_header_id = rsh.shipment_header_id
    AND          rsh.organization_id = mmt.organization_id
    AND          rsl.item_id = mmt.inventory_item_id
    AND msi.inventory_item_id=rsl.item_id
    AND msi.organization_id = mmt.organization_id
    AND          rsl.po_line_id = DECODE(:P5_PO_LINE_NUMBER, 0,rsl.po_line_id,:P5_PO_LINE_NUMBER)
    AND rsl.po_header_id IN (     SELECT     po_header_id
                        FROM      po_headers_all
                        WHERE      segment1 = :P5_PO_NUMBER
                        AND      org_id = :P5_ORG_ID)
    AND          mtln.status_id = 90 -- Which is 'T' Status means Temporary
    AND          mmt.transaction_action_id = 27
    AND          mmt.transaction_source_type_id = 1
    AND          mmt.transaction_type_id = 18
    ) result
    WHERE result.Lot_Onhand > 0
    when I use above query I am able to update the region perfectly.
    But when I comment last WHERE CONDITION I am getting above problem.
    What could be the possilbe reason for this?
    Regards
    Kiran Akkiraju

  • 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  in apply at bi -direction stream

    Hi Experts,
    we use 10g at window for bi direaction.
    after building, I got ORA-01403: no data found in apply process. I check these error LCR
    that invloved DML action for different tables in source database.
    our stream a schema level capture and no error handle as well as other exception.
    former DBA set up this tream.
    I just check online got these info.
    ORA-01403 No Data Found
    An ORA-01403 error message is generated 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 this destination database object.
    This situation could arise on account of any of the situations below:
    Supplemental logging is not specified for columns that require supplemental logging at the source database. In this case, LCRs from the source database may not contain values for key columns.
    There may be a problem with primary key in the destination table. If no primary key exists for the table or if the target table has a different primary key than the source table, substitute key columns can be specified using the set_key_columns procedure in the dbms_apply_adm package. Error ORA-23416 may be encountered if a table being applied does not have a primary key.
    There is a data mismatch between a row LCR and the table for which the LCR is applying a change. In this case, the destination has to be updated to match the data values before the error transaction can be executed again.
    what do i need to do?
    Thanks,
    Jim

    It will be wise to run the Oracle supply streams health check script to check your existing streams environment.
    From the result, you can also open a tar with Oracle to see if they can help you with the setup.
    In addition to the ORA-01403 error, you can also run some of the Oracle Streams packages (Managing Apply Errors) to see the full detail of what is missing that caused the Ora-01403 error.
    I will also try to implement a smoke test using the simple heartbeat table suggested by Oracle Streams, if that is working, then you can begin your full scale setup in your environment knowing that the base Streams Structure is setup correctly.
    HTH

  • Report error: ORA-01403: no data found.

    Hi,
    I was getting a following error and not able to figure it out.
    Here what I have:
    I have a page where I have 3 regions and out of them, there are 2 Html conditional regions
    and one SQL updatable report. Also, I have a validation to validate a field on the tabular form
    based on one field on the HTML region. The validation works fine but it also throws following error :
    report error: ORA-01403: no data found.
    Code:
    Declare
    v_office_id number;
    Begin
    SELECT count(id) into v_office_id from dar_asd.asd_office;
    if (:P299_ROLE_TYPE_ID = 1 and apex_application.g_f30.COUNT = v_office_id ) or
    (:P299_ROLE_TYPE_ID = 2 and (apex_application.g_f30.COUNT < v_office_id
    and apex_application.g_f30.COUNT >= 1) ) then
    return null;
    else
    RETURN 'Error: '||'Not a valid office selection.';
    end if;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    RETURN 'Error: '||SQLERRM;
    end;
    Thanks.

    Marc,
    Thanks for the reply.
    It is derived columns i.e. Use Query-Specific Column Names and Validate Query. The select statement returned by the stored procedure function will allways have all list of columns in select list. But the report displays allways some fixed number of columns in the secod region and remaining will be dependent on the check boxes and lov items selected in the first region. For e.g. if the select has 20 columns. Out of this, let's say 8 will allways displayed and remaining 12 will be displayed depending on the check box and lov items defined for them in the first region. I mean if 3 check boxes are checked and if the user selected some value from lov for the corresponding check box items, then the report will display 8+3 = total 11 colums. And the lov values selected will be used in the where condition of the SQL.
    How can I go to the report attributes? I can go to page definition, but I am not finding report attributes here. Please let me know...
    Thanks,
    Srini

  • 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;

  • Issue with Advanced Replication - ORA-01403: no data found

    Hi,
    got into this weird issue with my replicated environment (9.2.0.5.0 on solaris). We have a bidirectionally replicated table which has been working fine for years but is now showing issues on certain records.
    We had to manually update locally some fields but that's something we did in the past, ensuring both sides were aligned, but this time it does not work.
    The two records are identical but when we try to update on one side the far end fires:
    ERROR at line 1:
    ORA-01403: no data found
    ORA-06512: at "SYS.DBMS_DEFER_SYS_PART1", line 442
    ORA-06512: at "SYS.DBMS_DEFER_SYS", line 1854
    ORA-06512: at "SYS.DBMS_DEFER_SYS", line 1900
    ORA-06512: at line 1
    Thoutght there could be some field out of sync, but the update we execute is quite easy:
    Records on current DBs:
    9495411494 EA10CARD 10 169 0 used 1.0000E+17 31-DEC-99 E-VOUCHER_10_CARD 28-MAR-13 12 10 949541
    9495411494 EA10CARD 10 169 0 used 1.0000E+17 31-DEC-99 E-VOUCHER_10_CARD 28-MAR-13 12 10 949541
    Trying to:
    update ucms_batches set batch_status='new' where serial_no=9495411494;
    commit;
    I see the change locally applied but I see an error reported on the far end. Could not decode the content of the user_data completely, the only thing I could get was:
    3.45.53207 0 0 ?
    OPS$SCNCRAFT? UCMS_BATCHES$RP?
    REP_UPDATE? ?A
    !? used? new?EA10CARD??Y
    7
    Y?'
    !?AE-VOUCHER_10_CARD??AF!????_`*!??!?A
    !????_`*_!?E
    !??? NSMS_MASTERDEF.RMS? N
    Is there anyway I could verify the SQL attempted on the far end with the data used to match the record?
    Thanks
    Mike

    Found a solution using dump function to get the data decoded and compare them across nodes.
    It came out a date field was not matching the hh:mm:ss values.
    Thanks
    Mike

Maybe you are looking for

  • Can I get more sizing information in scripted JPEG exports?

    Exporting to JPEG from script seems to give less size/resolution information than exporting from AI itself. This manifests itself when opening in Microsoft Word, when the 'from AI' JPEG appears correctly sized, whereas the 'from script' JPEG just fil

  • Error importing a RAW file

    When I try to import RAW files on my Canon T2i into iPhoto 08, I get an error message that says the import failed and the file is unreadable

  • Oracle Replications in Solaris

    I want to do Database replication between two solaris servers Both are in different places, connected thru net(Leased line). The connection speed is 64Kbps. version : solaris - 8 (enterprise 450) Oracle - 8i Please let me know the answer immediately.

  • Cant update billing info for itunes

    When I try to update my billing information for itunes it keeps saying incorrect security code. Im reading it right off the car so I know that it cannot be incorrect is there anyway for an agent to get this updated for me?

  • Can Viruses on Windows Run While I am Using OSX

    Hi, Today I ran a Clamxav virus scan on my windows bootcamp partition while using my normal OSX operating system. The scan detected a Trojan.agent in the official google chrome (downloaded from google.com) and a Trojan in the official steam app (both