Troubleshooting: "Could not create pool connection" ELFCLASS64 error (WebSphere with Oracle)
Symptom
When using WebSphere with Oracle, you may receive the following error when you start the application server:
<January 23, 2007 11:14:05 CDT> <Error> <JDBC> <BEA-001150> <Connection Pool “pega_rep1” deployment failed with the following error:
0:Could not create pool connection. The DBMS driver exception was: /u01/app/oracle/product/10.2.02/lib/libocijdbc/10.so: ld.so.1:java: fatal: /u01/app/oracle/product/10.2.02/lib/libocijdbc/10.so: wrong ELF class: ELFCLASS64.>
<January 23, 2007 11:14:05 CDT> <info> <JDBC> <BEA-01156> <Stack trace associated with message 01150 follows:
weblogic.common.resourcepool.ResourceSystemException: Could not create pool connection. The DBMS driver exception was:
u01/app/oracle/product/10.2.02/lib/libocijdbc10.so: ld.so: java:
fatal: /u01/app/oracle/product/10.2.02/lib/libocijdbc.so: wrong ELF class: ELFCLASS64 at weblogic.jdbc.common.internal.ConnectionEnvFactory.MakeConnection (ConnectionEnvFactory.java:214)
at weblogic.jdbc.common.internal..ConnectionEnvFactory.createResource (ConnectionEnvFactory.java:124)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources (ResourcePoolImpl.java:1145)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources (ResourcePoolImpl.java:1079)
at weblogic.common.resourcepool.ResourcePoolImpl.start (ResourcePoolImpl.java:171)
at weblogic.jdbc.common.internal.ConnectionPool.doStart (ConnectionPool.java:1018)
This error may appear when you:
- Install or upgrade to a new version of Process Commander.
- Upgrade from Oracle 9i to Oracle 10g.
Note: These are two examples of when this error can occur; you may receive this error under other circumstances.
Solution
Resolution
This error occurs because the LD_LIBRARY_PATH Unix environment variable points to the 64-bit Oracle library files. It should point to the 32-bit Oracle library files, as follows:
LD_LIBRARY_PATH=$ORACLE_HOME/lib32
From the Oracle command line, change the environment variable as follows:
For C shell users:
setenv LD_LIBRARY_PATH=$ORACLE_HOME/lib32
For Bourne or Korn shell users
$ LD_LIBRARY_PATH=$ORACLE_HOME/lib32
For more information, see the Oracle Metalink note 301956.1 at:
Article originally written 2/9/2007.