| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: What use is OCP? they did it again!
Richard Foote wrote:
>
> "mario" <mario_jvn_at_yahoo.it> wrote in message
> news:b84ce0d2.0211200929.85ed698_at_posting.google.com...
> > From the last issue (November/December 2002) of
> > Oracle Magazine, page 134:
> >
> > " Select two characteristics of locally managed tablespaces:
> >
> > A. extents are managed by the data dictionary.
> >
> > B. a bitmap in the datafile keeps track of the free
> > or used status of blocks (sic!) in the datafile.
> >
> > C. Each segment stored in the tablespace can have a
> > different storage clause.
> >
> > D. no coalescing is required.
> >
> > E. UNDO is not generated when allocation or
> > deallocation of extents occurs.
> >
> > For locally managed tablespaces, the correct answers
> > are B (sic!), D and E. "
> >
> > Each bit in the 64K bitmap corresponds to one extent in the file,
> > and not, as stated, a single block.
>
> Hi Mario,
>
> Actually you are both right.
>
> If a LMT has a uniform size, then yes, all bits correspond to an extent (as
> all extents must be of the same size)
>
> However, if the LMT is autoallocate, then it can have a number of difference
> extent sizes, when can appear anywhere within the tablespace. Therefore in
> this case, each bit does indeed correspond to a block and Oracle searches
> for a range of bits that corresponds to the required extent size. It makes
> the bitmap less efficient as a result but you can still fit a mamma of a lot
> of bits in the bitmaps initially allocated.
>
> All that said, answer B may or may not be correct and it's an ambiguity
> that's makes the question a bit stinky.
>
> Cheers
>
> Richard
> >
> >
> > Mario from Rome
Are you sure the "bit = block" for auto-lmt?
I just ran the following test;
SQL> create tablespace dummy
2 datafile 'G:\ORA92\ORADATA\DB92\dummy.dbf' size 10m
3 segment space management manual;
Tablespace created.
SQL> create table x1 ( x number ) tablespace dummy;
Table created.
sys_at_db92> insert into x1 values (1 );
1 row created.
sys_at_db92> commit;
Commit complete.
SQL> select file# from v$datafile where name like '%DUMMY%';
FILE#
9
SQL> alter system dump datafile 9 block 3;
System altered.
sys_at_db92> select extents from user_segments 2 where segment_name = 'X1';
EXTENTS
1
Start dump data blocks tsn: 9 file#: 9 minblk 3 maxblk 3
buffer tsn: 9 rdba: 0x02400003 (9/3)
scn: 0x0000.001aaf82 seq: 0x01 flg: 0x00 tail: 0xaf821e01
frmt: 0x02 chkval: 0x0000 type: 0x1e=KTFB Bitmapped File Space Bitmap
File Space Bitmap Block:
BitMap Control:
RelFno: 9, BeginBlock: 5, Flag: 0, First: 1, Free: 129023
0100000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000
which shows (if I'm reading it correctly) we've got 1 bit for the extent (ie 64k) not the block
hth
connor
-- ============================== Connor McDonald http://www.oracledba.co.uk "Some days you're the pigeon, some days you're the statue..."Received on Thu Nov 21 2002 - 13:14:41 CST
![]() |
![]() |