Why the inactive session still lock the table record
I did below testing:
1. User A login to sqlplus , do
select * from t1 where c1 = 1 for update nowait
2. User B login to sqlplus , do
update t1 set c2 = 2 where c1 = 1 ( it has to wait ,good)
3. Disconnect UserA 's network with oracle server .
I expect that oracle release the lock which holded by UserA as the connection is lost .
4. But the update statement still waiting !
5. I manuall kill session ( inactive session of UserA) , the update statement from userB can continue .
It seems oracle can not claim the lock back even the session is lost !
Can anyone explain about that ?