From:Steve Adams
Date:29-Aug-2000 20:40
Subject:   Number of transaction table slots


Yes, you cannot have any more concurrent transactions (including distributed
queries) in a rollback segment than the number of slots available in the
transaction table in the header block.

You should be able to calculate the number of slots for any database block size
and for any given version from V$TYPE_SIZE without dumping a header block. For
example for your 2K block size it goes like this:

      2048 bytes  db_block_size
    -   16 bytes  cache layer undo block header (KTUBH)
    -    4 bytes  cache layer tail
    -   72 bytes  extent control header (KTECH)
    -   44 bytes  extent map header (KTECT)
    -  960 bytes  extent table = extent entry * (maxextents - 1)
                  = 8 bytes (KTETB) * (db_block_size/16 - 8)
    -  104 bytes  transaction control header (KTUXC)
       =========
    =  848 bytes  for the transaction table
    /   40 bytes  per transaction table entry (KTUXE)
    =   21        transaction table slots!
        (8 bytes  unused)


-----Original Message-----
Sent: Tuesday, 29 August 2000 17:37


Any body know about the size of the transaction slot
in the transaction table. I have dumped the header of
a rollback segment (of 2 K block size ) and i am
seeing only 21 slots.

Does that means only 21 ___concurrent__ transactions
can use the rollback segment ?