| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Locking issues
In article <5e3lta$s9e_at_shadow.CSUFresno.EDU>, Steve Cosner
<stevec_at_zimmer.csufresno.edu> writes
>It is difficult to write C/S applications with Oracle's default
>locking. I have spent many hours programming and testing processes to
>handle locked rows gracefully. (Sometimes you just can't use Forms
>default processing.)
>
>It seems like Oracle could change the necessity of having to do a
>"select for update nowait" by providing a parameter on the Update
>command, maybe something like "wait limit=5 seconds", and returning an
>error if the row remains locked for the entire wait period.
>
>It would also help on-line processing environments if there were a
>system-level method of rolling-back any session/transaction where a
>lock is being held over 5 minutes with no further activity in the
>session. There needs to be a method of clearing out locks held by a
>terminal operator who has locked something and then answered the phone
>or gone to lunch, or even worse, shut down the client terminal without
>exiting the process.
>
>Once a client terminal has been shut down without, committing, or
>rolling-back, there is nothing that will clear the problem without
>intervention by the DBA.
Dead connection detection has been available for some time. This deals
with this problem. The default settings for TCP/IP keepalive which some
versions of the dead connection detection rely on are often
inappropriate and need to be changed to give a reasonable timeout.
>
>If I am wrong about this, please let me know. If I'm right, I sure
>hope Oracle will work on a solution.
>
>Steve Cosner
>--------------------------
>Free forms software at
>http://members.aol.com/stevec5088
>
>
>In article <3304b9d3.20626929_at_nntp.mediasoft.net>,
>Thomas J. Kyte <tkyte_at_us.oracle.com> wrote:
>>the way Oracle Forms handles this is as follows:
>>
>>1) query up the information, include the rowid for each table in the query.
>>
>>2) when a user attempts to modify a value (before they actually modify it), the
>>applications issues:
<snip>
>>
>>
>>
>>
>>On 14 Feb 1997 16:43:10 GMT, "David Kaiser" <davidk_at_sfmic.com> wrote:
>>
>>>Oracle's default locking method causes C/S applications to wait for a lock
>>>to clear. This can make the user think that their program crashed, when
>>>they are actually waiting for a lock.
>>>
>>>The only way around this that I've seen is to have the client program
>>>timeout after waiting for a certain period of time.
>>>
>>>Is there anyway with Oracle 7.3 to have Oracle return an error message
>>>notifying the client program that the record it is trying to update is
>>>locked?
-- Jim SmithReceived on Sun Feb 16 1997 - 00:00:00 CST
![]() |
![]() |