Re: Oracle RAID

From: Albert W. Dorrington <awdorrin_at_kocrsv01.delcoelect.com>
Date: 1995/08/25
Message-ID: <41l3vg$g2r_at_kocrsv08.delcoelect.com>


In article <41e1gu$t03_at_news.ios.com>, nocera_at_haven.ios.com (Nocera) writes:
|> michael.pawle_at_ncom_main.ccmail.ncom.nt.gov.au wrote:
|>
|> >How is ORACLE (v7.1.6) best configured on RAID5?
|> >What is ORACLE performance like on RAID5 compared to a conventional
|> >implementation over multiple disks?
|> >Should ORACLE's online redo log files and control files be mirrored
|> >on RAID5?
|> >Should ORACLE's archivelog mode be switched on at all (as RAID5 protects
|> > data from loss)?
|> >Would it be best to have a mix of RAID5 and non RAID disks so that log
|> > and control files can physically exist in 2 places?
|> >Where should Oracle Finacials out and log files be placed given a mix of
|> > RAID5 and non-RAID disks?
|>
|> Under no condition would I run a high performance database at RAID 5,
|> especially if you have a lot of INSERT activity. You are much better
|> off using mirroring (RAID 1).

        I'm not sure if i'd agree with this statement. It really depends a lot on what you would condsider 'a lot' of insert activity, also, it will depend on the size of the data transfers. RAID 1 can be a rather expensive alternative, since you need 2 times the disk space for what is required.

        In RAID 5 reads and writes to the disk drives can occur either in parallel or independently - depending on the size of the data transfer and the block depth used by the RAID controller. Quoting from an HP booklet on RAID that I have ("Disk Arrays", 1991 HP):

        Concurrent reads and writes can occur for short transfers, but lengthy transfers still require all drives. They go on to say: Level 5 may in some cases decrease performance for writes, depending on the system application. For a small write, a 'Read-Modify-Write' proceedure is used - which adds some extra overhead for small writes, when compared to RAID level 3. However, for small reads involving just a few drives, much better read concurrence occurs - since the array can process multiple operations.

|> If you MUST use RAID 5 for some
|> tables, use it only for tables that receive very little update
|> activity. Remember a RAID 5 update will write both the update and the
|> parity information. This is two I/Os and although interleaved, less
|> than desirable.

        This is not really two I/Os, since the 'parity' information is written at the same time that the data is written. Of course with the RAID 1 strategy you are recommending, you will the same type of activity, since the controller will still need to write to two separate drives.

|>
|> Secondly, redo log activity should be isolated from your data and
|> index files. Never use redo logs and data or index files on the same
|> devices. This is because redo logs write synchronously ( O_SYNC)
|> while other Oracle writes to the database via DBWR use ether async IO
|> or list IO.

        I'd agree that you have to look ahead when deciding which disks to place what tables, indicies, or logs. In fact, you may find that a mixture of several RAID types will result in better performance than one type.

|> These are lessons we learned the hard way, I hope it helps.
|>
|> We have been using redo logs on internal disks and oracle to mirror
|> them (groups) and putting data files on their own RAID 1 devices and
|> isolating index files on different RAID 1 devices with great success.

        In our current configuration we are using both RAID 1 and RAID 5. Our RAID 5 portion consists of two RAID controllers, both configured with 10 GB of usable disk space. On one of the subsystems we have placed the data tables, and on the second we have placed the index tables.

        We then have two 2 GB drives mirrored (RAID 1) for the log files which are generated.

        The system behaves very well, for our needs, and is much more efficient than the older system we were using. The data transfers into the system consists of 4 - 6 insertions per minute, with sizes ranging from 10 kbytes to 5 Mbytes (an average size of about 500kbytes).

        What you need to remember, is that any type of RAID configuration will tend to degrade I/O performance - but performance needs to be tempered with security.

        You could have the fastest system around using no protection at all (RAID 0) but if you lose a disk, you might be looking for a new job.

        In my experience a combination of RAID 5 and RAID 1 offers a good balance between speed and security of data. However, your own situation might vary.

-Al

-- 
Al Dorrington                                      
awdorrin_at_ictest.delcoelect.com                     Database Admin
Delco Electronics - IC CIM                         Unix  Sysadmin
Kokomo, Indiana, USA                               Phone: 317.451.9655
Received on Fri Aug 25 1995 - 00:00:00 CEST

Original text of this message