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: type of striping

Re: type of striping

From: Howard J. Rogers <hjr_at_dizwell.com>
Date: Wed, 08 Dec 2004 07:10:41 +1100
Message-ID: <41b60e3f$0$26811$afc38c87@news.optusnet.com.au>


Chuck wrote:
> Frank van Bortel wrote:
>

>> yls177 wrote:
>>
>>> Hi, i understand that there are different types of striping for raid 0.
>>>
>>> 1) OS/Hardware striping
>>> 2) manual striping
>>>
>>> And the general consenus is that OS/Hardware striping is better than 
>>> manual.
>>>
>>> Please advise
>>
>>
>>
>> Advise what?
>> Against the general consensus? Which would probably be hardware
>> over software, btw.
>>
>> How would you stripe manually?!? Get your sleeves rolled up,
>> put on your high voltage protection gloves, and jump into the
>> computer case?
>>

>
> By manual striping, I think he meant the old practice of manually
> pre-allocating extents to specific datafiles. I don't think anyone does
> this anymore. Back in v7 Oracle used to allocate extents in a different
> way than it does today. If you had multiple datafiles in a tablespace,
> it would fill the first datafile, then the second, etc. Now it
> distributes the extents evenly across all datafiles in the tablespace,
> effectively doing automatically what DBA's used to have to do manually.
> You can probably still find references to manual striping in the old v7
> manuals if they are still online anywhere.
> --
> Chuck

Just thought I'd mention that in fact, things were and are, precisely the opposite way around. In a multi-file tablespace in 8.0, for example, Oracle would allocate the initial extent on file 1, the next on file 2, the next on file 3, then back to file 1, 2, and so on. It would, in short, "round robin" the extents.

In locally-managed tablespace, it hammers disk 1 to death and only moves on to disk 2 when no more space is available on disk 1 *IF* the tablespace is AUTOALLOCATE LMT. If you do UNIFORM SIZE LMT, then the round robin behaviour is unchanged.

As this little test proves (done on 9i, so LMT is the default):

SQL> create tablespace t

   2  datafile '/oracle/oradata/sapphire/t1.dbf' size 5m,
   3  '/oracle/oradata/sapphire/t2.dbf' size 5m,
   4  '/oracle/oradata/sapphire/t3.dbf' size 5m
   5 autoallocate;

Tablespace created.

SQL> create table T1 tablespace T as select * from dba_objects;

Table created.

SQL> select file_id from dba_extents

   2 where segment_name='T1';

    FILE_ID


          6
          6
          6
          6
          6
          6
          6
          6
          6

[So, file 6 hammered to death in the autoallocate tablespace, and the other two files don't get a look-in]

SQL> create tablespace U

   2  datafile '/oracle/oradata/sapphire/u1.dbf' size 5m,
   3  '/oracle/oradata/sapphire/u2.dbf' size 5m,
   4  '/oracle/oradata/sapphire/u3.dbf' size 5m
   5 uniform size 64k;

Tablespace created.

SQL> drop table T1;

Table dropped.

SQL> create table T1 tablespace U as select * from dba_objects;

Table created.

SQL> select file_id from dba_extents

   2 where segment_name='T1';

    FILE_ID


          9
         10
          8
          9
         10
          8
          9
         10
          8
          9
         10

[Now all three files are in use, thanks to the uniform size clause]

Regards
HJR Received on Tue Dec 07 2004 - 14:10:41 CST

Original text of this message

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