12c RAC: ORA-15477: cannot communicate with the volume driver

I received ORA-15477 when I was trying to set attribute  compatible.advm  for DATA diskgroup to 12.1

– Using SQL –

SQL> alter diskgroup DATA set attribute 'compatible.advm'='12.1';

alter diskgroup DATA set attribute 'compatible.advm'='12.1'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15242: could not set attribute compatible.advm
ORA-15238: 12.1 is not a valid value for attribute compatible.advm
ORA-15477: cannot communicate with the volume driver

– using ASMCMD

ASMCMD> setattr -G DATA compatible.advm 12.1

ORA-15032: not all alterations performed
ORA-15242: could not set attribute compatible.advm
ORA-15238: 12.1 is not a valid value for attribute compatible.advm
ORA-15477: cannot communicate with the volume driver (DBD ERROR: OCIStmtExecute)
 A

– I tried to load advm drivers : again got error as version oracleasm rpm’s installed
did not match that of the OS

[root@host01 bin]# /u01/app/12.1.0/grid/bin/acfsload start

ACFS-9459: ADVM/ACFS is not supported on this OS version: '2.6.32-100.26.2.el5'

– checked version of oracleasm rpm’s installed – 2.6.18.238.el5

[grid@host01 bin]$ rpm -qa |grep oracleasm

oracleasm-2.6.18-238.el5-2.0.5-1.el5
oracleasmlib-2.0.4-1.el5
oracleasm-2.6.18-238.el5debug-2.0.5-1.el5
oracleasm-2.6.18-238.el5-debuginfo-2.0.5-1.el5
oracleasm-2.6.18-238.el5xen-2.0.5-1.el5
oracleasm-support-2.1.7-1.el5

– Checked kernel version : Kernel version = 2.6.32-100.26.2.el5 : different from oracleasm rpms (2.6.18-238.el5-2.0.5-1.el5)

[grid@host01 bin]$ uname -a
Linux host01.example.com 2.6.32-100.26.2.el5 #1 SMP Tue Jan 18 20:11:49 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

– checked /etc/grub.conf : Two kernels were there and by default 2.6.32-100.26.2.el5 was getting loaded

