Re: Locked table in Oracle

From: Chris Halioris <halioris_chris_nonlilly_at_lilly.com>
Date: 1997/02/27
Message-ID: <3315FC40.13B0_at_lilly.com>#1/1


> From PowerBuilder i do an update, then a Commit ;
> The application will try to re-connect, if it should happend to disconnect
> from the server.
> To test this i did this :
> UPDATE concurrency-table ;
> Pulled the net-cable from the computer
> COMMIT - which failed, due to the lost net-cable.
> Reconnect every 10 second until a new connect.
> Plugged the net-cable in
> reconnected
> Now the concurrency table is locked. I can't do a rollback or commit,
> since Oracle think i'm not the user. I have to shutdown the server, in
> order to get access to the concurrency-table !!!
> This can't be right !
> Is should be possible for Oracle to detect this, and unlock the table.
>

Unfortunately, that is right. Oracle is supposed to check for dead processes but there are some bugs in doing this. However (dependent on the server's OS) you should not have to restart the server, you should be able to go into SQL*DBA and kill the session holding the lock. I've had the same problem, so I feel your pain.

Might want to get in touch with Oracle support and ask them what the status of this is. I believe it may actually be a SQL*Net bug or it has something to do with SQL*Net. You would think it could be smart enough to know that an inactive process holding the same lock for the same transaction for an unusually large amount of time should be killed.

Chris Halioris
Tactics, Inc.
hali_at_tacticsus.com Received on Thu Feb 27 1997 - 00:00:00 CET

Original text of this message