Thx Jurij, you provided a nice path to study it carefully again. I really enjoy this forum as well as I am very active in MCDBA forum in another website.
So obviously we have to think about data block structure:
1) Common and variable header
2) Table directory
3) Row directory
4) Row data
5) Free space
Consider 1)
Common header: 24 bytes X 1
Variable header: 24 bytes X INITRANS (INITRANS default 1
for table, 2 for index)
Variable header is so-called transaction header.
Why should we specify INTRANS and MAXTRANS? For control the block space to be allocated for transactions.
The original allocation is defined by INTRANS and then dynamically gets free block space but controlled by MAXTRANS (The header space is never released)
So PCTFREE affects free space can be allocated to transaction header (24 bytes per one)