[root@host01 bin]# cat /etc/grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda2
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Oracle Linux Server (2.6.32-100.26.2.el5uek)
root (hd0,0)
kernel /vmlinuz-2.6.32-100.26.2.el5 ro root=/dev/sda2 rhgb quiet
initrd /initrd-2.6.32-100.26.2.el5.img
title Oracle Linux Server-base (2.6.18-238.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-238.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-238.el5.img

– Edited /etc/grub.conf and modified default=1 so that kernel 2.6.18-238.el5 was loaded at boot time

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda2
#          initrd /initrd-version.img
#boot=/dev/sda

default=1

timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Oracle Linux Server (2.6.32-100.26.2.el5uek)
root (hd0,0)
kernel /vmlinuz-2.6.32-100.26.2.el5 ro root=/dev/sda2 rhgb quiet
initrd /initrd-2.6.32-100.26.2.el5.img
title Oracle Linux Server-base (2.6.18-238.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-238.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-238.el5.img

– Rebooted and verified that loaded  kernel is 2.6.18-238.el5

[root@host01 ~]# init 6

uname -a
Linux host01.example.com 2.6.18-238.el5 #1 SMP Tue Jan 415:41:11 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

- Checked that oracleacfs and oracleadvm modules were not loaded

[root@host01 ~]# lsmod |grep oracle
oracleasm              84136  1

– Tried to load ADVM modules – got error as ADVM/ACFS was not installed

[root@host01 ~]# $ORACLE_HOME/bin/acfsload start
ACFS-9391: Checking for existing ADVM/ACFS installation.
ACFS-9129: ADVM/ACFS not installed

– Used oerr to diagnose ACFS-9129

[root@host01 ~]# oerr ACFS 9129

09129, 0, "ADVM/ACFS not installed"
// *Cause:  No ADVM/ACFS drivers or commands have been found on the system.
//          All ADVM and ACFS actions will be disabled.
// *Action: Install components using 'acfsroot install <options>'.  No ACFS
//          file systems or ADVM volume devices will be available until
//          ADVM/ACFS has been installed.

– Installed ADVM/ACFS as advised by oerr

[root@host01 ~]# acfsroot install -h

ACFS-9161:  acfsroot install: Install ADVM/ACFS components.
ACFS-9185:  Usage: acfsroot install [-h] [-s | -v | -t <0,1,2>] [-l <directory>]
ACFS-9132:         [-h]             - print help/usage information
ACFS-9131:         [-s]             - silent mode (error messages only)
ACFS-9159:         [-v]             - verbose mode
ACFS-9332:         [-l <directory>] - location of the installation directory
ACFS-9189:         [-t <0,1,2> ]    - trace level
[root@host01 ~]# acfsroot install -v

ACFS-9500: Location of Oracle Home is '/u01/app/12.1.0/grid' as determined from the internal configuration data
ACFS-9505: Using acfsutil executable from location: '/u01/app/12.1.0/grid/usm/install/cmds/bin/acfsutil'
ACFS-9300: ADVM/ACFS distribution files found.
ACFS-9155: Checking for existing 'oracleoks.ko' driver installation.
ACFS-9155: Checking for existing 'oracleadvm.ko' driver installation.
ACFS-9155: Checking for existing 'oracleacfs.ko' driver installation.
ACFS-9307: Installing requested ADVM/ACFS software.
ACFS-9503: ADVM and ACFS driver media location is '/u01/app/12.1.0/grid/usm/install/Oracle/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/Oracle/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin/oracleadvm.ko' to the path '/lib/modules/2.6.18-8.el5/extra/usm/oracleadvm.ko'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/Oracle/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin/oracleoks.ko' to the path '/lib/modules/2.6.18-8.el5/extra/usm/oracleoks.ko'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/Oracle/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin/oracleacfs.ko' to the path '/lib/modules/2.6.18-8.el5/extra/usm/oracleacfs.ko'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/advmutil' to the path '/sbin/advmutil'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/advmutil.bin' to the path '/sbin/advmutil.bin'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/fsck.acfs' to the path '/sbin/fsck.acfs'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/fsck.acfs.bin' to the path '/sbin/fsck.acfs.bin'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/mkfs.acfs' to the path '/sbin/mkfs.acfs'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/mkfs.acfs.bin' to the path '/sbin/mkfs.acfs.bin'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/mount.acfs' to the path '/sbin/mount.acfs'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/mount.acfs.bin' to the path '/sbin/mount.acfs.bin'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/acfsdbg' to the path '/sbin/acfsdbg'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/acfsdbg.bin' to the path '/sbin/acfsdbg.bin'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/acfsutil' to the path '/sbin/acfsutil'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/acfsutil.bin' to the path '/sbin/acfsutil.bin'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/umount.acfs' to the path '/sbin/umount.acfs'
ACFS-9504: Copying file '/u01/app/12.1.0/grid/usm/install/cmds/bin/umount.acfs.bin' to the path '/sbin/umount.acfs.bin'
ACFS-9308: Loading installed ADVM/ACFS drivers.
ACFS-9321: Creating udev for ADVM/ACFS.
ACFS-9323: Creating module dependencies - this may take some time.

- Checked that  ACFS/ADVM modules have been loaded

[root@host01 ~]# lsmod |grep oracle

 oracleacfs           2837904  0
oracleadvm            342512  2
oracleoks             409560  2 oracleacfs,oracleadvm
oracleasm              84136  1

– Now I could change the attribute compaible.advm for diskgroup DATA to 12.1 successfully

SQL> alter diskgroup DATA set attribute 'compatible.advm'='12.1';

Diskgroup altered.

I hope this post was useful.

Your comments and suggestions are always welcome.

————————————————————————————————————————

Related Links:

Home

12c RAC Index

 

————————–

One thought on “12c RAC: ORA-15477: cannot communicate with the volume driver

Your comments and suggestions are welcome!