使用RHEL6.0配置oracle 11gR2 RAC+ASM时发现,oracle官网不再提供对RHEL6.0以上版本的oracleasm包的支持,oracleasm驱动已内置于oracle linux6.0中。所以RHEL6.0配置ASM只能使用UDEV SCSI了;

      步骤如下:

1、修改/etc/scsi_id.config文件,添加

options=--whitelisted --replace-whitespace

2、获取ASM Disks的uuid或wwid,以/dev/sdb为例

scsi_id --whitelisted --replace-whitespace --device=/dev/sdb

3600000e00d11000000111d4300000000

3、编写udev rules文件,PROGRAM中写scsi_id命令,RESULT中写ASM Disks的uuid或wwid

vi /etc/udev/rules.d/99-oracle-asmdevice.rules

KERNEL=="sdb",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="3600000e00d11000000111d4300000000",NAME+="oracleasm/disks/OCR",OWNER="grid",GROUP="asmadmin",MODE="0660"

4、用udevadm进行测试,注意udevadm命令不接受/dev/sdb这样的挂载设备名,必须是使用/sys/block/sdb这样的原始设备名。

udevadm test /sys/block/sdb

udevadm info --query=all --path=/sys/block/adb

udevadm info --query=all --name=oracleasm/disks/OCR

在显示中,有类似一下的输出,表示测试正确,/dev/sdb设备在udev启动后将会绑定为/dev/oracleasm/disks/OCR:

udevadm_test: UDEV_LOG=6
udevadm_test: DEVPATH=/devices/pci0000:00/0000:00:0d.0/host4/target4:0:0/4:0:0:0/block/sdb
udevadm_test: MAJOR=8
udevadm_test: MINOR=32
udevadm_test: DEVNAME=/dev/oracleasm/disks/OCR
udevadm_test: DEVTYPE=disk
udevadm_test: ACTION=add
udevadm_test: SUBSYSTEM=block

5、启动udev

/sbin/start_udev

6、检查设备是否正确绑定

ls -l /dev/oracleasm/disks/*

brw-rw---- 1 grid asmadmin 8, 32 Oct 26 21:24 /dev/oracleasm/disks/OCR

本文参考文章:http://www.dbform.com/html/2011/1708.html

在suse linux enterprise 11 sp1上用UDEV SCSI配置ASM参考:http://www.tianqingbo.com/suse-linux-enterprise-udev-scsi-asm.html

在oracle linux 5和6上使用UDEV SCSI配置ASM参考:http://www.tianqingbo.com/oracle-linux-5-udev-scsi-rules-asm.html

在RHEL6.0上安装oracle 11gR2  RAC配置参考:http://www.tianqingbo.com/rhel-setup-oracle-11gr2-rac.html