Sunday, December 22, 2013

Oracle ASM 11g R2 -- ADVM/ACFS is not supported on oraclelinux-release-5-6.0.1

Problem

You are installing Oracle Grid Infrastructure 11g Release 2 on Oracle Linux 5.6. When executing the roothas.pl script you get error:

ADVM/ACFS is not supported on oraclelinux-release-5-6.0.1

Sample output:

[root@oelinux5u6 ~]# /u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl
2013-12-22 16:55:50: Checking for super user privileges
2013-12-22 16:55:50: User has super user privileges
2013-12-22 16:55:50: Parsing the host name
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
LOCAL ADD MODE
Creating OCR keys for user 'oracle', privgrp 'oinstall'..
Operation successful.
CRS-4664: Node oelinux5u6 successfully pinned.
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
ADVM/ACFS is not supported on oraclelinux-release-5-6.0.1

oelinux5u6     2013/12/22 16:56:07     /u01/app/11.2.0/grid/cdata/oelinux5u6/backup_20131222_165607.olr
Successfully configured Oracle Grid Infrastructure for a Standalone Server

Solution

Note.
If you do not plan to use ACFS or Oracle ADVM then this error can be ignored. In this case you will not be able to load ACFS drivers. Trying to do so will result in error:
[root@oelinux5u6 ~]# /u01/app/11.2.0/grid/bin/acfsload start -s
ADVM/ACFS is not supported on oraclelinux-release-5-6.0.1

You get this error because of Bug 11846686. According to Metalink Article ACFS-9327 ACFS-9121 ACFS-9310: ADVM/ACFS installation failed (Doc ID 1265276.1) from 11-Mar-2013 the bug is fixed in 11.2.0.2 Grid Infrastructure PSU 3 (Patch 12419353), and in version 11.2.0.3. Also, see Metalink Article 11.2.0.2.X Grid Infrastructure Bundle/PSU Known Issues (Doc ID 1272288.1).

The bug marks the system as not supported. The bug is located in script
<Grid_Home>/lib/osds_acfslib.pm. in the lib_osds_get_os_type subroutine. Lines 280-281:

280   if (($release =~ /enterprise-release-5/) ||
281          ($release =~ /redhat-release-5/))

To allow correct system detection modify above lines so they look like:

280   if (($release =~ /oraclelinux-release-5/) || ($release =~ /enterprise-release-5/) ||
281          ($release =~ /redhat-release-5/))

Now reconfigure Grid Infrastructure Binaries by executing the following commands as root:

<Grid_Home>/crs/install/roothas.pl -deconfig -force -verbose

<Grid_Home>/perl/bin/perl -I <Grid_Home>/perl/lib -I <Grid_Home>/crs/install <Grid_Home>/crs/install/roothas.pl

Check if CSS is up:

[oracle@oelinux5u6 lib]$ crsctl status resource -t
ora.cssd    1        OFFLINE OFFLINE
ora.diskmon 1        OFFLINE OFFLINE

Startup CSS if required:

[oracle@oelinux5u6 lib]$ crsctl start resource ora.cssd
CRS-2672: Attempting to start 'ora.cssd' on 'oelinux5u6'
CRS-2672: Attempting to start 'ora.diskmon' on 'oelinux5u6'
CRS-2676: Start of 'ora.diskmon' on 'oelinux5u6' succeeded
CRS-2676: Start of 'ora.cssd' on 'oelinux5u6' succeeded 

[oracle@oelinux5u6 lib]$ crsctl status resource -t
ora.cssd      1  ONLINE  ONLINE     
oelinux5u6
ora.diskmon   1  ONLINE  ONLINE      oelinux5u6

If you previously had any databases, listeners or ASM instances configured, then you have to add them to Oracle Restart manually with SRVCTL utility:

[oracle@oelinux5u6 lib]$ srvctl add asm -p "+dg1/asm/ASMPARAMETERFILE/REGISTRY.253.834869537" -d "/dev/loop*"

[oracle@oelinux5u6 lib]$ srvctl start asm

[oracle@oelinux5u6 lib]$ crsctl status resource -t

ora.DG1.dg     ONLINE  ONLINE       oelinux5u6
ora.asm        ONLINE  ONLINE       oelinux5u6
ora.cssd    1  ONLINE  ONLINE       oelinux5u6
ora.diskmon 1  ONLINE  ONLINE       oelinux5u6

No comments: