Oracle 10g and 11g JDBC drivers

Technote (troubleshooting)


Problem(Abstract)

The installation wizard creates an Oracle JDBC provider that uses the Oracle 10g JDBC driver (ojdbc14.jar). This JDBC driver can be used for connecting to both Oracle 10g and Oracle 11g. However, you might want to use the Oracle 11g JDBC driver (ojdbc5.jar) for connecting to Oracle 11g if you find issues with the Oracle 10g JDBC driver, or if your organization has standardized on the Oracle 11g JDBC driver.

Symptom

When using the Oracle OCI driver with either the Oracle 10g or Oracle 11g JDBC driver, you might have problems when starting the product. You might see errors similar to the following (from WebSphere Business Monitor):


11/11/08 13:24:59:907 EST] 0000003b WSRdbXaResour E DSRA0304E: XAException occurred. XAException contents and details are:
The XA Error is : -3
The XA Error message is : A resource manager error has occured in the transaction branch.
The Oracle Error code is : 1024
The Oracle Error message is: Internal XA Error
The cause is : null.
[11/11/08 13:24:59:907 EST] 0000003b WSRdbXaResour E DSRA0302E: XAException occurred. Error code is: XAER_RMERR (-3). Exception is: <null>
[11/11/08 13:24:59:907 EST] 0000003b XATransaction E J2CA0027E: An exception occurred while invoking start on an XA Resource Adapter from dataSource jdbc/wbm/MonitorDatabase

Cause

WebSphere Application Server creates Oracle JDBC providers using the Oracle 10g JDBC driver (ojdbc14.jar). In the administrative console, the wizard for creating new data sources does not allow you to change the name of the Oracle .jar file. For example, you cannot change the entry from ojdbc14.jar to ojdbc5.jar.


When using the Oracle OCI driver, you will receive the errors above if there is an incompatibility between the Oracle Instant Client JDBC driver (ojdbc14.jar) and the full Oracle installation libraries.


Resolving the problem

To use the Oracle 11g JDBC driver (ojdbc5.jar), see:

Data source minimum required settings for Oracle

To resolve the errors above when using the Oracle OCI driver, you must ensure that the WebSphere Application Server JDBC Provider classpath and the native library path are in sync. To do so, complete the following steps:

  1. In the administrative console, open Resources > JDBC > JDBC Providers.
  2. For the class path, specify the directory containing the ojdbc14.jar. For example, ${WBM_JDBC_DRIVER_PATH}/ojdbc14.jar
    This path is valid for both the thin client and the OCI client.
  3. For the native library path:
    • For Windows, specify the directory containing the .dll files. For example, ORACLE_HOME/bin
    • For UNIX or Linux, specify the directory containing the .so files. For example, ORACLE_HOME/lib
The native library path is only required for the OCI client. ORACLE_HOME is not a WebSphere variable, but can be added as one.
    • If ojdbc14.jar came from an Oracle installation, the native library path should point to ORACLE_HOME/bin (Windows) or ORACLE_HOME/lib (UNIX).
    • If ojdbc14.jar came from the Oracle Instant Client, the native library path should point to the Oracle Instant Client directory.
    • If the native library path is not filled in, WebSphere Application Server will use the operating system's path, which might result in a conflict if you are using the OCI client.

For more information, see:
Creating a data source that uses the Oracle JDBC Driver for OCI
and
Data access problems - Oracle data source

Cross reference information
Segment Product Component Platform Version Edition
Business Integration WebSphere Process Server Data Bindings and Data Handlers
Business Integration WebSphere Business Modeler Publishing Server Deployment

Rate this page:

(0 users)Average rating

Document information


More support for:

WebSphere Business Monitor
Data Movement Services

Software version:

6.2

Operating system(s):

AIX, HP-UX, Linux, Linux zSeries, Solaris, Windows

Reference #:

1330098

Modified date:

2008-12-11

Translate my page

Machine Translation

Content navigation