Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Row Locking on Oracle 8

Re: Row Locking on Oracle 8

From: Jeremiah Wilton <jeremiah_at_wolfenet.com>
Date: Wed, 22 Sep 1999 08:15:19 -0700
Message-ID: <37E8F287.6C0272CE@wolfenet.com>


Juan Carlos Alonso Lafuente wrote:

> What we would like to do is to show the user some kind of message window telling the user
> that such and such person is editing the document (but without blocking him/her.) In this
> case, we can not use the waiters sql (we have already taken a look of the oracle's
> scripts :utlockt.sql and catblock.sql)

I understand the problem you are up against. You use "...for update nowait;" statements to prevent locking pileups, but that gives you no ability to detect the identity of the blocker.

Why not get rid of the nowait clause, and program the application with a timeout that checks for blocking (and even other types of waits). This could be performed in a separate process or thread, and might improve lock success rates because it gives the blocker a few seconds to get out of the way before the waiter fails. After the timeout period, the timeout checker thread could identify the blocker's identity and print an appropriate message to the application UI.
--
Jeremiah Received on Wed Sep 22 1999 - 10:15:19 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US