Home » RDBMS Server » Server Administration » Is minextents for initial only, or for initial and next?
Is minextents for initial only, or for initial and next? [message #64486] Tue, 01 February 2005 22:36 Go to next message
M. Pallas
Messages: 12
Registered: November 2004
Junior Member
Does the parameter MINEXTENTS effect initial and next extents or it only effect the way initial extent is created?
If INITIAL = 10, NEXT = 5 and MINEXTENTS = 2, does Oracle create 2 extents (2@ 10K extents) when initial is created and 2 when next (2@5K extents) is created, or 2 extents when creating initial (2@10K extents) and then for every next extent 1 extent at 5K from there on?

Thank you in advance.
M.Pallas
Re: Is minextents for initial only, or for initial and next? [message #64492 is a reply to message #64486] Wed, 02 February 2005 05:00 Go to previous message
Frank Naude
Messages: 4587
Registered: April 1998
Senior Member
Hi,

As per the SQL Reference Guide:

"If the MINEXTENTS value is greater than 1, then Oracle calculates the size of subsequent extents based on the values of the INITIAL, NEXT, and PCTINCREASE storage parameters."

Here is an example just to confuse you further:

SQL> CREATE TABLESPACE ts1 DATAFILE 'local1.dbf' SIZE 1M REUSE
  2          EXTENT MANAGEMENT DICTIONARY;

Tablespace created.

SQL> CREATE TABLESPACE ts2 DATAFILE 'local2.dbf' SIZE 1M REUSE
  2          EXTENT MANAGEMENT LOCAL;

Tablespace created.

SQL>
SQL> CREATE TABLE t1 (c1 DATE) TABLESPACE ts1
  2          STORAGE (INITIAL 32K NEXT 64K MINEXTENTS 2);

Table created.

SQL> CREATE TABLE t2 (c1 DATE) TABLESPACE ts2
  2          STORAGE (INITIAL 32K NEXT 64K MINEXTENTS 2);

Table created.

SQL>
SQL> SELECT segment_name, tablespace_name, extent_id, bytes, blocks
  2    FROM dba_extents  WHERE segment_name in ('T1', 'T2');

SEGMENT_NAME         TABLESPACE_NAME       EXTENT_ID      BYTES     BLOCKS
-------------------- -------------------- ---------- ---------- ----------
T1                   TS1                           0      32768          4
T1                   TS1                           1      81920         10
T2                   TS2                           0      65536          8
T2                   TS2                           1      65536          8

SQL> SELECT table_name, initial_extent, next_extent, pct_increase
  2    FROM dba_tables WHERE table_NAMe in ('T1', 'T2');

TABLE_NAME                     INITIAL_EXTENT NEXT_EXTENT PCT_INCREASE
------------------------------ -------------- ----------- ------------
T1                                      32768       98304           50
T2                                      98304


Best regards.

Frank
Previous Topic: Multi-Page Tiff
Next Topic: the Password file state in the password file
Goto Forum:
  


Current Time: Fri Jan 10 03:24:12 CST 2025