Linking Oracle Home with RDS or UDP
protocol in Exadata:
Enabling RDS or UDP protocol in
Exadata:
In Oracle Exadata oracle home either
work with RDS or UDP protocol. We need to enable wither of one protocol on RAC
oracle home.
If there is the miss match between the
protocol across the RAC nodes, RAC instance will not come online.
Example:
4 node RAC, In node1 Oracle Home is
enabled with RDS and rest other nodes Oracle Home enabled with UDP. In this
scenario RAC instances will not come online.
[root@eddrdbadm01 ~]# dcli -g dbs_group -l
root /u01/product/db/CSEBSC1/11.2.0.3/bin/skgxpinfo
eddrdbadm01: rds >>>>>>>>>>>>>>> Issue
eddrdbadm02: udp
eddrdbadm03: udp
eddrdbadm04: udp
Solution: We need to either convert all
RAC nodes to link with RDS protocol or UDP protocol.
[root@eddrdbadm01 ~]# dcli -g dbs_group
-l root /u01/product/db/CSEBSC1/11.2.0.3/bin/skgxpinfo
eddrdbadm01: udp
eddrdbadm02: udp
eddrdbadm03: udp
eddrdbadm04: udp
[root@eddrdbadm01 ~]# dcli -g dbs_group
-l root /u01/product/db/CSEBSC1/11.2.0.3/bin/skgxpinfo
eddrdbadm01: rds
eddrdbadm02: rds
eddrdbadm03: rds
eddrdbadm04: rds
Below is the MOS document explains how
to convert or enable RDS or UDP in Oracle home.
Linking Home with the RDS or UDP (Doc:
1574772.1)
For
RDS:
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk ipc_rdsioracle
For
UDP:
$ cd $GRID_HOME/rdbms/lib
$ make -f ins_rdbms.mk ipc_gioracle
Enabling UDP:
===========
[oragold@HOST01 ~]$ . oraenv
ORACLE_SID =
[/u01/app/oracle/product/11.2.0.4/EBSGOLD] ? EBSGOLD
The Oracle base has been set to
/u01/app/oracle/EBSGOLD
[oragold@HOST01 ~]$
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/srvctl status database -d EBSGOLD
Instance EBSGOLD1 is not running on node
HOST01
Instance EBSGOLD2 is not running on node
HOST02
[oragold@HOST01 ~]$ cd
$ORACLE_HOME/rdbms/lib
[oragold@HOST01 lib]$ make -f
ins_rdbms.mk ipc_g ioracle
rm -f /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/libskgxp11.so
cp
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib//libskgxpg.so
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/libskgxp11.so
chmod 755
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin
-
Linking Oracle
rm -f /u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/oracle
gcc
-o /u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/oracle -m64 -z
noexecstack -L/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/
-L/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/ -L/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/stubs/ -Wl,-E
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/opimai.o
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/ssoraed.o
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv11
-Wl,--no-whole-archive /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/nautab.o
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/naeet.o
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/naect.o
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/naedhs.o /u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/config.o -lserver11 -lodm11 -lcell11 -lnnet11
-lskgxp11 -lsnls11 -lnls11 -lcore11
-lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11
-lnls11 -lcore11 -lnls11 -lclient11
-lvsn11 -lcommon11 -lgeneric11 -lknlopt `if /usr/bin/ar tv
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/libknlopt.a | grep
xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap11" ; fi`
-lslax11 -lpls11 -lrt -lplp11 -lserver11
-lclient11 -lvsn11 -lcommon11 -lgeneric11
`if [ -f /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/libavserver11.a ] ; then
echo "-lavserver11" ; else echo "-lavstub11"; fi` `if [ -f
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/libavclient11.a ] ; then echo
"-lavclient11" ; fi` -lknlopt -lslax11 -lpls11 -lrt -lplp11 -ljavavm11 -lserver11 -lwwg
`cat /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11
-lnro11 `cat /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11
-lnnz11 -lzt11 -lmm -lsnls11 -lnls11
-lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11
-lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11
-lnro11 `cat /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11
-lnnz11 -lzt11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11
-lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `if
/usr/bin/ar tv /u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/libknlopt.a |
grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " "
; else echo "-lordsdo11"; fi` -L/u01/app/oracle/product/11.2.0.4/EBSGOLD/ctx/lib/
-lctxc11 -lctx11 -lzx11 -lgx11 -lctx11 -lzx11 -lgx11 -lordimt11 -lclsra11
-ldbcfg11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -locr11 -locrb11
-locrutl11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -loraz -llzopro -lorabz2 -lipp_z -lipp_bz2
-lippdcemerged -lippsemerged -lippdcmerged
-lippsmerged -lippcore
-lippcpemerged -lippcpmerged
-lsnls11 -lnls11 -lcore11
-lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11
-lnls11 -lcore11 -lnls11 -lsnls11 -lunls11
-lsnls11 -lnls11 -lcore11
-lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11
-lnls11 -lcore11 -lnls11 -lasmclnt11 -lcommon11 -lcore11 -laio `cat
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/sysliblist`
-Wl,-rpath,/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib -lm `cat
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/sysliblist` -ldl -lm
-L/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib
test ! -f
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/oracle ||\
mv -f
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/oracle /u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/oracleO
mv
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/oracle
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/oracle
chmod 6751
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/oracle
[oragold@HOST01 lib]$
[oragold@HOST01 lib]$
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/skgxpinfo
udp
[oragold@HOST01 lib]$
Enabling RDS:
===========
[oragold@HOST01 ~]$ . oraenv
ORACLE_SID =
[/u01/app/oracle/product/11.2.0.4/EBSGOLD] ? EBSGOLD
The Oracle base has been set to /u01/app/oracle/EBSGOLD
[oragold@HOST01 ~]$
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/srvctl status database -d EBSGOLD
Instance EBSGOLD1 is not running on node
HOST01
Instance EBSGOLD2 is not running on node
HOST02
[oragold@HOST01 ~]$ cd $ORACLE_HOME/rdbms/lib
[oragold@HOST01 lib]$ make -f
ins_rdbms.mk ipc_rds ioracle
rm -f
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/libskgxp11.so
cp
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib//libskgxpr.so
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/libskgxp11.so
chmod 755
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin
-
Linking Oracle
rm -f
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/oracle
gcc
-o /u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/oracle -m64 -z
noexecstack -L/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/
-L/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/
-L/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/stubs/ -Wl,-E
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/opimai.o
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/ssoraed.o
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv11
-Wl,--no-whole-archive /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/nautab.o
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/naeet.o /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/naect.o
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/naedhs.o
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/config.o -lserver11 -lodm11 -lcell11 -lnnet11
-lskgxp11 -lsnls11 -lnls11 -lcore11
-lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11
-lnls11 -lcore11 -lnls11 -lclient11
-lvsn11 -lcommon11 -lgeneric11 -lknlopt `if /usr/bin/ar tv
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/libknlopt.a | grep
xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap11" ; fi`
-lslax11 -lpls11 -lrt -lplp11 -lserver11
-lclient11 -lvsn11 -lcommon11
-lgeneric11 `if [ -f /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/libavserver11.a
] ; then echo "-lavserver11" ; else echo "-lavstub11"; fi`
`if [ -f /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/libavclient11.a ] ; then
echo "-lavclient11" ; fi` -lknlopt -lslax11 -lpls11 -lrt -lplp11 -ljavavm11 -lserver11 -lwwg
`cat /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11
-lnro11 `cat /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11
-lnnz11 -lzt11 -lmm -lsnls11 -lnls11
-lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11
-lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11
-lnro11 `cat /u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11
-lnnz11 -lzt11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11
-lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `if
/usr/bin/ar tv /u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/libknlopt.a |
grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " "
; else echo "-lordsdo11"; fi`
-L/u01/app/oracle/product/11.2.0.4/EBSGOLD/ctx/lib/ -lctxc11 -lctx11 -lzx11
-lgx11 -lctx11 -lzx11 -lgx11 -lordimt11 -lclsra11 -ldbcfg11 -lhasgen11 -lskgxn2
-lnnz11 -lzt11 -lxml11 -locr11 -locrb11 -locrutl11 -lhasgen11 -lskgxn2 -lnnz11
-lzt11 -lxml11 -loraz -llzopro -lorabz2
-lipp_z -lipp_bz2 -lippdcemerged -lippsemerged -lippdcmerged -lippsmerged -lippcore -lippcpemerged -lippcpmerged -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11
-lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lsnls11
-lunls11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11
-lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lasmclnt11
-lcommon11 -lcore11 -laio `cat
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/sysliblist`
-Wl,-rpath,/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib -lm `cat
/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib/sysliblist` -ldl -lm
-L/u01/app/oracle/product/11.2.0.4/EBSGOLD/lib
test ! -f /u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/oracle
||\
mv -f
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/oracle
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/oracleO
mv
/u01/app/oracle/product/11.2.0.4/EBSGOLD/rdbms/lib/oracle
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/oracle
chmod 6751
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/oracle
[oragold@HOST01 lib]$
/u01/app/oracle/product/11.2.0.4/EBSGOLD/bin/skgxpinfo
rds
[oragold@HOST01 lib]$
Regards,
Mallik
Thanks for this post. this is applicable to normal RAC systems as well. I faced similar issue where one node instance went completely dead due to wrong relink method in oracle home. and error i was receiving did not mention udp/rds, just addr protocol version error. so it took time to figure out the cause.
ReplyDelete