Record Locking question

Hi,
I have the following situation:
1) A batch process is running within a transaction with intension of commiting the changes at end if the process completes
2) An online system (internet 3Tier app) issues an UPDATE statement on a record that is locked by the batch process. This UPDATE statement is not in a transaction.
3) The problem is the UPDATE statement waits until the batch process either performs a COMMIT or ROLLBACK. I want it to return immediately so I can notify the online user.
How can I have the UPDATE come back rather than wait. I do not really want to issue a SELECT statement with FOR UPDATE NOWAIT just before the UPDATE statement. Thanks in advance.

Thanks for the reply.
Normally I would use "select ... for update no wait" especially in desktop type applications. But in the internet world, when dealing with COM objects, ADO, and connection pooling, I cannot issue a start transaction, then issue select with for update nowait, and then show the html form to the user to make changes. The user may sit on the screen for a while. In the meantime, I have a database connection that is being tied up.
So for record concurrency, we used a simple counter mechanism where any update (internet app, or desktop app) would update the counter. Any on update whe add this counter field to the where clause so if somone else has changed the data, the update would result in 0 rows affected. Normally this works well except in a situation where a desktop app is running a batch process and has not committed yet. In this case the update just waits.
I know for if I juggle the data around a bit I can issue select for update no wait, then build the update recordset, and issue update, and them commit. I was looking for something that can return the update statement immediately with some sort of ORA error.
Sorry for the long note.

