IBM Support

Using Oracle OCI may cause intermittent WebSphere Application server crashes

Troubleshooting


Problem

Intermittent WebSphere Application server crashes have been observed when using Oracle OCI with Oracle 11g and later.

Symptom

The crash is usually observed when the first database connection is attempted or more rarely sometime after server startup. This situation will likely be observed intermittently when servers are started and stopped repeatedly. After the crash, if the server is started again, it may work. The frequency of server crashes may vary.

Resolving The Problem

Oracle recommends this fix for the problem and the fix has been tested by IBM. IBM has observed the issue with the Oracle Instant Client using OCI on AIX, but it may occur with other clients and operating systems.

You will need to update the sqlnet.ora file that is in the directory that TNS_ADMIN environment variable is set to. If you are using the Instant Client, then you may need to create the sqlnet.ora file. A sqlnet.ora file can typically be found in the <oracle>/network/admin directory on the Oracle Server or Oracle Full Client.

Sample instructions for the AIX machine that WebSphere is running on:

1. Install Oracle Database Client or Oracle Instant Client if Oracle database or an Oracle client is not already installed on the machine. Make sure the client is the same bit level (32 or 64) that the machine is.
2. In the WebSphere console, configure the Oracle JDBC provider class path to use the ojdbc6.jar or ojdbc7.jar that comes with the client.
3. In the WebSphere console, configure the Oracle JDBC provider native library path with the path to the Oracle client native libraries.
4. Set LIBPATH to point to the directory that has the Oracle client native libraries. (For other platforms, use the recommended environment variable, for example for Linux, use LD_LIBRARY_PATH).
5. Set TNS_ADMIN to point to the directory that has the tnsnames.ora and sqlnet.ora files. The tnsnames.ora file is only required if the URL contains a TNS service name, for example: “jdbc:oracle:oci:@mydb”. If you have the Instant Client installed, you may need to copy these files from your database machine to your client machine.
6. Add or modify this setting in the sqlnet.ora file: DIAG_ADR_ENABLED = OFF

Note: Oracle Instant Client for AIX5L may be used with AIX 5L and later versions.

LIBPATH and TNS_ADMIN can either be set in the OS environment that the WebSphere servers are launched from or as environment entries on the WebSphere servers that the datasource will run on. See the article, Creating a data source that uses the Oracle JDBC Driver for OCI, in the IBM Knowledge Center for more information on how to set these.

More detail is available in this document provided by Oracle. An Oracle support ID is needed to access this document.
Multi Threaded OCI Client Dumps Core After Reconnecting To Database (Doc ID 882354.1)

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"DB Connections\/Connection Pooling","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"8.5.5;8.5;8.0;7.0","Edition":"Base;Network Deployment","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21685561