Locks [message #225610] |
Tue, 20 March 2007 08:55 |
ora_dev
Messages: 27 Registered: December 2006
|
Junior Member |
|
|
Hi
We have just made numerous applications live. Users have been complaining of the screens 'hanging'. On investigation we have found numerous locks.
To overcome these locks, which would be a better option.
Include the NO WAIT option when updating a table in the form
OR change the locking mode on the block properties to 'Delayed'.
Would this overcome the locking problems. We are new to forms.
Thankx
[Updated on: Tue, 20 March 2007 08:56] Report message to a moderator
|
|
|
Re: Locks [message #225704 is a reply to message #225610] |
Wed, 21 March 2007 01:45 |
tahpush
Messages: 961 Registered: August 2006 Location: Stockholm/Sweden
|
Senior Member |
|
|
Do you get any FRM or ORA errors ?
You have to options
Quote: |
Immediate:
----------
If 'Locking Mode' is set to 'Immediate', the row is immediately locked upon modification. Locking occurs as soon as a key is pressed to enter or edit that value in the item. 'Immediate' is the default setting.
|
Quote: |
Delayed:
--------
If 'Locking Mode' is set to 'Delayed', the row is not locked until
commit-time, specifically until changes are 'posted' to the database. Oracle Forms then compares the current value to the database value before issuing the UPDATE statement. The user will get an error if the row has been updated
since it was fetched.
|
Have a look at Docid 1004126.6 on metalink
[Updated on: Wed, 21 March 2007 01:46] Report message to a moderator
|
|
|
|
Re: Locks [message #233362 is a reply to message #225610] |
Wed, 25 April 2007 17:02 |
Thagor
Messages: 9 Registered: April 2007
|
Junior Member |
|
|
Hello ora_dev,
I just want to pose some more questions which may lead you into the direction of a solution to your problem.
What I would like know, is:
Who is waiting on what? Did you try to trace the locking and / or locked sessions or query information about the sessions (from v$session_wait, v$session_event and v$system_event, v$open_cursor etc.)?
Did you try to google with search terms like "oracle session hang"?
Are there queries with a lot of union (all)'s ?
How do the application(s) connect to the database(s)(JDBC/OCI or TNS or else)?
Is dead session detection working correctly? Are there sessions which are suspisciously old and still open (except the background processes of course)? And do you know whether the client is still running or has logged off, has crashed or has been rebooted in the meantime? Then check our connection configuration. And do this "dead" sessions still own locks?
How do batch processes behave (if you have them)?
Are there a lot of long running operations?
More application oriented questions are:
Are we talking about client/server forms or web forms? Is the application closing its cursors efficiently when the forms call procedures?
Do the users open a lot of screens simultanously for example in query-mode and leave them inactive for a long time?
When does the application execute commits?
Hoe do users exit the application(s)? By switching of the client machines or with a decent logoff?
Hope this helps a little to pinpoint the problem area.
Greetings,
Thagor
|
|
|