Friday, November 2, 2012

Upgrading oracle ASMLib kernel driver

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.

NOTE: To use the up2date you should register the system in the Unbreakable Linux Network if you have not registered then download the RPM's from the http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html and install by rpm -ivh 


No comments:

Post a Comment