Re: ORA-00054: resource busy and acquire with NOWAIT specified

From: Tanel Poder <tanel_at_poderc.com>
Date: Sat, 31 Oct 2009 15:33:34 +0800
Message-ID: <4602f23c0910310033l4cbc0992jbf12d0532407bbdc_at_mail.gmail.com>



Hemant,

The transaction is started only when you actually change a row! By transaction started I mean that a transaction slot is allocated from undo segment header block and a transaction state object is created (and TX lock is taken).

If no rows are changed by the DML statement, all you have is a TM lock (DML lock) on the object, but no transaction.

Tanel Poder
http://blog.tanelpoder.com

On Thu, Oct 29, 2009 at 12:12 AM, Hemant K Chitale <hkchital_at_singnet.com.sg>wrote:

>
> The transaction is "defined" when the DML starts. It doesn't matter if it
> ends up deleting 1million rows or 0rows. It is still a transaction holding
> a Transaction Lock. This prevents DDL on the table.
>
> Hemant K Chitale
>
> At 05:09 AM Wednesday, you wrote:
>
>> Hello gurus,
>>
>>
>> When session1 deleted 0 records, it should not be placing any locks on
>> the table correct? I do not understand why I got the error. Am I
>> missing some basic concept?
>>
>> When I did a rollback on the session1 then session2 was able to
>> truncate the table.
>>
>> Thanks
>> Deen
>>
>
>
>
>
>
>
>
>
> --
> http://www.freelists.org/webpage/oracle-l
>
>
>

-- 
Tanel Poder
http://blog.tanelpoder.com

--
http://www.freelists.org/webpage/oracle-l
Received on Sat Oct 31 2009 - 02:33:34 CDT

Original text of this message