Matt, could you provide your example? Because I never seen such behaviour(or maybe i didn't understand you), and my test that I've made now, showed normal unlock. My test: --First session: create table xt_test(id primary key, x) as select level,level from dual connect by level<=10; begin update xt_test set x=-x where id=1; savepoint sp1; update xt_test set x=-x where id=2; rollback to sp1; dbms_lock.sleep(30); end; / -- and now in second: update xt_test set x=x*10 where id=2; On Thu, May 29, 2014 at 10:02 PM, McPeak, Matt <vxsmimmcp@xxxxxxxxxx> wrote: > If transaction A is waiting on a lock held by transaction B and > transaction B rolls back to a savepoint (releasing the lock), transaction A > remains blocked until transaction B ends completely (with either a full > rollback or a commit). > > > > Does anyone know if this is still the case in 12c? I really hate this > behavior. > > > Thanks, > > Matt > > > > > > > > > -- Best regards, Sayan Malakshinov Senior performance tuning engineer PSBank http://orasql.org