Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Row Locking on Oracle 8
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
![]() |
![]() |