13.3. Using Raw Devices for Oracle Databases
The rawdevices service can only initialize devices named according to the
/dev/raw/rawN
format. However, devices in this location do not have the correct ownership or permissions for an Oracle database file by default. Additionally, because these device names are owned by the dev package, each time the package is updated (for example, as part of an operating system update), all devices are recreated with the default ownership and permissions at boot. It is therefore necessary to set ownership and permissions each time the dev package is updated.
Procedure 13.1. Configure a raw device
- Configure the desired device in the
/etc/sysconfig/rawdevices
file:Copy to Clipboard Copied! Toggle word wrap Toggle overflow /dev/raw/raw1 /dev/sdb1
/dev/raw/raw1 /dev/sdb1
- Start and enable the device by running:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow service rawdevices start chkconfig rawdevices on
# service rawdevices start # chkconfig rawdevices on
At this point, you could set ownership and permissions with
chmod
and chown
. However, because these devices will be created dynamically at boot time, permissions set in this manner will not persist after a reboot.
Procedure 13.2. Configure persistent ownership and permissions
- To set specific ownership and/or permissions for the raw devices, add entries to
/etc/udev/rules.d/60-raw.rules
in the following format:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ACTION=="add", KERNEL=="raw*", OWNER="root", GROUP="disk", MODE="0660"
ACTION=="add", KERNEL=="raw*", OWNER="root", GROUP="disk", MODE="0660"
- Test that the permissions you applied work as intended with
udevtest
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow udevtest /block/sdb/sdb1 | grep raw
# udevtest /block/sdb/sdb1 | grep raw main: run: '/bin/raw /dev/raw/raw1 /dev/.tmp-8-17'
To test the ownership of a specific device, such as/dev/raw/raw1
, use:Copy to Clipboard Copied! Toggle word wrap Toggle overflow udevtest /class/raw/raw1 | grep mode
# udevtest /class/raw/raw1 | grep mode udev_node_add: creating device node '/dev/raw/raw1', major = '162', minor = '1', mode = '0600', uid = '0', gid = '0'
- Run the following command to activate the udev rules:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow start_udev
# start_udev