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

  1. Configure the desired device in the /etc/sysconfig/rawdevices file:
    /dev/raw/raw1 	/dev/sdb1
  2. Start and enable the device by running:
    # 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

  1. 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:
    ACTION=="add", KERNEL=="raw*", OWNER="root", GROUP="disk", MODE="0660"
  2. Test that the permissions you applied work as intended with udevtest:
    # 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:
    # 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'
  3. Run the following command to activate the udev rules:
    # start_udev