Oracle, Issue with Multiple transaction from two nodes.

Hi All,
Below is the scenario ,that we are encountering.
We have Client which is RAC modelled having Node1 and node2 and the server having primary and secondary nodes.
From Client we are getting multiple transactions at a rate of nano-milliseconds to the server.
Our code setup:
1) Requests would be fired from client  for either insert or update into DB to a Table(Table_A).
If record exists, we are going for update or else we are inserting.
Table Structure:
Table_A Table has Primary key on Account_id
Our Scenario is that
Scenario 1:
a) Database is verifying ,if the data exists in table.
b) Data not available(record count=0) in the table and as per functionality it goes for insert query.
c) Before commit occurs, another requests comes in and checks in table for data existence.
d)  Since commit is yet to happen, the count on table is ZERO and hence the second request is also coming as INSERT.
e) Since two insert on same record comes in, Unique Key Constraint Violation error is been triggered.
Scenario 2: We tried to simplify the above process by using Merge option In Oracle. But even that is not solving our concern.
Thanks

Scenario 1 - you will probably have to perform some sort of locking to prevent this issue. However, doing so will hurt scalability.
Scenario 2 - your situation sounds perfect for the MERGE statement. Can you provide more details on "But even that is not solving our concern."? What are you doing and what are you seeing?
Also, post your version.
Cheers,
Brian

