Wednesday 12 February 2020

Converting RAC Home Binaries to Non RAC



To turn off RAC

$ cd $ORACLE_HOME/rdbms/lib


$ make -f ins_rdbms.mk rac_off
rm -f /u01/app/oracle/product/12.1.0.2/db_1/lib/libskgxp12.so
cp /u01/app/oracle/product/12.1.0.2/db_1/lib//libskgxpg.so /u01/app/oracle/product/12.1.0.2/db_1/lib/libskgxp12.so
rm -f /u01/app/oracle/product/12.1.0.2/db_1/lib/libskgxn2.so
cp /u01/app/oracle/product/12.1.0.2/db_1/lib//libskgxns.so \
      /u01/app/oracle/product/12.1.0.2/db_1/lib/libskgxn2.so
/usr/bin/ar d /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/libknlopt.a kcsm.o

/usr/bin/ar cr /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/libknlopt.a /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/ksnkcs.o





# Relink Oracle
$ make -f ins_rdbms.mk ioracle


chmod 755 /u01/app/oracle/product/12.1.0.2/db_1/bin

 - Linking Oracle
rm -f /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/oracle
/u01/app/oracle/product/12.1.0.2/db_1/bin/orald  -o /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/oracle -m64 -z noexecstack -Wl,--disable-new-dtags -L/u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/ -L/u01/app/oracle/product/12.1.0.2/db_1/lib/ -L/u01/app/oracle/product/12.1.0.2/db_1/lib/stubs/   -Wl,-E /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/opimai.o /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/ssoraed.o /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv12 -Wl,--no-whole-archive /u01/app/oracle/product/12.1.0.2/db_1/lib/nautab.o /u01/app/oracle/product/12.1.0.2/db_1/lib/naeet.o /u01/app/oracle/product/12.1.0.2/db_1/lib/naect.o /u01/app/oracle/product/12.1.0.2/db_1/lib/naedhs.o /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/config.o  -lserver12 -lodm12 -lcell12 -lnnet12 -lskgxp12 -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lclient12  -lvsn12 -lcommon12 -lgeneric12 -lknlopt `if /usr/bin/ar tv /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap12" ; fi` -lskjcx12 -lslax12 -lpls12  -lrt -lplp12 -lserver12 -lclient12  -lvsn12 -lcommon12 -lgeneric12 `if [ -f /u01/app/oracle/product/12.1.0.2/db_1/lib/libavserver12.a ] ; then echo "-lavserver12" ; else echo "-lavstub12"; fi` `if [ -f /u01/app/oracle/product/12.1.0.2/db_1/lib/libavclient12.a ] ; then echo "-lavclient12" ; fi` -lknlopt -lslax12 -lpls12  -lrt -lplp12 -ljavavm12 -lserver12  -lwwg  `cat /u01/app/oracle/product/12.1.0.2/db_1/lib/ldflags`    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnro12 `cat /u01/app/oracle/product/12.1.0.2/db_1/lib/ldflags`    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnnzst12 -lzt12 -lztkg12 -lmm -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lztkg12 `cat /u01/app/oracle/product/12.1.0.2/db_1/lib/ldflags`    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnro12 `cat /u01/app/oracle/product/12.1.0.2/db_1/lib/ldflags`    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnnzst12 -lzt12 -lztkg12   -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 `if /usr/bin/ar tv /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo12 -lserver12"; fi` -L/u01/app/oracle/product/12.1.0.2/db_1/ctx/lib/ -lctxc12 -lctx12 -lzx12 -lgx12 -lctx12 -lzx12 -lgx12 -lordimt12 -lclsra12 -ldbcfg12 -lhasgen12 -lskgxn2 -lnnzst12 -lzt12 -lxml12 -locr12 -locrb12 -locrutl12 -lhasgen12 -lskgxn2 -lnnzst12 -lzt12 -lxml12  -lgeneric12 -loraz -llzopro -lorabz2 -lipp_z -lipp_bz2 -lippdcemerged -lippsemerged -lippdcmerged  -lippsmerged -lippcore  -lippcpemerged -lippcpmerged  -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lsnls12 -lunls12  -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lasmclnt12 -lcommon12 -lcore12  -laio -lons    `cat /u01/app/oracle/product/12.1.0.2/db_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/12.1.0.2/db_1/lib -lm    `cat /u01/app/oracle/product/12.1.0.2/db_1/lib/sysliblist` -ldl -lm   -L/u01/app/oracle/product/12.1.0.2/db_1/lib
test ! -f /u01/app/oracle/product/12.1.0.2/db_1/bin/oracle || (\
   mv -f /u01/app/oracle/product/12.1.0.2/db_1/bin/oracle /u01/app/oracle/product/12.1.0.2/db_1/bin/oracleO &&\
   chmod 600 /u01/app/oracle/product/12.1.0.2/db_1/bin/oracleO )
mv /u01/app/oracle/product/12.1.0.2/db_1/rdbms/lib/oracle /u01/app/oracle/product/12.1.0.2/db_1/bin/oracle

chmod 6751 /u01/app/oracle/product/12.1.0.2/db_1/bin/oracle


Now its returning 0

 nm -r libknlopt.a | grep -c kcsm.o

0





To Check if RAC is enabled or not. 

$ cd $ORACLE_HOME/rdbms/lib

nm -r libknlopt.a | grep -c kcsm.o



(If its returning 1, its RAC Enabled)
0 - Non RAC Enabled

No comments:

Post a Comment

XX_XXXXXXX is not a valid responsibility for the current user. Please contact your System Administrator.

  XX_XXXXXXX is not a valid responsibility for the current user. Please contact your System Administrator. Issue : When user logs into EBS, ...