RAID, which stands for redundant array of independent (or inexpensive) disks, is a method of placing the same data in different locations on multiple hard drives. There are many different types of RAID (called RAID "levels"), and each has its own relative advantages and disadvantages.
For Oracle9i databases, many of the RAID schemes don't possess the high performance required for an Oracle database. Most Oracle professionals choose a RAID scheme that combines mirroring and block-level striping.
It's critical to note that using RAID doesn't guarantee protection against catastrophic disk failure. Oracle specifically recommends running all production databases in ARCHIVELOG mode, regardless of the RAID architecture. Oracle also suggests performing periodic Oracle backups.
Remember that there are many components to I/O subsystems--including controllers, channels, disk adapters, and SCSI adapters--and the failure of any of these components could cause unrecoverable disk failures of your database. Let's look at the most commonly used RAID architectures for Oracle databases.
Commonly referred to as block-level striping, RAID 0 is an excellent method for performing load balancing of the Oracle database on the disk devices, but it does nothing for high availability since there is no data duplication. Unlike manual datafile striping, where you divide an Oracle tablespace into small datafiles, with RAID 0, the Oracle datafile is automatically striped one block at a time across all of the disk devices. In this fashion, every datafile has pieces residing on each disk, and the disk I/O load will become very well balanced.
RAID 1 is also called disk mirroring. Since the disks are replicated, RAID 1 may involve double or triple mirroring. According to the design of the RAID 1 architecture, a disk failure will cause the I/O subsystem to switch to one of the replicated disks with no service interruption. Oracle professionals use RAID 1 when high availability is critical. With triple mirroring, the mean time to failure (MTTF) for an Oracle database is measurable in decades.
RAID 0+1 (RAID 10)
RAID 0+1 is the combination of block-level striping and disk mirroring. The advent of RAID 0+1 has made Oracle-level striping obsolete since RAID 0+1 stripes at the block level, dealing out the table blocks, one block per disk, across each disk device.
RAID 0+1 is also a far better striping alternative because it distributes the load evenly across all of the disk devices, and the load will rise and fall evenly across all of the disks. This relieves the Oracle administrator of the burden of manually striping Oracle tables across disks.
Some of the newer hardware-based RAID 5 storage does extremely well in performance in data warehouses. RAID 5 is a good approach for Oracle data warehouses where the load speeds aren't important and where the majority of the system I/O is read-only activity.
Donald Burleson has been a database administrator for 23 years and has written 14 database books and over 100 articles. He is editor in chief of Oracle Internals and runs Burleson Oracle Consulting.