Similar Messages

  • Issues with Multiple Speakers from Ethernet Connection, Wireless works

    I have the ability to stream music from my ethernet connected computer to the AX, however when I use the multiple speaker function - does not work. One the same network, I am able to use the multiple speaker function if I use my wireless connection. Ideas?

    rephrasing

  • B2B Inbound File with Multiple Transactions failing

    Hi ,
    Problem Summary: When the inbound file is coming with multiple transactions (combination of 997 and non-997) ,
    If the 997 is the FIRST transaction in file, B2B is processing only 997 and remaning transactions are getting rejected.
    Where as if the 997 is the LAST transaction in file, then all the transactions are processing correclty.
    SOA Version: SOA 11G (11.1.1.5).
    Example 1: below sample we got two transactions, 997 and 214. here 997 is the FIRST transaction in the file.
    in this case B2B is processing 997 correctly, and 214 is errored with below error message
    "B2B-51507 - A data segment with 'Mandatory' status is missing. A data segment with 'Mandatory' status is missing. An X12 syntax error occurred. An X12 syntax error occurred. An X12 syntax error occurred. A data segment with 'Mandatory' status is missing. A data segment with 'Mandatory' status is missing.
    ISA00* *00* *02*xxxx *01*1234555 *120516*1018*U*00401*000005822*0*P*:~*
    GSFA*xxxx*1234555*20120516*1018*5822*X*004010~*
    ST997*58220001~*
    AK1SM*7159~*
    AK9A*1*1*1~*
    SE000004*58220001~*
    GE1*5822~*
    IEA1*000005822~*
    ISA*00* *00* *02*xxxx *01*1234555 *120516*1018*U*00401*000005823*0*P*:~
    GS*QM*xxxx*1234555*20120516*1018*5823*X*004010~
    ST*214*58230001~
    B10*2313813*M1213131*xxxx~
    N1*SF*xxxxxx*ZZ*124~
    N4*xxxxxx*AR~
    LX*1~
    AT7*AF*NS***20120516*1017*LT~
    MS1*xxxxx*AR~
    L11*01*QN~
    AT8*G*L~
    SE*10*58230001~
    GE*1*5823~
    IEA*1*000005823~
    Example 2 : below sample we got two transactions, 997 and 214. here 997 is the LAST transaction in the file.
    in this case B2B is processing ALL TRANSACTIONS correctly
    ISA*00* *00* *02*xxxx *01*1234555 *120516*1018*U*00401*000005823*0*P*:~
    GS*QM*xxxx*1234555*20120516*1018*5823*X*004010~
    ST*214*58230001~
    B10*2313813*M1213131*xxxx~
    N1*SF*xxxxxx*ZZ*124~
    N4*xxxxxx*AR~
    LX*1~
    AT7*AF*NS***20120516*1017*LT~
    MS1*xxxxx*AR~
    L11*01*QN~
    AT8*G*L~
    SE*10*58230001~
    GE*1*5823~
    IEA*1*000005823~
    ISA00* *00* *02*xxxx *01*1234555 *120516*1018*U*00401*000005822*0*P*:~*
    GSFA*xxxx*1234555*20120516*1018*5822*X*004010~*
    ST997*58220001~*
    AK1SM*7159~*
    AK9A*1*1*1~*
    SE000004*58220001~*
    GE1*5822~*
    IEA1*000005822~*
    Thanks,
    Naveen

    Hi,
    My name is Phil DeLaine and I work for one of Oracle's Gold Partners, TechDemocracy.
    I saw your post about the B2B transaction errors you are experiencing. We have great experience with B2B and have solved very complex problems. (References available.)
    Would you like to use one of our B2B expert technical resources to solve this problem and deliver your project error free and fully functional?
    Please let me know if you would like to discuss what we can do for you. You can reach me anytime.
    Regards,
    Phil
    Phil DeLaine
    Sales Director - Northeast
    TechDemocracy
    (978) 758-3156 (Cell)
    [email protected]
    http://www.techdemocracy.com/
    Our Successes:
    1) We won the 2011 Oracle Titan Award for the Best Middleware Implementation. Our award winning solutions included SOA, IAM and BI.
    2) We have been awarded with the highly prestigious Oracle ACE Director status for outstanding industry achievement and track record.
    3) We sit on several Advisory Boards for Oracle Product Management (for Fusion Middleware Products).
    4) We are an Oracle Center of Excellence Partner for SOA and IAM.
    5) We are frequently invited to speak at a number of Oracle Customer Success forums such as Oracle's "OpenWorld".
    6) We have been rated by Inc. Magazine as one of the top 10 fastest growing companies for 3 consecutive years.
    7) We have won and successfully deliveried several projects at Fortune 100, 500 and 1,000 companies. (References Available)

  • Since I've installed Mountain Lion, I am having lock up issues with multiple programs. MS Outlook has crashed and I've lost all my folders. HELP?

    Since I've installed Mountain Lion, I am having lock up issues with multiple programs. MS Outlook has crashed and I've lost all my folders. HELP?

    okay I've finally been able to get tor and all the other programs to work according to my plan the only thing that's still making problems is that iptables doesn't work as I want it to, when I start chromium without proxy settings privoxy doesn't seem to forward the information to polipo.. do I need to add another rule to iptables.rules in order for the program to know it has to reroute the information again or how can I get this to work? and is there any way to run rtorrent with proxy support?
    anyway, problem 2 and 3 are still to be solved.
    and does anybody know where i can get a good dansguardian blacklist that was not designed for 6 year old children and for which I don't need to subscribe? I'm still getting these partypoker popups -.-
    //e: with iptables it's the same thing as described in the first post. https works, http doesnt. I get the output "Invalid header received from client." on http sites. still no idea why though.. (and the https-version of torcheck.xenubite says i'm tor unprotected while starting the browser with iptables)
    Last edited by deF291 (2011-04-23 16:16:31)

  • LSMW with multiple transaction n multiple files

    Hi experts,
          is it possible to do data transfer using LSMW(recording) with multiple transaction and multiple files .
    Like 3 transaction and 3 files.
    I want 1st transaction and 1st file to upload first then
    2nd transaction and 2nd file
    3rd transaction and 3rd file

    Hi,
    i think you mean that you want to process first the 1st record of file1 with transaction 1 than 1st record of file 2 with transaction 2
    This is possible using recordings(as you asked for).
    First Maintain Object Attributes then mark batch input recordings and maintain recordings name.
    On the right side are two buttons one for overviewing recordings and one for maintaining more recordings.
    Here enter your additional recordings.
    Now specify for each recording a own Source Structure and
    maintain the Structure Relations and so on...
    If you just want to do 1st transaction with all records of file1 than 2nd transaction use three different LSMWs.
    You can automize the process by using Data Transfer Workbench(SXDA).
    Regards,
    Sebastian

  • SPEL in Extended VO - Issue with Multiple Rows

    Hi,
    I have extended a seeded VO by adding a new attribute *'Course_Flag'* with attribute type 'Boolean' and Query Column type 'VARCHAR2' and i wa successfully able to personalize and view the data of the new attribute *'Course_Flag'* in the page as ('true' / 'false') aacording to the query where clause.
    Now after adding a new image with SPEL property as *${oa.LearnerCatalogCoursesVO.Course_Flag}* it will have an issue with multiple items.
    I mean the SPEL will take the first row value 'true' / 'false' and will be corrected rendered according to the value of the first row and ignore other rows values.
    Example: if the *'Course_Flag'* value of the first row is 'true' then all the images will be rendered and if the *'Course_Flag'* value of the first row is 'false' then all the images will be NOT rendered.
    Please advise if I've missed any step.
    Thanks in advance to all.
    Regards....Ashraf

    Dear Kali,
    I have added a new function to the seeded VO SQL +('XXARMS_TRG_EVALUATION_PKG.XX_COURSE_GOT_EVAL')+,
    SQL Statment :-
    select av.activity_version_id, avtl.version_name, av.language_id, av.start_date,
    av.end_date, av.version_code, i.category_usage_id, upper(avtl.version_name) AS SORTVERSIONNAME,
    XXARMS_TRG_EVALUATION_PKG.XX_COURSE_GOT_EVAL(i.category_usage_id, av.activity_version_id) Course_Flag from
    ota_act_cat_inclusions i, ota_activity_versions av, ota_activity_versions_tl avtl
    where i.category_usage_id = :1 and i.activity_version_id = av.activity_version_id and
    nvl(av.end_date, sysdate + 1) >= trunc(sysdate) and
    av.business_group_id = ota_general.get_business_group_id and av.activity_version_id = avtl.activity_version_id and
    avtl.language = userenv('LANG') and
    ota_learner_access_util.learner_has_access_to_course(:2,:3,avtl.activity_version_id) = 'Y'
    And it is retriving the correct data for each row and i did not write any code in the RowImpl.
    Thanks for your help in advance.
    Regards...Ashraf

  • We run an iMac 3.4 GHz I7 for our church worship service; we haven't upgraded to Mavericks because we heard about issues with multiple screens crashing.  Has this issue been resolved?  Thank you!

    We run an iMac 3.4 GHz I7 in our church worship service; we have front screens and a stage display monitor ; we haven't upgraded to Mavericks because we heard about issues with multiple screens crashing.  Has this issue been resolved?  Now that we are 2 upgrades behind, I'm getting little concerned.  Thank you!

    Oh, well that was a whole other kettle of fish:
    Oh the G4 I attempted to install iLife '08 before Lepoard was available. About the only thing that installed cleanly was iPhoto. I ended up reinstalling everything back to iLife '06, and then upgrading back to the current stable version of the iLife '06 version. I didn't attempt a reinstall until after I upgraded to Leopard.
    When I did reinstall, I made a iLife '06 folder, copied all iLife apps into it, and upgraded. Seemed to work, except for the part where iMovie gets left behind and iDVD is only mostly functional.
    When I installed on the other 2 machines, it was after installing Leopard and all upgrades. On those 2 machines, I didn't bother with the copy, I just moved everything to the iLife '06 folder I created, and did a fresh install.
    I didn't have to do anything with the iPhoto Libraries, that I can recall.
    I always do an upgrade, never an archive and install. I've never had a problem with this back to 10.1 or 10.2.

  • I am having issues with streaming music from iTunes on my MacBook Pro to my audio system through AirPlay.  Works perfectly with my iPod Touch.  The AirPlay icon appears irregularly in iTunes and when selected doesn't connect.  Running latest IOS software.

    I am having issues with streaming music from iTunes on my MacBook Pro to my audio system through AirPlay.  Works perfectly with my iPod Touch.  The AirPlay icon appears irregularly in iTunes and when selected doesn't connect.  Running latest IOS software.

    Try:
    - Reset the iOS device. Nothing will be lost
    Reset iOS device: Hold down the On/Off button and the Home button at the same time for at
    least ten seconds, until the Apple logo appears.
    - Unsync all music and resync
    - Reset all settings      
    Go to Settings > General > Reset and tap Reset All Settings.
    All your preferences and settings are reset. Information (such as contacts and calendars) and media (such as songs and videos) aren’t affected.
    - Restore from backup. See:                                 
    iOS: How to back up           
    - Restore to factory settings/new iOS device.
    If still problem, make an appointment at the Genius Bar of an Apple store since it appears you have a hardware problem.
    Apple Retail Store - Genius Bar          
    You said:
    No, I do not want to "factory reset" my iPod. No I do not wish to do anything crazy long or hard to fix this. 
    That may be necessary, It is not what you want to do/not do but what is required to resolve your problem.

  • Please help to call oracle procedure with out paramter from shell script

    Hi
    I want to call a process with out parameter from shell script. I am calling process in shell script in below way
    function Process_loads {
    ( echo 'set serveroutput on size 1000000 arraysize 1'
    echo "set pagesize 0 term on verify off feedback off echo off"
    echo "BEGIN"
    echo " dbms_output.put_line('Before Calling The package'); "
    echo " x ( '$1', '$2', '$2', '$4', '$5', '$error_code'); "
    echo " dbms_output.put_line('After Calling The package'); "
    echo "EXCEPTION "
    echo " WHEN OTHERS THEN "
    echo " dbms_output.put_line('BIN_LOAD_ERROR' || SQLERRM); "
    echo " ROLLBACK;"
    echo "END;"
    echo "/" ) | sqlplus -s $USER/$PASSWORD@$SID
    Here $error_code is out paramter. All varaibles passed in process are declared with export command.
    When executing .sh it gives below error
    "sh ERROR at line 3: ORA-06550: line 3, column 99: PLS-00363: expression '' cannot be used as an assignment target ORA-06550: line 3, column 3: PL/SQL: Statement ignored".
    Please help to get rid from this error or please suggest how to call a oracle procedure with out paramter from unix shell script.
    Thanks in advance

    You can try this:
    From sql*plus
    SQL> ed
      1  create or replace procedure my_proc(p_id in int, p_result out int)
      2  as
      3  begin
      4  select 10 * p_id
      5  into p_result
      6  from dual;
      7* end my_proc;
    SQL> /
    Procedure created.
    SQL> set serveroutput on
    SQL> declare
      2  v_r int;
      3  begin
      4  my_proc(10,v_r);
      5  dbms_output.put_line(v_r);
      6  end;
      7  /
    100
    PL/SQL procedure successfully completed.
    from bash:
    testproc.sh:
    #!/bin/bash
    (echo 'set serveroutput on';
    echo 'declare';
    echo 'v_r int;';
    echo 'begin';
    echo 'my_proc(10,v_r);';
    echo 'dbms_output.put_line(v_r);'
    echo 'end;';
    echo '/';) | sqlplus -s u1/u1
    Console:
    oracle@mob-ubuntu:~$ chmod u+x testproc.sh
    oracle@mob-ubuntu:~$ ./testproc.sh
    100
    PL/SQL procedure successfully completed.With kind regards
    Krystian Zieja

  • 2 issues with call transaction to LS24

    Hello All,
    There are 2 issues with call transaction to LS24.
    <b>1) It doesn't take batch value and displays stock for all batches.
    2) When you go back, it doesn't go back to the calling program.</b>
    Any thoughts ?
    <u>Here is my code:</u>
    PARAMETERS: p_lgnum TYPE lgnum,
                p_matnr TYPE matnr,
                p_werks TYPE werks_d,
                p_lgort TYPE lgort_d,
                p_charg TYPE charg_d.
    START-OF-SELECTION.
    END-OF-SELECTION.
      PERFORM display_stock_per_batch.
    *&      Form  DISPLAY_STOCK_PER_BATCH
    FORM display_stock_per_batch .
      SET PARAMETER ID 'LGN' FIELD p_lgnum.
      SET PARAMETER ID 'MAT' FIELD p_matnr.
      SET PARAMETER ID 'WRK' FIELD p_werks.
      SET PARAMETER ID 'LAG' FIELD p_lgort.
      SET PARAMETER ID 'CHA' FIELD p_charg.
      CALL TRANSACTION 'LS24' AND SKIP FIRST SCREEN.
    ENDFORM.                    " DISPLAY_STOCK_PER_BATCH

    hello
    use this code
    perform bdc_dynpro      using 'SAPML01S' '0209'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RL01S-CHARG'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RL01S-LGNUM'
                                  p_lgnum.
    perform bdc_field       using 'RL01S-MATNR'
                                  p_matnr.
    perform bdc_field       using 'RL01S-WERKS'
                                  p_werks.
    perform bdc_field       using 'RL01S-LGORT'
                                  p_lgort.
    perform bdc_field       using 'RL01S-BESTQ'
    perform bdc_field       using 'RL01S-SOBKZ'
    perform bdc_field       using 'RL01S-CHARG'
                                  p_charg.
    perform bdc_dynpro      using 'SAPML01S' '0209'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/EBACK'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RL01S-LGNUM'.
    perform bdc_transaction using 'LS24'.
    may be it will help u

  • Issues with RAW files from my 7D

    I have Aperture 1.5.6 on my computer and the software updater says that is the current version. I shoot with a 20D and a 7D. I upload my raw files to Aperture and edit them from there and then process for a jpeg. However, every time I upload a raw file from my 7D I get the following message when I click on it to edit it: Unsupported Image format.
    Any words of advice, other than just buy Aperture 3??

    I have Aperture 2.X and had zero issues with RAW files from a 7D, so I think the problem is you are on 1.X. Converting to DNG first was a good suggestion if you don't want to purchase 3.X. Yet another reason to hate proprietary raw image file formats.......

  • Ecatt with multiple transactions

    Hi gurus,
    Is it possible in ecatt with multiple transactions(ie i want to record more transactions in a single scrip ex:PO&GR in a single script and execute that)
    if possible please let me know the procedure
    good answer will be awarded
    regards
    kiran

    Hi,
    You can create Ecatt with multiple transactions. Check in this below link to create ECATT.
    www.erpgenie.com/sap/ecatt/index.htm
    Regards
    Ravi Shankar.

  • Load Balance Problem in Oracle RAC 10.2.0.4 (two nodes with CRS)

    Hi all,
    I have an Oracle RAC 10.2.0.4 with two nodes and I'm having problems with sessions load balance.
    The problem is that all connections are going to the node which is enabled as 'master' in RAC, the node who has located .db resource in CRS.
    If .db resource is located in node1 all connections are made in node1. In the same way, all connections are made in node2 when .db resource from CRS stack is located in node2.
    The connections are made by a pool in Tomcat 6 using RAC service for made the connections.
    Any idea?
    Thanks in advance.
    Here is an example of my net configuration:
    listener.ora in node1:
    LISTENER_RAC_NODE1 =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1_vip)(PORT = 1525)(IP = FIRST))
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1525)(IP = FIRST))
    tnsnames in node1:
    LISTENERS_RAC =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1_vip)(PORT = 1525))
    (ADDRESS = (PROTOCOL = TCP)(HOST = node2_vip)(PORT = 1525))
    NODE1 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1_vip)(PORT = 1525))
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1525))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = rac)
    (INSTANCE_NAME = rac1)
    RAC =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1_vip)(PORT = 1525))
    (ADDRESS = (PROTOCOL = TCP)(HOST = node2_vip)(PORT = 1525))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = rac)
    ********************************************************

    It is my fault.
    It was the connection service. I had one one with preferred option and one without it. Now is working well.

  • Updating a table from two nodes simultaneously using sqlloader- Issues..

    Hi,
    I have a two node RAC. I have a table called PARTS1, has an PK+Index on PART column, Again this has a sequence. Now I am loading data on PARTS1 table using sqlloader from both nodes at the same time. What issues will come?
    Since one column of this table has a PK+Sequence+Index, there will be a contention issue with the block while updating records.. am I right? What other isues might appear here?
    Thanks in advance,
    Lily.

    user7993571 wrote:
    Consider two databases
    db10gA and db10gB which is having a db link from A to B
    There is a user A in db10gA
    and another user B in db10gB
    the user require to insert,update,delete records of user B tables
    so how is the DML privileges are granted to user A to perform these tasks at db10gB database
    whether it is the type of db link decides to do these tasks
    whether any synonym created at db10gA side might help to do the jobUser A will act on behalf of the user who has created the DBLINK; for example if you have created the DBLINK with a user having a DBA role; and grant the DBLINK access to A, A can act on behalf of the DBA who has created the DBLINK.

  • Issue with multiple Oracle Long Fields

    Hello,
         We have some reports that try to display two Oracle Long data type fields. When we do so we receive the error "ORA-1002 - fetch out of sequence" when we connect the report through "Oracle Server" connection type.
         If I execute SQL Statement of the report in "Oracle SQL Developer" there is no error.
         I have the following components installed on my Windows 7 PC:
          - Crystal Report 2008 (12.3.0.601)
          - Oracle Client 11.1.7.0
        If you want to replicate the issue you can create the following tables:
    create table TEST1_T
      fld1 VARCHAR2(4),
      text   LONG
    create table TEST2_T
      fld1 VARCHAR2(4),
      fld2 VARCHAR2(4),
      text   LONG
    In the TEST1_T table insert data and populate the text field. In the TEST2_T, populate the fld1 to be able to link the 2 tables together you can let the text field blank.
    In the report insert TEST1_T.fld1, TEST2_T.text and TEST1_T.text if you hit preview you should get the error Ora-1002.
    If you need more information let me know.
    Thank you.
    Charles
    P.S: If we connect thru "CR Oracle ODBC Driver 5.3" and the first long field in the SQL statement is null boths fields are blanked in the report but if both fields are populated the report execute correctly.

    Hi,
       This is a known issue with CR that uses Oracle Long Fields.
       See below for direct copy of information from KBase 1205489, hope it helps.
    Symptom
    In Crystal Reports, problems may arise when using more than one Oracle LONG data type field.
    Some of the symptoms you might see:
    Mixed data between two LONG data columns when displayed within the same report.
    Incorrect data displayed in the column which is based on a LONG field.
    Resolution
    Change LONG fields to CLOB fields in the Oracle table.
    Oracle recommends migrating any LONG data to the CLOB type starting in Oracle 9i.
    To make this change, use the TO_LOB method.
    Ken

Maybe you are looking for