|
dancle, thanks for your excellent test. I tried to reproduce the autoallocate case in Oracle 10.2.0.4. To me, the bits in the bitmap seem to represent extents (each bit for one extent). I create a table in an autoallocate ASSM tablespace with one datafile as you do. Then alter table allocate extent. I dump block 3 of the datafile every time I alter table allocate extent and so the dumps are all in the same trace file. Here's the trace:
$ perl -nle 'print $_=<> if /^RelFno/' ristss1t_ora_21197.trc | grep -v '^$'
0300000000000000 0000000000000000 0000000000000000 0000000000000000
0700000000000000 0000000000000000 0000000000000000 0000000000000000
0F00000000000000 0000000000000000 0000000000000000 0000000000000000
1F00000000000000 0000000000000000 0000000000000000 0000000000000000
You see the numbers, which are in binary 11, 111, 1111, 11111, respectively.
The only difference between my test and yours is that you didn't do "allocate extent" as you did in the uniform extent size case.
So I did another test, exactly like yours. I can't get to have 0700000000000000 shown in trace file. After I ran the insert select from dba_users (we have 384 users) multiple times, I can get 0300000000000000. By this time, I have two extents in dba_extents. So the bits match the number of extents.
Yong Huang
[ 本帖最后由 Yong Huang 于 2009-2-18 14:45 编辑 ] |
|