Wednesday, 28 March 2018

Ooops, IBM BPM, JDBC and too many databases

Having started up a BPM 8.6 environment after a few weeks away from that particular VM, I'd ensured that I'd started the DB2 server BEFORE starting the Deployment Manager and Node Agent.

I then sought to validate the WAS -> DB2 connectivity using the Test Connection button against each of the BPM datasource.

This failed, and I saw this in the Node Agent's SystemOut.log file: -

...
[28/03/18 11:43:20:596 BST] 00000088 FfdcProvider  W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /opt/ibm/BPM/v8.5/profiles/Node01/logs/ffdc/nodeagent_c8275539_18.03.28_11.43.20.5927573313506751525980.txt com.ibm.ws.rsadapter.DSConfigHelper.getPooledConnection 568
[28/03/18 11:43:20:605 BST] 00000088 FfdcProvider  W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /opt/ibm/BPM/v8.5/profiles/Node01/logs/ffdc/nodeagent_c8275539_18.03.28_11.43.20.6032512775687274080769.txt com.ibm.ws.rsadapter.DSConfigurationHelper.testConnectionToDataSource 1486
[28/03/18 11:43:20:605 BST] 00000088 DSConfigurati W   DSRA8201W: DataSource Configuration: DSRA8040I: Failed to connect to the DataSource jdbc/mashupDS.  Encountered java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection DSRA0010E: SQL State = 08006, Error Code = 17,002.
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection DSRA0010E: SQL State = 08006, Error Code = 17,002
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
Caused by: java.net.ConnectException: Connection refused
[28/03/18 11:43:20:634 BST] 00000088 DataSourceCon E   DSRA8040I: Failed to connect to the DataSource "".  Encountered java.sql.SQLException: IO Error: The Network Adapter could not establish the connection DSRA0010E: SQL State = 08006, Error Code = 17,002

I checked the datasource configuration: -



In other words, whilst this VM has DB2 installed, I'm actually using Oracle :-)

I switched to the oracle user: -

su - oracle
Password: 
Last login: Mon Feb 26 15:06:36 GMT 2018


and started the listener: -

lsnrctl start LISTENER

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 28-MAR-2018 11:45:12

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

Starting /home/oracle/app/oracle/product/12.2.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
System parameter file is /home/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /home/oracle/app/oracle/diag/tnslsnr/bpm86/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=bpm86.uk.ibm.com)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=bpm856.uk.ibm.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                28-MAR-2018 11:45:13
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/bpm86/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=bpm86.uk.ibm.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully


and then started the database: -

sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Wed Mar 28 11:45:20 2018

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to an idle instance.

SQL>
startup

ORACLE instance started.

Total System Global Area 1593835520 bytes
Fixed Size     8621184 bytes
Variable Size   973079424 bytes
Database Buffers   603979776 bytes
Redo Buffers     8155136 bytes
Database mounted.
Database opened.


and then validated the connection ( using Telnet ): -

telnet `hostname` 1521

Trying 192.168.153.131...
Connected to bpm86.uk.ibm.com.
Escape character is '^]'.
   
^]quit

telnet>
quit

Connection closed.

Finally, I re-tested the WAS to DB ( Oracle, NOT DB2 ) connection, which correctly returned: -


Moral of the story - too many databases !

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...