Some Oracle files can be written to unformatted
disk areas known as raw devices. Some sources
may also call these raw volumes, raw partitions,
or raw disks. The Oracle files which can be
written to raw devices are:
-
OCR
-
Voting disk
-
Datafiles
-
Redo logs
-
Control file
-
SPFILE
It is worth noting that the archive logs and
RMAN backups do not make the raw storage list.
This is because a raw device can only handle one
file at a time. Given a partition with no
filesystem, there are three available options:
format the partition for a particular filesystem,
use the partition in an ASM diskgroup, or use
the partition as a raw device on which a single
file may be placed.
One reason behind the popularity of raw devices
is performance.
In the past, raw devices were the only
way by which a system could be set up to take
advantage of Direct I/O (DIO); that is, I/O that
bypasses the filesystem cache.
In fact, Direct I/O has been supported in
the ext3 filesystem since Enterprise Linux 2.1.
Support for enhanced Asynchronous I/O
(AIO) with Direct I/O was added in Enterprise
Linux 4, even when using an ext-based
filesystem.
According to Red Hat, ext3 filesystem
access with AIO and DIO can perform within 3% of
raw I/O performance.
Direct I/O is also enabled when using
OCFS/OCFS2.
Note:
The
filesystemio_options
parameter allows a DBA to direct how Oracle
will perform I/O.
A setting of ‘directio’ will allow
Direct I/O access.
‘asynch’ allows Asynchronous I/O
access.
‘setall’ allows both.
Consult the OS specific documentation
to determine if the system is optimized for
both DIO and AIO.
In Oracle 11g it is very common to find the OCR
and voting disk of a RAC cluster on raw devices.
This is because those two files are very
small, very static in size, and cannot be placed
in ASM.
However, according to Oracle Metalink
(Oracle’s support system), raw device support
will be completely unavailable in Oracle 12g.
This may be due to the fact that raw
devices have been declared obsolete in Linux
since kernel version 2.6.3, and support for raw
devices will soon be gone. However, there is no
need to fear this change.
Instead, it is only necessary to make
room for a few changes in vocabulary.
Those familiar with using raw devices on Linux
may get a shock when using Redhat Enterprise
Linux 5 (RHEL5) or Oracle Enterprise Linux 5
(OEL5) as there appears to be no raw device
support.
As mentioned above, in kernel version
2.6.3, this support is officially deprecated.
However, it is still possible to
configure a
/dev/raw volume using udev rules.
In RHEL4 it was possible to simply place entries
in
/etc/sysconfig/rawdevices which
mapped a block device, i.e.
/dev/sda1, to a raw device, i.e.
/dev/raw1.
Using the raw devices service, the
mapping would take effect and
/dev/raw would be a usable area.
Note:
In a Windows environment, a raw
device is simply a logical partition created
in Disk Manager that is not formatted and
has no drive letter.