Undefined subroutine &main::read_file called at crspatch.pm line 86. while running ./rootcrs.pl

I got below error when I ran “./rootcrs.pl –patch” as a last command

[root@Server1 ~]# cd /usr/grid_app/oracle/product/11.2/grid/crs/install
[root@Server1 install]# ./rootcrs.pl -patch
Using configuration parameter file: ./crsconfig_params
Undefined subroutine &main::read_file called at crspatch.pm line 86.

Followed roothas.pl -patch or rootcrs.pl -patch Fails with ‘Undefined subroutine’ (Doc ID 1268390.1)

2] Take a backup of the file /crs/install/crsconfig_lib.pm

# cd /crs/install
# cp crsconfig_lib.pm crsconfig_lib.pm.bak

Make the following change in that file crsconfig_lib.pm

From
my @exp_func = qw(check_CRSConfig validate_olrconfig validateOCR
To
my @exp_func = qw(check_CRSConfig validate_olrconfig validateOCR read_file

Now try with
roothas.pl -patch
or
rootcrs.pl -patch

HAIP is up on some nodes but not on all RAC nodes

[racserver1:oracle] /usr/oracle $ crsctl stat res -t -init
——————————————————————————–
NAME TARGET STATE SERVER STATE_DETAILS
——————————————————————————–
Cluster Resources
——————————————————————————–
ora.asm
1 ONLINE ONLINE racserver1 Started
ora.cluster_interconnect.haip
1 ONLINE OFFLINE
ora.crf
1 ONLINE ONLINE racserver1
ora.crsd
1 ONLINE ONLINE racserver1
ora.cssd
1 ONLINE ONLINE racserver1
ora.cssdmonitor
1 ONLINE ONLINE racserver1
ora.ctssd
1 ONLINE ONLINE racserver1 OBSERVER
ora.diskmon
1 ONLINE ONLINE racserver1
ora.drivers.acfs
1 ONLINE ONLINE racserver1
ora.evmd
1 ONLINE ONLINE racserver1
ora.gipcd
1 ONLINE ONLINE racserver1
ora.gpnpd
1 ONLINE ONLINE racserver1
ora.mdnsd
1 ONLINE ONLINE racserver1

Continue reading HAIP is up on some nodes but not on all RAC nodes »

How to get the Informix instance IPC shared memory segment base address in Hexadecimal?

(1) Get SERVERNUM value from onconfig:

$ onstat -c | grep SERVERNUM
SERVERNUM 2

(2) Convert SERVERNUM value from Decimal (base10) to Hexadecimal (base16):

Decimal 2 = Hex 2
= 0x2

Note: you may use ms-windows “calc” programmer view.

(3) Apply this fomular with Hexadecimal calculation:

IPC Shared Mem Address = (SERVERNUM_In_Hex * 0x10000) + 0x52564801
= (0x2 * 0x10000) + 0x52564801
= 0x20000 + 0x52564801
= 0x52584801

(4) Therefore, you will get the IPC shared memory address started from 0x52584801..

$ ipcs -m | grep 5258480

key shmid owner perms bytes nattch status
0x52584801 92864520 root 660 2606284800 68 locked
0x52584802 92897299 root 660 2097152000 68 locked
0x52584803 92930070 root 666 561152 68