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: Difference between db_block & extent?

Re: Difference between db_block & extent?

From: <mjain_at_bigfoot.com>
Date: 7 Aug 1998 04:32:03 GMT
Message-ID: <6qe003$lgj$1@orthanc.reference.com>


Oracle uses DB_BLOCK as the smallest unit to read/write the information from the disk/memory. The DB_BLOCK_SIZE is chosen at the time of database creation, and can not be changed thereafter. All the datafiles created in the database are formatted by Oracle based on this value of DB_BLOCK_SIZE. So, the change of DB_BLOCK_SIZE will render already existing datafiles unusable because of mismatch of DB_BLOCK_SIZE and dafa-file format, that is the reason why once the dabase has been created you can not change the DB_BLOCK_SIZE. The only way to acheive it would be to recreate the database with new DB_BOLCK_SIZE and then import the objects from an export file.

The segments like tables,indexes,rollback segments,temporary segments require physical storage space on the hard disk. These objects when created are allocated INITIAL EXTENT, MINIMUM EXTENTS. Later when this the INITIAL EXTENT and other MINIMUM EXTENTS get filled Oracle has to allocate disk space on the disk based on NEXT EXTENTS.

What is an EXTENT?
An Extent is a contiguous set of Oracle Blocks with Block Size equal to DB_BLOCK_SIZE on the disk, which are allocated for a particular segment. (The segment could be a table, an index, a rollback segment space or a temporary segment).

Just a note for clarification purposes: One extent belongs to one and only one datafile and one and only one object(segment) and it also belongs to one and only one tablespace.

Hope this clears you doubts and this stuff is helpful to you,

Manoj Jain
Oracle Certified Professional - DBA
Chauncey Certified Oracle7 DBA

On Thu, 06 Aug 1998 19:38:48 GMT, poohland_at_hotmail.com wrote:
> db_block is the Oracle block size. Usually it is the size of the OS block or a
> multiple of it. Extent is a group of db_block together. Everytime Oracle
> expands the size of an object. It will get a group of db_block (which is a
> extent). And the size of the extent (no. of db_block) that it will try to get
> is specified when you create the object.
>
> Winnie
>
> In article <35c959fa.27440631_at_news.twsc.pouchen.com.tw>,
> violin.hsiao_at_mail.pouchen.com.tw (Violin) wrote:
> > Hello,
> > Does anyone tell me what the difference is between db_block
> > and extent?
> > Please cc to : violin.hsiao_at_mail.pouchen.com.tw,Thank you :)
> >
>
> -----== Posted via Deja News, The Leader in Internet Discussion ==-----
> http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum


  Posted using Reference.COM                  http://WWW.Reference.COM 
  FREE Usenet and Mailing list archive, directory and clipping service
Received on Thu Aug 06 1998 - 23:32:03 CDT

Original text of this message

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