Tuesday, June 23, 2009

check RAC Option in Oracle Binary


It's a simple thing for someone to check RAC is linked in the Oracle Binary.

when we need to convert Single database to RAC database... we may find Error

ORA-00439: feature not enabled: Real Application Clusters

and then we may resolve it by relink library (rac_on)

By the way, we can check Oracle binary before;)
cd $ORACLE_HOME/rdbms/lib
nm -r libknlopt.a | grep -c kcsm.o
returns 0, then RAC is not linked.
returns more than 0, then RAC is linked.

Example:
$ cd $ORACLE_HOME/rdbms/lib
$ nm -r libknlopt.a | grep -c kcsm.o
1
RAC is linked in the Oracle Binary
$ cd $ORACLE_HOME/rdbms/lib
$ nm -r libknlopt.a | grep -c kcsm.o
0
RAC is not linked in the Oracle Binary
shell script (one line)->
if [ -f $ORACLE_HOME/rdbms/lib/libknlopt.a ]; then C=`nm -r $ORACLE_HOME/rdbms/lib/libknlopt.a | grep -c kcsm.o` ; if [ $C -gt 0 ] ; then echo 'RAC is linked in $ORACLE' ; else echo 'RAC is not linked in $ORACLE' ;fi fi

That's step to check...

7 comments:

Mladen Gogala said...

Well, this doesn't really work:
$>nm $ORACLE_HOME/rdbms/lib/libknlopt.a|grep kscm.o
ADPRD1@oracle14 oracle Last rc=1 ~
$>nm -r $ORACLE_HOME/rdbms/lib/libknlopt.a|grep kscm.o
ADPRD1@oracle14 oracle Last rc=1 ~
$>
$>crsctl check crs
CSS appears healthy
CRS appears healthy
EVM appears healthy
ADPRD1@oracle14 oracle Last rc=0 ~
$>crs_stat -l
NAME=ora.ADPRD.ADPRD1.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINE on oracle14

NAME=ora.ADPRD.ADPRD2.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINE on oracle15
.....

There are 3 nodes, Linux x86-64, with ASM.

Surachart said...

$>crsctl check crs
CSS appears healthy
CRS appears healthy
EVM appears healthy
ADPRD1@oracle14 oracle Last rc=0 ~

ADPRD1@oracle14 oracle Last rc=0 ~

Do you see this error on other nodes?

Can you show many error and information ...?

Oracle Version
Linux version
and other errors

Mladen Gogala said...

Surachart, this is not an error, this my prompt. There are no errors, that is a production database which functions perfectly. The version is 10.2.0.4.

Surachart said...

OK;)

you type "grep kscm.o"

but it should be "grep kcsm.o" .

$ nm -r $ORACLE_HOME/rdbms/lib/libknlopt.a|grep kcsm.o

kcsm.o:

Mladen Gogala said...

Yup. It works now. My mistake. Sorry for the commotion I caused.

Surachart said...

Hi Mladen Gogala,

Have a nice time and Enjoy on Oracle RAC

http://vgrigorian.com said...

This is an excellent article.
Still, if you want something more hands-on, try these:
http://vgrigorian.com/11gsimulator/1_rac11gr2.htm
http://vgrigorian.com/11gsimulator/2_rac11gr2rdbms1.htm
http://vgrigorian.com/11gsimulator/3_rac11gasm.htm
http://vgrigorian.com/11gsimulator/4_11gr2dbcreate.htm

You can find more demos (including dataguard, goldengate, streams) there at http://vgrigorian.com/

Thanks.
Vladimir Grigorian