Similar Messages

  • Error -2038: Record locked by another transaction / Internal error occured

    Hi, sometimes when I'm trying to update a SO via DI API, I got this error -2038. The error message varies, either: "Internal error occured" or "Record locked by another transaction". Ffor 'record locked' error, the table/field names varies, eg.
    [RDR1.ItemCode][line: 7]
    [RDR12.TaxId8][line: 1]
    [WTR1.ItemCode][line: 1]
    [RDR1.ItemCode][line: 9]
    [RDR1.ItemCode][line: 3]
    [RDR12.TaxId2][line: 1]
    [RDR12.CityS][line: 1]
    Any idea what the problem might be? FYI I'm using PL41, and this DI calls are from a centralized 'handler' VB.NET program. I've also released the instantiated BO objects via System.Runtime.InteropServices.Marshal.ReleaseComObject() (http://support.microsoft.com/kb/317109)
    Thanks.

    David: what do you mean by 'S-User for the Marketplace'? I think I'm not an S-User, so I still can't login... How can I be an S-User?
    Anyway, I'll close this question, even though it's not really solved. I can't find any other user updating the same document, but that -2038 errors still pop up.
    Currently I'm using John's approach to retry whenever I got -2038. As long as it works and everybody's happy I guess...
    Thanks everybody.

  • Microsoft office access record-locking information

    Hello,
    Maybe is a stupid question but i didn't saw question similar to this and I'm concerned about my privacy. Yesterday when i logged in to my skype account I found out that in Users-App Data-Skype- there were created a small file called 'microsoft office access record-locking information'. I'm not exactly sure what this means, because it is happening for a first time. I'm not using Microsoft account for logging in into Skype, also I did not gave any access to another computers, especially to Skype folder.Also after logging off from Skype, this file is not automatically deleted. Can somebody explain me should I concern about something?

    CMMMC wrote:
    I dont know how to post my own question, but see that there is a response to this question within the last 8 mins.
    what my question is (and it must be ridiculasly simple but i cant find it) is how do i get to the page where i can make calls...where my contacts are and such...from the skype home page?  i am in prague, using skype from here...am logged into my account but it is just all of my account info, history and such.  there is no icon to make a call.  i have clicked on everything to see where the option is to simply make a call and...nothing...
    this happened before with my husband when he was using skype on windows 8 for the first time.  this computer has windows xp so it ought to be straight forward...not so far. 
    thanks,
    CMMMC
    It’s still straight forward but not using your Account page on web. You need to install Skype application on your computer and login to this application with your account details.
    http://www.skype.com/en/download-skype/
    See also this:
    https://support.skype.com/en/faq/FA11098/getting-s​tarted-with-skype-windows-desktop

  • Record Locks

    Hello all,
    Now this might sound like a very beginners question but here goes.
    I have been programming in Java for over 2 years so I understand the basics of JDBC. Now I just started a job and am trying to develop an application for the client. First of all what is a record locking? I am using Oracle 9i as a database. This application will be placed on a server in a directory where clients will access it. What I want is once a user is modifying a record on a MODIFYDIALOG others should not be able to read/add/modify it. Somehow this is not working correctly. Database object property to use transactions is set to true and the level i am using is "SERIALIZABLE". But I am unable to achieve my goal of record locking. I was able to solve all the other problems that i came across by visiting the previous posts but this one is really out of hand here.
    I know this is a very childish question but I will be really thankful if someone can explain it to me and tell me what and how to do it.
    Regards

    Did you look at these?
    http://onesearch.sun.com/search/developers/index.jsp?col=devforums&qp_name=Java+Database+Connectivity+%28JDBC%29+%26+Transactions+%28JTA%2FJTS%29&qp=forum%3A48&qt=%2Boracle+%2B%22record+locking%22

  • Record locking

    How does Oracle 8i handle record locking?
    Is this handled completely in the background by oracle or are there explicit record locks that can be set.
    I understand that an update or insert will lock the current record and the commit and rollback will release the lock.
    I have a problem where some developers are using an odbc connection to access an oracle database while a java servlet app is accessing the same database using jdbc. At times the changes made through the servlet app are rolled back or are not processed and the changes made by the odbc connection are kept.
    I am confused as to how this could happen.
    any suggestions?

    I have a simmilar problem, where my program aborts too often with a record Lock.
    Everytime I do an update/delete I do it using the SELECT .... FOR UPDATE NOWAIT. In order to reduce the number of aborts due to record locks I'd like to try your suggestion of catching the ROW_LOCKED error, sleep(dbms_lock.sleep in PL/SQL), and retry getting the lock a certain amount of times prior to erroring out. Can You give me more details of how to do this.
    In paticular how do you use dbms_lock.sleep function/package? where can I find this package? Can you share any code examples where you have used this package.
    I greatly appreciate all teh help/suggestions you can provide to me.
    Thanks.

  • Record locks created when user closes the Browser and not the Web Form

    Hi. We sometimes encounter the issue where a user updates a record, locking the record on the table, but then they unexpectedly closes the browser without saving by clicking the X in the upper-right of the browser window. Then when another user comes along and attempts to edit that record they get the message Unable to Reserve Record. The orphaned record lock eventually does seem to clear itself out, but that can often take 15-20 minutes.
    Is there any way to speed this up? Or to pragmatically keep this from occurring? Either on the database side or with some code in a particular application?
    Please let me know your thoughts. Thanks in advance.

    If a user closes the browser window the forms runtime on the application server holding the locks is in most cases still up and running. The FORMS_TIMEOUT controls on how long a forms runtime on the server is up and running without the client applet not sending a heartbeat (See MOS note 549735.1). By default this is 15 minutes which would explain your locks being held 15 minutes.
    You could decrease the FORMS_TIMEOUT in the default.env, so the forms runtimes get cleaned earlier and thus the locks get released earlier.
    Note that if you have blocking client_hostcalls with webutil this might be a problem, as it prevents the forms applet from sending the heartbeat and after the FORMS_TIMEOUT passed while the forms applet is blocked the forms runtime on the server gets closed.
    cheers

  • DMS - Object Links (Material master) is showing "Record Locked"

    When looking at an info record in DMS, I am on the Object links tab for Material Master.  There is now a field called "Record Locked".  Haven't seen this field before.  What does this mean that the record is locked?  Is there something that needs to be done to unlock it?

    Dear experts,
    I also seen this column. But problem is I am able to view this in my development client. But could not view in production.
    Also my observation is if I am changing the document from the Objectlink e.g. Material Master this cloumn appears automatically and allows me to do the changes in the DIR.
    But this happens in Development client same functionality I want to use in Production.
    I could not find any config part regarding this.
    Can any body help me on this to resolve this?
    Thanks in advance
    Regards
    Nitin

  • Record Locking using EJB

    Hi,
    Can anyone please explain me how to achieve Oracle Row level record locking using Enterprise Java Bean ?
    Thanks for the time.
    L G Goundalkar

    It depends upon your container and your container-specific deployment settings. In Weblogic, you can specify database-based pessimistic locking which causes the CMP entity to hold a row-lock on load() until it is comitted or rolled back.

  • JavaScript error and CATW record locking problem

    Hello,
    We're having two problems with ESS (CATW and Personal Information (PZM3)) in EP 6. We have an ITS-R/3 landscape.
    The JavaScript problem appears intermittently within Personal Data services (Address, Emergency Contact, ...). The actual error reads "object required" and originates from ITS. A user may be able to click through all the ESS services once fine, but on a second click receive the error. Sometimes they can't use the services at all.
    The record locking problem happens in Time Sheet (CATW). Even though a user Saves and Releases the Time Sheet, it remains locked and cannot be approved. Alternatively, some users are experiencing locked records when they try to complete their own time sheets.
    I'm not sure if these are related.
    Has anyone here seen these problems? Any suggestions are most welcome!
    Cheers,
    Colleen

    The best way to nail down the javascript error would be to use the firefox JavaScript debugger extension plugin and put the breakpoints where the problem occurs.
    This will exactly tell you which object it is looking for which is not found. Moreover you might be able to find that when it is working fine as you said. So give that a try and I am sure you will be able to figure out the problem.
    To me this mostly looks like at time some .js file is not coming through to the browser... but this is just a wild guess based on the symptoms.

  • Record Lock

    Hi all,
       I have requirement like this. For one table i have created table maintainance generator. For data maintainance i have created one Transaction code. while one user is using that TCODE to update data for one record if another try to update another record it is not possible the total table is lock untill first user completes updating.
      But now my requirement is if one user is updating first record then another user also want access to update second record. That means record lock in table maintainance generator tcode.
    Awaiting for reply.
    Thanks & Regards,
    Swetha.

    Hi Swetha,
    Doesn't sound like a good idea from data consistency point of view, but you can give it a try using the event After locking/unlocking in the main function module by creating a form  of your own. But I'm not sure if the current record that is being processed would be visible there or not.
    Check this [link|http://help.sap.com/saphelp_47x200/helpdata/en/a1/e45217a2f511d1a5630000e82deaaa/frameset.htm] for details about events.
    KR,
    Advait

  • 32 bit Record Locking on 64 bit Novell Client 2 SP1 for Wind

    I recently installed several 64 bit Windows 7 Machines running Novell Client 2 SP1 for Windows 7.
    Our application uses 32 bit record locking in order to maintain compatibilty with a wide array of workstations.
    The problem is as follows:
    Machine A is runnning 64 bit Novell Client 2 SP1 for Windows 7
    Machine B is running 32 bit Windows XP (Client doesn't really seem to matter).
    Using Machine A, I open a table, and lock a record.
    Using Machine B, I attempt to open the same table.
    Machine B received and Error 33 - The process cannot access the file because another process has locked a portion of the file.
    When I change my application to use 64 bit record locking, the problem goes away.
    Luis

    I see that there is a better place for my post:
    OES: Client - Windows - NOVELL FORUMS
    I have posted there as well.

  • Who has the @#$% record locked!?

    I know there are hundreds of other posts asking this (I've read every one I think), but none give the whole answer (unless I haven't found that one yet). I hate to have to add another one, but I can't believe this has not been resolved due to the sheer number of people asking for this.
    Instead of the non-user friendly "Could not reserve record..." message which means nothing to the users and just generates calls to me, I want to display "User XYZ has the record locked" so the user that gets this message will call the other user instead! Should be simple, right?
    I know to use the on-lock trigger and select for update to see if the row is locked. I know to use v$lock to look for rows with the type of 'TX'. The trouble is, there will be multiple TX type rows. How do I know which one is MY row? No column in v$lock, v$locked_object or v$session seems to map to the rowid, which is the only way I know to identify MY row.
    Please, how do I relate MY row to one of the TX type rows in v$lock (or a row in v$locked_object which has the userid in it)!? Are there other system views I need to be aware of that have this info maybe?
    Thanks for any info. I'm using forms 10g (9.0.4) against the 10g database.
    Gary

    Well, I have reread your post, and maybe you can use a variant of inolau query :
    SQL> select
      2           (select osuser from v$session where sid=a.sid) blocker,
      3         a.sid,
      4           (select serial# from v$session where sid=a.sid) serial#,
      5        ' blocks ',
      6         (select osuser from v$session where sid=b.sid) blockee,
      7             b.sid, c.username username
      8    from v$lock a, v$lock b, v$session c
      9  where a.block = 1
    10     and b.request > 0
    11     and a.id1 = b.id1
    12     and a.id2 = b.id2
    13*    and b.sid = c.sid
    SQL>                                                                  You know your session id, so you know who is blocking you.

  • Update query hangs due to a record lock

    Hi All,
    I am writing a Java application that uses JDBC to connect to an
    Oracle DB server.
    I'm trying to update a record locked from another transaction.
    Since I don't want to wait the termination of the other transaction, how can I recognize that the record is locked?
    Notice that I don't want to ask if the record is locked before my update is starting.
    Can I set the JDBC driver in order to raise an exception instead to leave the second transaction in a long waiting?
    Thanks

    You can try setting a timeout for the update. I have used this in Oracle with a PreparedStatement. It's simple to try out...
       ps.setQueryTimeout(45);  // set timeout to 45 seconds

  • Record Locked by another user

    I have an application using ADF, Java, Struts, JSP in JDev10.1.2
    I have created datapages using 'Input form'. So, if any record is viewed through the form, will that record be locked?
    Won't I have this problem, if I view the record using 'Read Only' form? Pls advice, it is very urgent.
    I keep getting the error "Record locked by another user" all the time. Pls tell me how to remove the locks programatically

    Hi,
    Go to application module --> configuration . Probably you have pessimistic locking mode (default in 10.1.2 version). If that, change locking mode for optimistic - recomended for web applications.
    Kuba

  • CK24 Marking Batch Jobs causes SM12 Record locks

    When finance runs the CK24 Marking job at month end, it seems to leaving some record locks hanging in SM12. The batch job is sucessful and says it has processed 23,699 materials, but it always leaves locks on some 700~ materials.
    The materials are rohs, halbs, and ferts. I cannot figure out why only some cause this problem.
    I am able to cleanup the locks, by deleting in SM12, but I want to know how to prevent, because it stops all functions such as shipping on these materials.
    Thanks,
    Bev

    Dear,
    Please check SM37 is for job logs
    Have you "enqueue" in RZ20 ?
    In SM12 By double-clicking a lock entry, you can display detailed information, including the host name and number of the SAP System in which the lock was generated.
    check this sap help...
    http://help.sap.com/saphelp_nw04/helpdata/en/7b/f9813712f7434be10000009b38f8cf/frameset.htm
    Regards,
    R.Brahmankar

Maybe you are looking for

  • Slow loading when creating a new folder or deleting a folder or file

    Hello! Before we begin, a little information. This problem only started occurring AFTER I updated to Mavericks. I have been through every operating system since Snow Leopard and NEVER had this problem until Mavericks. It has been palguing me since I

  • How to make a trailer movie with own photo's

    I am trying to make a trailer in IMovie.  I have made a 'normal movie' and would like to add a trailer. Probably a silly question, but where you get the grayed out frames with action, dog, 1 person 2 people, Landscape  etc.... How do you add your pho

  • Cannot sync Smart Playlists anymore

    I have two smart playlists that don't even show up as an option to Sync on my iPhone anymore after the 9.0.2 update. I have tried recreating the playlists multiple times and yet the result is the same. Here is a screenshot of the problem with arrows

  • Advice Required on Suitable Soundcard & Softw

    I am looking for a good soundcard which will enable me to archi've my favorite analog LP Singles in digital format but not sure which soundcard and software offer the best sound quality in terms of recording from a analog source. Your advice will be

  • How do I update to Mac OS 10.9 so that I can install pages?

    How do I update to Mac OS 10.9 so that I can install pages? I have 10.75 currently. Thank you