我无法在WAS实例上启动已安装的应用程序。我认为根本原因是UnsatisfiedLinkError,如下所示:
引起:java.lang.UnsatisfiedLinkError:java.library.path中没有ocijdbc10 在java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682) 在java.lang.Runtime.loadLibrary0(Runtime.java:822) 在java.lang.System.loadLibrary(System.java:993) at oracle.jdbc.driver.T2CConnection $ 1.run(T2CConnection.java:3147) at java.security.AccessController.doPrivileged(Native Method) at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3143) 在oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:221) at oracle.jdbc.driver.PhysicalConnection。(PhysicalConnection.java:441) 在oracle.jdbc.driver.T2CConnection。(T2CConnection.java:132) at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:78) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801) at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:297) at oracle.jdbc.xa.client.OracleXADataSource.getPooledConnection(OracleXADataSource.java:515) at oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:159) at oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:133) 在com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper $ 1.run(InternalGenericDataStoreHelper.java:935) 在com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118) 在com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.getPooledConnection(InternalGenericDataStoreHelper.java:972) 在com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:1625) 在com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:1220) 在com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1988) 在com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1660) 在com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2341) 在com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:932) 在com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:608) 在com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:449) 在com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:418) at org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.newConnectionFromDataSource(Unknown Source) at org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.lookupConnection(Unknown Source) 在org.apache.ojb.broker.accesslayer.ConnectionFactoryManagedImpl.lookupConnection(未知来源) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknown Source) at org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown Source) 在org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(未知来源) at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown Source) 在org.apache.ojb.broker.accesslayer.RsIterator。(未知来源) 在org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(未知来源) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown Source) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown Source) at com.ascential.xmeta.persistence.orm.impl.ojb.OjbPersistentEObjectPersistenceRegistry.loadPackageCache(OjbPersistentEObjectPersistenceRegistry.java:371) ... 115更多
'was'用户的LD_LIBRARY_PATH变量是/opt/oracle/product/10.2.0/lib
我还应该检查什么来修复此错误?
请帮忙。
由于
答案 0 :(得分:1)
验证SystemOut.log的跟踪标头中的“Java Library Path”是否包含“/opt/oracle/product/10.2.0/lib”。如果它不包含路径,则LD_LIBRARY_PATH设置不会生效(可能未导出变量,或者您可能正在以不同的用户身份执行startServer)。
无论如何,我建议将“/opt/oracle/product/10.2.0/lib”添加到JDBC提供程序的本机库路径中,而不是尝试将其设置为操作系统级别。
最后,仔细检查服务器是否具有访问本机库的正确操作系统权限。