Seguinte estou com varias instabilidades na minha aplicação web (servidor caindo)
Antes dessa situação tinha o seguinte ambiente
oracle 10g
ojdbc5
Java5
Tomcat6
esse ambiente era estável ficávamos meses sem mexer em nada, nem mesmo deploy era feito e não tinhamos nenhum problema de queda de servidor
Fizemos uma migração para
oracle 11g (- RDBMS: Oracle, version: Oracle Database 11g Release 11.2.0.1.0 - 64bit Production)
ojdbc5
java6
tomcat6.0.29
neste ambiente ficamos estáveis (com pequenas quedas, nada que ao reiniciar o tomcat não bastava) durante 3 meses até que um dia, o servidor começou a cair minutos depois de subir o tomcat
dentre os diversos tipos de erros, esses eram os mais comuns
" Não serão lidos mais dados do soque
javax.servlet.ServletException: org.hibernate.exception.JDBCConnectionException: could not execute query"
“Caused by: java.sql.SQLException: OALL8 tem um estado inconsistente”
"- SQL Error: 17008, SQLState: 99999
- Conexão Fechada"
E estes erros ficam em loop até derrubar o servidor
Pesquisando decidi trocar o driver do oracle, meu ambiente então ficou
oracle 11g (- RDBMS: Oracle, version: Oracle Database 11g Release 11.2.0.1.0 - 64bit Production)
ojdbc6 - JDBC driver: Oracle JDBC driver, version: 11.2.0.2.0 (não tinha percebido que peguei uma versão de release acima da versão de release do meu banco)
java6
tomcat6.0.29
Com essa alteração nosso ambiente ficou no ar durante aproximadamente 3 dias, depois disso voltou a cair da mesma maneira de antes
diante disso troquei novamente o driver ojdbc, tornando a versão e o release exatamente iguais
oracle 11g (- RDBMS: Oracle, version: Oracle Database 11g Release 11.2.0.1.0 - 64bit Production)
ojdbc6 - JDBC driver: Oracle JDBC driver, version: 11.2.0.1.0
O ambiente se estabilizou, porem não estou confortavel não sei se realmente era este o problema, onde mais posso atacar?
segue meu hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.jndi">mmoracle</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@(description=(address_list=(address=(host=mmdb-scan-vip)(protocol=tcp)(port=1521)))(connect_data=(service_name=oramm)))</property>
<property name="hibernate.connection.username">user</property>
<property name="hibernate.connection.password">xxx</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<!-- JDBC connection pool (use the built-in) -->
<!-- <property name="connection.pool_size">170</property>-->
<!-- C3PO Connection Pool -->
<!--<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="c3p0.min_size">5</property>
<property name="c3p0.timeout">60</property>
<property name="c3p0.max_size">100</property>
<property name="c3p0.idle_test_period">120</property>
--><!-- Second-level caching -->
<property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</property>
<property name="hibernate.cache.use_minimal_puts">true</property>
<property name="hibernate.cache.use_query_cache">true</property>
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.use_structured_entries">true</property>
<!--
<property name="hibernate.cache.provider_class">net.sf.hibernate.cache.oscacheprovider</property>
-->
<!-- Hibernate Search -->
<property name="hibernate.search.default.directory_provider">org.hibernate.search.store.FSDirectoryProvider</property>
<property name="hibernate.search.default.indexBase">/data/www/lucene</property>
<!-- Echo all executed SQL to stdout -->
<property name="hibernate.show_sql">false</property>
<property name="hibernate.format_sql">false</property>
<property name="hibernate.use_sql_comments">false</property>
<!-- enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!--
Force Hibernate to order SQL updates by the primary key value of the items being updated. This will result in fewer transaction deadlocks in highly
concurrent systems.
-->
<property name="hibernate.order_updates">true</property>
<!--
Automatically validate or export schema DDL to the database when the SessionFactory is created. With create-drop, the database schema will be
dropped when the SessionFactory is closed explicitly. eg. validate | update | create | create-drop
<property name="hbm2ddl.auto">validate</property>
-->
<mapping class="br.com...." />
</session-factory>
</hibernate-configuration>