Announcements

Oracle training based on real-time expertise as per industry standards. Upcoming batch details are here.

View batch schedule

Free Oracle mock interview. Register using the link.

Register

#DBAchallenge: submit your questions.

Ask questions
Swipe for more →
Browse by Topic
Latest Posts

    Saturday, March 14, 2020

    Exadata - Linking Oracle Home with RDS or UDP protocol in Exadata

    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

    1 comment:

    1. 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

    🌟 Proud to be an Oracle ACE Pro! 🚀

    🌟 Proud to be an Oracle ACE Pro! 🚀 I’m excited to share my official Oracle ACE Profile with the Oracle community. 👨‍💻 Mallikarjun ...