Re: ITL mechanism

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Fri, 12 Aug 2011 01:59:49 +0000 (UTC)
Message-ID: <pan.2011.08.12.01.59.49_at_gmail.com>



On Thu, 11 Aug 2011 16:48:44 -0700, vsevolod afanassiev wrote:

> I was reading about ITL mechanism and it was mentioned that Oracle
> creates ITL entry for *every* updated row in a block. So if one
> transaction updates 10 rows in the same block Oracle will create 10
> transaction entries (ITL entries). Is it really true? Let's say we have
> a table with very short row, just one column CHAR(1). In this case there
> could be more than 1000 rows in 8K block. So to update all rows in this
> block Oracle will need to create more than 1000 transaction entries in
> the same block. As each entry is 24 bytes there won'be be enough space
> to do that. However test shows that update works just fine.

ITL stands for "Interested Transaction List. ITL entries point to transactions. Therefore, one will be created for every interested transaction. If a transaction updates 10 rows in the block, it will only have 1 ITL entry.

-- 
http://mgogala.byethost5.com
Received on Thu Aug 11 2011 - 20:59:49 CDT

Original text of this message