Oracle ASMLib kernel driver upgrade
ORA-15183: ASMLIB initialization error [driver/agent not installed]
When we upgrade the kernel of the linux box then we need to upgrade ASMlib according the newly upgraded kernal version ..
After upgrading the asmlib drivers only we can start the ASM .. if you have registered your system in the ULN then upgrade the kernal the the latest by using up2date
Once you update the kernel follow the below steps to update the ASMLib driver
Step 1
Stop the HAS or CRS according to your environment
[root@fah bin]# ./crsctl stop has
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'fah'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'fah'
CRS-2673: Attempting to stop 'ora.asm' on 'fah'
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'fah' succeeded
CRS-2677: Stop of 'ora.asm' on 'fah' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'fah'
CRS-2677: Stop of 'ora.cssd' on 'fah' succeeded
CRS-2673: Attempting to stop 'ora.evmd' on 'fah'
CRS-2677: Stop of 'ora.evmd' on 'fah' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'fah' has completed
CRS-4133: Oracle High Availability Services has been stopped.
Step 2
Backup the oracleasm
check the oracleasm and copy the oracleasm to another file for the percussion step
[root@fah sysconfig]# ls -ltr /etc/sysconfig/oracleasm
lrwxrwxrwx 1 root root 24 Feb 20 2012 /etc/sysconfig/oracleasm -> oracleasm-_dev_oracleasm
[root@fah sysconfig]# cp oracleasm-_dev_oracleasm oracleasm-_dev_oracleasm.orginal
[root@fah sysconfig]# ls -ltr /etc/sysconfig/oracle*
lrwxrwxrwx 1 root root 24 Feb 20 2012 /etc/sysconfig/oracleasm -> oracleasm-_dev_oracleasm
-rw-r--r-- 1 root root 777 Feb 20 2012 /etc/sysconfig/oracleasm-_dev_oracleasm
-rw-r--r-- 1 root root 777 Nov 2 15:12 /etc/sysconfig/oracleasm-_dev_oracleasm.orginal
Step 3
Comment the respawn in the inittab file
respawn is the process which helps to restart the particular process when it get's terminated according to the node numbers the respawn lines will be in the inittab for each crs
[root@fah trace]$ vi /etc/inittab
#h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null
[root@fahtrace]$ /sbin/init q
init q is used to effect the change with out restart
Step 4
Check the status of linux and ASM
To find the release of the Linux
root@fah oracle]# cat /etc/*release
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
To find the kernel version which is currently used
[root@fahdb oracle]# uname -a
Linux <host_name> 2.6.18-308.16.1.0.1.el5 #1 SMP Tue Oct 2 14:31:21 PDT 2012 x86_64 x86_64 x86_64 GNU/Linux
To query what are the Rpms installed related to asm
[root@fah oracle]# rpm -qa |grep oracleasm
oracleasmlib-2.0.4-1.el5
oracleasm-support-2.1.3-1.el5
oracleasm-2.6.18-194.el5-2.0.5-1.el5
here you can find the the kernel version is upgraded to the latest and the asmlib driver is not upgraded to the kernel level
To the query the ASM
[root@fah oracle]# ls -l /dev/oracleasm/disks
ls: /dev/oracleasm/disks: No such file or directory
In alert log of asm you will get the error's like
ERROR: -15(asmlib ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so op ioerror error I/O Error)
ERROR: -15(asmlib ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so op ioerror error I/O Error)
ERROR: -15(asmlib ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so op ioerror error I/O Error)
ASM Health Checker found 1 new failures
Sat Oct 06 21:50:39 2012
ERROR: -15(asmlib ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so op ioerror error I/O Error)
ERROR: -15(asmlib ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so op ioerror error I/O Error)
ERROR: -15(asmlib ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so op ioerror error I/O Error)
ORA-15183: ASMLIB initialization error [driver/agent not installed]
WARNING: FAILED to load library: /opt/oracle/extapi/64/asm/orcl/1/libasm.so
Step 5
Stop the ASM for the ASMLib upgrade
To Stop the asmservice
[root@fah sysconfig]# /etc/init.d/oracleasm stop
Dropping Oracle ASMLib disks: [ OK ]
Shutting down the Oracle ASMLib driver: [ OK ]
To check the ASM status
[root@fah sysconfig]# /etc/init.d/oracleasm status
Checking if ASM is loaded: no
Checking if /dev/oracleasm is mounted: no
To disable the ASM
[root@fah sysconfig]# /etc/init.d/oracleasm disable
Writing Oracle ASM library driver configuration: done
Dropping Oracle ASMLib disks: [ OK ]
Shutting down the Oracle ASMLib driver: [ OK ]
Step 6
Install new ASMLib driver according the kernal
use up2date -i oracleasm-support oracleasmlib oracleasm-`uname -r`command to install the drivers
[root@fah oracle]# up2date -i oracleasm-support oracleasmlib oracleasm-`uname -r`
Fetching Obsoletes list for channel: ol5_x86_64_latest...
########################################
Fetching rpm headers...
########################################
Name Version Rel
----------------------------------------------------------
oracleasm-2.6.18-308.16.1.0.1.el5 2.0.5 1.el5 x86_64
oracleasm-support 2.1.7 1.el5 x86_64
Testing package set / solving RPM inter-dependencies...
########################################
oracleasm-2.6.18-308.16.1.0 ########################## Done.
oracleasm-support-2.1.7-1.e ########################## Done.
Preparing ########################################### [100%]
Installing...
1:oracleasm-support ########################################### [100%]
2:oracleasm-2.6.18-308.16########################################### [100%]
once install check the version of the ASMlib
[root@fah oracle]# rpm -qa | grep oracleasm
oracleasmlib-2.0.4-1.el5
oracleasm-2.6.18-308.16.1.0.1.el5-2.0.5-1.el5
oracleasm-2.6.18-308.16.1.el5-2.0.5-1.el5
oracleasm-support-2.1.7-1.el5
Now the kernel and the ASMLib are at the same version
To Check the new ASM driver
[root@fah oracle]# ls -l /lib/modules/$(uname -r)/kernel/drivers/addon/oracleasm
total 120
-rw-r--r-- 1 root root 116168 Oct 3 05:06 oracleasm.ko
The new driver will be installed at the installation time stamp
Step 7
Start and configure the asm
To check the status
[root@fah oracle]# oracleasm status
Checking if ASM is loaded: no
Checking if /dev/oracleasm is mounted: no
To start the ASM
[root@fah oracle]# /etc/init.d/oracleasm start
To configure the ASM
[root@fah oracle]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface [grid]:
Default group to own the driver interface [asmadmin]:
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
[root@fahdb oracle]# /etc/init.d/oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
Check the disks
[root@fah oracle]# oracleasm listdisks
DTATAVOL1
FLASHVOL1
FLASH_VOL2
Start the crs
[root@fah bin]# ./crsctl start has
CRS-4123: Oracle High Availability Services has been started.