Posts Tagged ‘raid’
RAID and Oracle
RAID is the acronym for Redundant Arrays of Inexpensive Disks, and there are many different types or RAID (called RAID “levels”), and each has its own relative advantages and disadvantages. For Oracle9i databases, many of the RAID schemes do not posses the high performance required for an Oracle database, and moist Oracle professionals choose a RAID scheme that combines mirroring and block-level striping.
It is critical to note that the use of RAID does not guarantee against catastrophic disk failure. Oracle specifically recommends that all production databases be run in archivelog mode regardless of the RAID architecture, and that periodic Oracle backups should be performed. Remember that there are many components to I/O subsystems—including controllers, channels, disk adapters, SCSI adapters—and a failure of any of these components could cause unrecoverable disk failures of your database.
Below are the most commonly used RAID architectures for Oracle databases:
RAID 0
RAID 0 is commonly referred to as block-level striping. This is an excellent method for performing load balancing of the Oracle database on the disk devices, but it does nothing for high availability since none of the data is duplicated. Unlike manual datafile striping, where the Oracle professional divides 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
RAID 1 is commonly called disk mirroring. Since the disks are replicated, RAID 1 may involve double or triple mirroring. The RAID 1 architecture is designed such that a disk failure will cause the I/O subsystem to switch to one of the replicated disks with no service interruption. RAID 1 is use when high availability is critical, and with triple mirroring, the mean time to failure (MTTF) for an Oracle database is measured 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 since 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.
RAID 5
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 are not important and where the majority of the system I/O is read-only activity.
RAID 50
RAID 50 should have been called “RAID 03″ because it was implemented as a striped (RAID level 0) array whose segments were RAID 3 arrays (during mid-90s). RAID 50 is more fault tolerant than RAID 5 but has twice the parity overhead. High data transfer rates are achieved thanks to its RAID 5 array segments. High I/O rates for small requests are achieved thanks to its RAID 0 striping. Maybe a good solution for sites who would have otherwise gone with RAID 5 but need some additional performance boost.