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: Need suggestions for filesystem config, spindle separation, striping for HP-UX/PeopleSoft

Re: Need suggestions for filesystem config, spindle separation, striping for HP-UX/PeopleSoft

From: John K. Hayes <aikosys_at_earthlink.net>
Date: Fri, 16 Feb 2001 18:46:25 GMT
Message-ID: <3A8D753D.63CDF937@earthlink.net>

The version of the Performance manual is the latest one, for 8.1.7, called "Designing and Tuning for Performance". Although, I first saw this in the 8.0.5 version where it simply said table/index separation was not necessary. The 8.1.7 version goes into a little more detail. It now talks a little about separating them into different tablespaces, but apparently not necessarily separate spindles. I don't understand why separate tablespaces would make any difference, if they are not on separate spindles, at least for the reasons they state - maybe they really mean spindle and are just choosing words badly. Here's what it now says:

        Separating Tables and Indexes
        It is not necessary to separate a frequently used table from its index.
During the
        course of a transaction, the index is read first, and then the table is
read. Because
        these I/Os occur sequentially, the table and index can be stored on the
same disk
        without contention. However, for very high OLTP systems, separating
indexes from
        tables may be required.
        Split indexes and tables into separate tablespaces to minimize disk head
movement
        and parallelize I/O. Both reads happen faster because one disk head is
on the index
        data and the other is on the table data.
        The idea of separating objects accessed simultaneously applies to
indexes as well.
        For example, if a SQL statement uses two indexes at the same time, then
        performance is improved by having each index on a separate disk.
        Also, avoid having several heavily accessed tables on the same disk.
This requires
        strong knowledge of the application access patterns.
        The use of partitioned tables and indexes can improve performance of
operations in
        a data warehouse. Divide a large table or index into multiple physical
segments
        residing in different tablespaces. All tables that contain large object
datatypes
        should be placed into a separate tablespace as well.

All this may be somewhat of a moot point for me, since I have only two spindles (this is a development box). Be that as it may, what I have to work with is what it is.

At any rate, the crux of the issue above seems to be whether it is more beneficial to always have tables on separate spindles from indexes, or to have both tables and indexes striped across multiple disks since both are accessed frequently and both would benefit from distribution given that multiple objects of each type are usually accessed at the same time. I guess ideally, it would be best to stripe both tables and indexes, but on separate arrays, if enough spindles are available. However, this is a tough choice when there are only 2 spindles to work with. It seems that completely separating index from table would lean toward OLTP, while striping would lean toward DSS. This doesn't help too much since our application is a hybrid. However, for development purposes we will probably prefer better performance for massive data transfers, etc. than for the limited amount of OLTP we'll be doing (primarily for testing and demos). So, I think I'd lean toward DSS.

Even though we have only two spindles, I would still like to do what I can, splitting at least between the two. I'm thinking that the best option will be to use HFS, stripe the data tables and indexes together in one volume across the two spindles (non-mirrored), and put the rest on non-striped volumes, maybe as follows:

           Non-Striped



spindle1 spindle2
Striped
-----------       ----------------------------
---------------------------------
o/s                   temp t/s
data t/s's
oracle s/w        redo logs (non-mirrored)                         index t/s's
system t/s         control files (non-mirrored)
rollback t/s       dumps

Note: I'm not overly concerned about redundancy, since we'll be doing daily backups anyway, and it is only a development database. I'd rather have the performance.

What's your critique?

Regards,
John

"Howard J. Rogers" wrote:

> "John K. Hayes" <aikosys_at_earthlink.net> wrote in message
> news:3A89AC42.44ABBA4D_at_earthlink.net...
> > We are installing a new server. Anyone have any opinions on the best
> > database server filesystem configuration to provide best performance for
> > the PeopleSoft HRMS application?
> >
> > Platform: HP 9000 Series L-1000
> > 1 x 440MHz PA8500 CPU
> > 1024MB RAM
> > 2 x 36GB disk (72GB total)
> > HP-UX 11.0 64-bit O/S
> > Oracle 8.1.7 DBMS
> > Apache Web Server and PeopleSoft8 A/S to run on this same box
> >
> > Question: What is the best disk spindle separation scheme for the
> > following oracle object types: data tables, indexes, rollbacks, redo
> > logs, system tables, temp tables, oracle software files
> >
> > Question: I always used to see that Oracle recommended placing data
> > tables and their indexes on separate spindles. However, in the 8.0
> > performance tuning manuals they say that this is not necessary since the
> > index is read first, then the table afterward and therefore there is no
> > disk contention issue. If so, wouldn't this have always been the case,
> > or is this something new from 8.0 onward?

>

> I don't know what version of the Performance Tuning Manuals you are using,
> but that piece of advice is utter nonsense. It might be fine for reads, but
> what about DML? If you update a table, you also have to update the
> index(es) on that table -and if indexes and tables are on the same spindle,
> your i/os will inevitably have to queue up one behind the other.
>

> >
> > Question: Do you recommend disk striping? What stripe size best suits
> > the PeopleSoft HRMS application?
> >
>

> Stripe size is hardware dependent, not application determined.
>

> > Question: As an example, on a system with only two large capacity
> > spindles (providing limited capability to separate objects by spindle),
> > would the best choice be to stripe everything on both spindles?
>

> Let me put it this way: the minimum number of disks recommended for a single
> Oracle database is 9; 12 is better; and 22 is considered gold standard. Per
> database. Anything less than 9 is going to be a compromise at best.
>

> Regards
> HJR
>

> >
> > Question: Should anything not be striped (e.g. system tables, rollbacks,
> > oracle software files, etc.)?
> >
> > Thanks for any tips!
> > John K. Hayes
> > AikoSys, Inc.
> > aikosys_at_earthlink.net
> >
> >
> >
> >
  Received on Fri Feb 16 2001 - 12:46:25 CST

Original text of this message

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