Skip to Content.
Sympa Menu

grouper-users - [grouper-users] 2.1.0, hibernate, oracle native driver, unsatisfiedlinkerror

Subject: Grouper Users - Open Discussion List

List archive

[grouper-users] 2.1.0, hibernate, oracle native driver, unsatisfiedlinkerror


Chronological Thread 
  • From: Colin Hudler <>
  • To: "" <>
  • Subject: [grouper-users] 2.1.0, hibernate, oracle native driver, unsatisfiedlinkerror
  • Date: Fri, 30 Mar 2012 12:54:19 -0500

What I have here is I think a grouper/hibernate incompatibility with our setup. I wonder if anyone would be willing to comment or confirm. We have been happily using the oracle native client with grouper 1.6.3. This is required because some of the features, mainly DataGuard.

Toying with 2.1.0 revealed a problem when running the UI (full stack below).

"java.lang.UnsatisfiedLinkError: no ocijdbc10 in java.library.path"

java.library.path does indeed include a path for the OCI library to be found, but not ocijdbc10. It should be asking for ocijdbc11. I assume the other version of hibernate dealt with this differently. Attached is the grouper.hibernate.properties, for your inspection.

I know gsh probably uses GrouperStartup.ignoreCheckConfig = true

But I wonder what the difference in the test vs actual use is, and most importantly, how to get out of this situation.

Mar 29, 2012 3:01:23 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter GrouperUi
java.lang.UnsatisfiedLinkError: no ocijdbc10 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:4085)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:4081)
at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:221)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:468)
at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:132)
at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:92)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:839)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at edu.internet2.middleware.grouper.misc.GrouperCheckConfig.checkDatabase(GrouperCheckConfig.java:762)
at edu.internet2.middleware.grouper.misc.GrouperCheckConfig.checkGrouperDb(GrouperCheckConfig.java:652)
at edu.internet2.middleware.grouper.misc.GrouperStartup.startup(GrouperStartup.java:107)
at edu.internet2.middleware.grouper.ui.GrouperUiFilter.init(GrouperUiFilter.java:616)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:287)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

#
# Grouper Hibernate Configuration
# $Id: grouper.hibernate.example.properties,v 1.9 2009-08-11 20:18:09 mchyzer
Exp $
#

# e.g. mysql: jdbc:mysql://localhost:3306/grouper
# e.g. p6spy (log sql): [use the URL that your DB requires]
# e.g. oracle: jdbc:oracle:thin:@server.school.edu:1521:sid
# e.g. hsqldb (a): jdbc:hsqldb:dist/run/grouper;create=true
# e.g. hsqldb (b): jdbc:hsqldb:hsql://localhost:9001/grouper
# e.g. postgres: jdbc:postgresql://localhost:5432/database
# e.g. mssql: jdbc:sqlserver://localhost:3280;databaseName=grouper
# use native driver for DataGuard support
hibernate.connection.url = jdbc:oracle:oci:@GRPR.WORLD

hibernate.connection.username = grouper
# If you are using an empty password, depending upon your version of
# Java and Ant you may need to specify a password of "".
# Note: you can keep passwords external and encrypted:
https://bugs.internet2.edu/jira/browse/GRP-122
hibernate.connection.password = /opt/pkgs/ucgroups/secrets/oracle_db

################ BELOW HERE YOU GENERALLY DO NOT NEED TO CHANGE
####################

# Leave blank to autodetect based on URL, or specify
# Hibernate3.
# e.g. org.hibernate.dialect.Oracle10gDialect,
org.hibernate.dialect.HSQLDialect
# e.g. org.hibernate.dialect.PostgreSQLDialect
,org.hibernate.dialect.MySQL5Dialect
# e.g. org.hibernate.dialect.SQLServerDialect
hibernate.dialect = org.hibernate.dialect.Oracle10gDialect

# see
http://ehcache.org/documentation/user-guide/hibernate#Configure-Ehcache-as-the-Second-Level-Cache-Provider
# Hibernate 3.0 - 3.2
# hibernate.cache.provider_class = org.hibernate.cache.EhCacheProvider
# Hibernate 3.3+
hibernate.cache.region.factory_class =
net.sf.ehcache.hibernate.EhCacheRegionFactory


#
# Generic Hibernate Configuration
#

hibernate.cache.use_query_cache = true

# leave blank to autodetect based on URL
# e.g. mysql: com.mysql.jdbc.Driver
# e.g. p6spy (log sql): com.p6spy.engine.spy.P6SpyDriver
# for p6spy, put the underlying driver in spy.properties
# e.g. oracle: oracle.jdbc.driver.OracleDriver
# e.g. hsqldb: org.hsqldb.jdbcDriver
# e.g. postgres: org.postgresql.Driver
# e.g. mssql: com.microsoft.sqlserver.jdbc.SQLServerDriver
hibernate.connection.driver_class =


hibernate.connection.autocommit = false

# Use c3p0 connection pooling (since dbcp not supported in hibernate anymore)
# http://www.hibernate.org/214.html,
http://www.hibernate.org/hib_docs/reference/en/html/session-configuration.html
hibernate.c3p0.max_size 16
hibernate.c3p0.min_size 0
#seconds
hibernate.c3p0.timeout 100
hibernate.c3p0.max_statements 0
hibernate.c3p0.idle_test_period 100
hibernate.c3p0.acquire_increment 1
hibernate.c3p0.validate false

#What to do if there are connection problems - see
http://www.mchange.com/projects/c3p0/index.html#configuration_properties
#These settings are designed to cause exceptions sooner rather than later so
end users are not left with a hanging UI. Once the database
#is available again a connection will be made witout further intervention
#If tou get intermittent connection problems in the UI even though the
database is OK try increasing the max_size setting above and
#tune the settings below
hibernate.c3p0.acquireRetryAttempts=2
hibernate.c3p0.acquireRetryDelay=500
hibernate.c3p0.checkoutTimeout=30000

hibernate.jdbc.use_streams_for_binary = true

hibernate.max_fetch_depth = 1

hibernate.show_sql = false

hibernate.jdbc.batch_size 20




Archive powered by MHonArc 2.6.16.

Top of Page