Oracle Internal Block Format
13989Mar 3 2008 — edited Mar 4 2008Hi,
one thing i was always interested in, is the question how Oracle saves the data inside a block. (to be honest, a year ago i had a block corruption, and tried to get the data out of the block, and yes i know there ist block dump function inside oracle. but what would happen if you truncate a table? the data should be still inside the block ....)
Some things i discovered (is discovered the right english phrase? :-) )
1. The data starts from the end of the block
2. the last 2 bytes are checksums
3. Table Header starts with 06A2
4. The Rowheader starts with FFFF
But some things i´m still looking for:
1. How many bytes after the rowheader flag (FFFF) are the rowheaders (looks like 14 Byte, or?)
2. What happens if a row is migrated to another block?
3. What happens with deleted and commited rows? the should be still inside. but how is this documented in the block?
4. how are scn´s for each row stored if you use the Table Feature ROWDEPENDENCIES?
5. How is the Checksum calculated?
Thanks to all
marco