Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> RE: Block header average size
Hello Ric,
The common block header takes 20 bytes and the tail takes 4 bytes. The transaction control header takes 24 bytes and there are 24 bytes for each transaction slot. Then there is a 14-byte common header for the data layer. Cluster blocks have a table directory, followed by a row directory. Each slot in the table directory takes 4 bytes, and each slot in the row directory takes 2 bytes. Table blocks are the same as cluster block, except that there can only be one table in the table directory. Index blocks have a 16-byte common index block header following the common data block header, and then either a 24-byte branch block header, or a 32-byte leaf block header, depending on the block type. These index headers are followed by a row directory, as for clusters and tables. There is also a 3-byte row header on each row in the data area. So there you have it ... it depends.
Regards,
Steve Adams
http://www.ixora.com.au/ http://www.oreilly.com/catalog/orinternals/ http://www.christianity.com.au/ -----Original Message----- From: Riccardo Ferrari [SMTP:riccardo.ferrari_at_informatica2.it] Sent: Friday, October 22, 1999 10:12 PM To: comp.databases.oracle.server_at_list.deja.com Subject: Block header average size
I'd like to know the space actually reserved for row data in a block.
I suppose it's (total block size - block header size).
In this case the problem becomes extimating block header size.
I know it depends on some initialization parameters (initrans ...) but I've
not an idea of a sensible average occupation.
Could anyone help me?
Thanks in advance
Ric
Sent via Deja.com http://www.deja.com/ Before you buy. Received on Mon Oct 25 1999 - 07:28:56 CDT