We
have the luxury of moving a 300G database to a new box that's being built and
choosing the specifications, disk layout, striping, etc. After
spending the morning poring over Cary Millsap's wonderful VLDB paper
this is what we're thinking of but I'd appreciate any
comments.
One of
my main goals going in was separating redo logs into 2 sets of disks and
archive logs on a third.
We
have 16 disks to play with and seem to be winning the 1+0 battle against some
SAs who don't understand why we wouldn't want to use RAID5.
The
database has minimal write activity during the day (other than sorts to the temp
tablespace) but huge batch write activity at night and especially at the end of
the month (the data load time is enough of a problem that the few partitioned
tables we can easily reload are doing unrecoverable loads). There is a lot
of read activity during the day, both single row queries from front ends that
are rolled out to several thousand people and reports that can do some large
sort/merge joins.
Here's
what we were thinking:
1st
Disk Set - 4 72M disks RAID 1+0
1st
and 3rd redo log on outside
Misc.
Datafiles in middle
Misc
scripts and files used by other departments in center
2nd
Disk Set - 6 72M disks RAID 1+0
Archive logs on outside
Temp
tablespace and misc. datafiles in middle
Text
files used for loading in center
3rd Disk Set - 6 72M disks RAID
1+0
2nd
and 4th redo logs on outside
Rollback tablespace and misc datafiles in
middle
/oracle (executables and some scripts) in
center
I was
debating if there was any advantage in varying stripe sizes across
the different disk sets (since I know Cary says redo logs like fine grained
stripe sizes) but given the mix of uses for each that doesn't seem
viable.
Comments, suggestions or even productive questioning of
my sanity would be appreciated.
Thanks,
Jay Miller
Jay Miller