Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: What use is OCP? they did it again!

Re: What use is OCP? they did it again!

From: Connor McDonald <connor_mcdonald_at_yahoo.com>
Date: Thu, 21 Nov 2002 19:14:41 +0000
Message-ID: <3DDD30A1.DB4@yahoo.com>


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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US