Allocation of extents
Date: 1996/10/01
Message-ID: <32515233.6ED_at_ingr.com>#1/1
I have a question about how Oracle adds extents to tables.
My platform is windows NT (oracle block size = 2048 bytes) and I'm working with the default storage parameters.
My understanding is that the initial extent is 5 blocks, and the next extent will be (initial + (initial x .5)) - again, using the default value for NEXT of 50. Consider what I saw when looking at the extents of a particular table:
SEGMENT_NAME EXTENT_ID BYTES BLOCKS -------------------- ---------- ---------- ---------- RI05_T05 0 10240 5 RI05_T05 1 10240 5 RI05_T05 2 20480 10 RI05_T05 3 30720 15 RI05_T05 4 40960 20 RI05_T05 5 61440 30 RI05_T05 6 92160 45 RI05_T05 7 133120 658 rows selected.
The documentation has this to say (paraphrased):
"The first extent will be INITIAL" (5 blocks)
"The second extent will be NEXT" (5 blocks"
"The third extent will be PCTINCREASE greater than the previous"
- extent #3 = 10240 x 1.5 = 15360
- How did it arrive at the value 20480 for extent #3?
In a similar manner, extent #4 will be 50% bigger than #3
- extent #4 = 30720 x 1.5 = 46080
- How did it arrive at the value 30720 for extent #3?
Now consider a different table:
SEGMENT_NAME EXTENT_ID BYTES BLOCKS -------------------- ---------- ---------- ---------- PDTABLE_12_2 0 10240 5 PDTABLE_12_2 1 286720 1402 rows selected.
How did it jump from 5 blocks to 140, in affect "bypassing the smaller extent sizes along the way"?
If I need to extend the table multiple times within a single transaction, will it skip in this manner?
I will greatly appreciate an explanation of what is going on here :-)
Direct reply also appreciated since I'm not a regular reader...
JJ
Jack G. Jolly Intergraph PDS Support jgjolly_at_ingr.com, (205) 730-8280Received on Tue Oct 01 1996 - 00:00:00 CEST