Exalogic connection to Exadata with SDP Protocol over Virtual Infiniband IPs

Last week,Some developers ask me how we can connect our Weblogic(in the exalogic) server to exadata,I quickly read the ACS document.
Summaries in briefly,

First of all,you need to define a new LISTENER which is named LISTENER_IB at the Exadata Database server.

[oracle@sba5db01 ~]$ srvctl config listener
Name: LISTENER
Network: 1, Owner: oracle
Home: <CRS home>
End points: TCP:1521
Name: LISTENER_IB
Network: 2, Owner: oracle
Home: <CRS home>
End points: TCP:1522/SDP:1522

This listener has to listen our service,remember that one service can register more than one listener.

LSNRCTL> status LISTENER_IB
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_IB)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER_IB
Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date                10-APR-2012 12:06:25
Uptime                    2 days 10 hr. 30 min. 27 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/11.2.0.2/grid/network/admin/listener.ora
Listener Log File         /u01/app/11.2.0.2/grid/log/diag/tnslsnr/sba5db01/listener_ib/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_IB)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=sdp)(HOST=192.168.10.111)(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.10.111)(PORT=1522)))
Services Summary...
Service "SERVICE_NAME.domain.lokal" has 1 instance(s).
Instance "SERVICE_NAME1", status READY, has 1 handler(s) for this service...
Service "SYS$SRCUSER_ORA.AV$SRC_QUEUE_44.SERVICE_NAME.domain.LOKAL" has 1 instance(s).
Instance "SERVICE_NAME1", status READY, has 1 handler(s) for this service...
Service "SYS$SRCUSR_RAC.AV$SRC_QUEUE_21.SERVICE_NAME.domain.LOKAL" has 1 instance(s).
Instance "SERVICE_NAME1", status READY, has 1 handler(s) for this service...
The command completed successfully
LSNRCTL>

This IP which is listened from port 1522 is a virtual IB IPs.

In the hosts files.
### CELL Node Private Interface details
192.168.10.97   sba5cel01-priv.domain.lokal     sba5cel01-priv
192.168.10.98   sba5cel02-priv.domain.lokal     sba5cel02-priv
192.168.10.99   sba5cel03-priv.domain.lokal     sba5cel03-priv
192.168.10.100  sba5cel04-priv.domain.lokal     sba5cel04-priv
192.168.10.101  sba5cel05-priv.domain.lokal     sba5cel05-priv
192.168.10.102  sba5cel06-priv.domain.lokal     sba5cel06-priv
192.168.10.103  sba5cel07-priv.domain.lokal     sba5cel07-priv
192.168.10.104  sba5cel08-priv.domain.lokal     sba5cel08-priv
192.168.10.105  sba5cel09-priv.domain.lokal     sba5cel09-priv
192.168.10.106  sba5cel10-priv.domain.lokal     sba5cel10-priv
192.168.10.107  sba5cel11-priv.domain.lokal     sba5cel11-priv
192.168.10.108  sba5cel12-priv.domain.lokal     sba5cel12-priv
192.168.10.109  sba5cel13-priv.domain.lokal     sba5cel13-priv
192.168.10.110  sba5cel14-priv.domain.lokal     sba5cel14-priv

### SDP IB IPs
192.168.10.111  sba5db01-ibvip.domain.lokal     sba5db01-ibvip
192.168.10.112  sba5db02-ibvip.domain.lokal     sba5db02-ibvip
192.168.10.113  sba5db03-ibvip.domain.lokal     sba5db03-ibvip
192.168.10.114  sba5db04-ibvip.domain.lokal     sba5db04-ibvip
192.168.10.115  sba5db05-ibvip.domain.lokal     sba5db05-ibvip
192.168.10.116  sba5db06-ibvip.domain.lokal     sba5db06-ibvip
192.168.10.117  sba5db07-ibvip.domain.lokal     sba5db07-ibvip
192.168.10.118  sba5db08-ibvip.domain.lokal     sba5db08-ibvip

At the database side,look inside the parameters files,

listener_networks='((NAME=network2) (LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))’,'((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IPREMOTE))’

These 4 parameters LISTENER_IBLOCAL,LISTENER_IBREMOTE,LISTENER_IPLOCAL,LISTENER_IPREMOTE have to defined in the TNSNAMES.ORA file (at the dbhome not grid home)

LISTENER_IBREMOTE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = sba5db02-ibvip.domain.lokal)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = sba5db03-ibvip.domain.lokal)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = sba5db04-ibvip.domain.lokal)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = sba5db05-ibvip.domain.lokal)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = sba5db06-ibvip.domain.lokal)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = sba5db07-ibvip.domain.lokal)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = sba5db08-ibvip.domain.lokal)(PORT = 1522))
)
)

LISTENER_IBLOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = sba5db01-ibvip.domain.lokal)(PORT = 1522))
(ADDRESS = (PROTOCOL = SDP)(HOST = sba5db01-ibvip.domain.lokal)(PORT = 1522))
)
)

LISTENER_IPLOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = sba5db01-ibvip.domain.lokal)(PORT = 1521))
)
)

LISTENER_IPREMOTE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = sba5-scan)(PORT = 1521))
)
)

And finally your connection string like this:

SDP connection
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=SDP)(HOST=sba5db01-ibvip.domain.lokal)(PORT=1522))
(ADDRESS=(PROTOCOL=SDP)(HOST=sba5db02-ibvip.domain.lokal)(PORT=1522))
(ADDRESS=(PROTOCOL=SDP)(HOST=sba5db03-ibvip.domain.lokal)(PORT=1522))
(ADDRESS=(PROTOCOL=SDP)(HOST=sba5db04-ibvip.domain.lokal)(PORT=1522))
(ADDRESS=(PROTOCOL=SDP)(HOST=sba5db05-ibvip.domain.lokal)(PORT=1522))
(ADDRESS=(PROTOCOL=SDP)(HOST=sba5db06-ibvip.domain.lokal)(PORT=1522))
(ADDRESS=(PROTOCOL=SDP)(HOST=sba5db07-ibvip.domain.lokal)(PORT=1522))
(ADDRESS=(PROTOCOL=SDP)(HOST=sba5db08-ibvip.domain.lokal)(PORT=1522)))
(CONNECT_DATA=(SERVICE_NAME=SERVICE_NAME.domain.lokal)))

Advertisements

One thought on “Exalogic connection to Exadata with SDP Protocol over Virtual Infiniband IPs

  1. Pingback: How To Fix Xpc Listener Ipc Error Connection Invalid in Windows

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s