Dúvidas com conexões oracle x hibernate

2 respostas
pimentaft

Olá!
Sou iniciante no hibernate, estou fazendo uns testes com hibernate com oracle, consegui fazer algumas coisas como pesquisas e inclusões. Mas quando estou fazendo mais de uma pesquisa no banco, com combos dinamicas, ele me mostra na primeira vez o resultado certinho, nas proximas vezes, qdo a consulta é diferente da primeira, ele soh vai me mostrando o que “pode estar em um cache”, e as novas consultas ele me gera um erro:

java.sql.SQLException: ORA-00020: maximum number of processes (50) exceeded

Se eu restartar o tomcat ele sai do erro e refaz toda essa rotina acima citada.

Alguem sabe como posso sair dessa?

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 name="">
  <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
  <property name="hibernate.connection.url">jdbc:oracle:thin:@meuip:port</property>
  <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
  <property name="hibernate.connection.username">root</property>
  <property name="hibernate.connection.password"></property>
   		
  <property name="hibernate.show_sql">true</property>
  <property name="hibernate.format_sql">true</property>
 
  <property name="c3p0.acquire_increment">1</property> 
  <property name="c3p0.idle_test_period">100</property> 
  <property name="c3p0.max_size">100</property> 
  <property name="c3p0.max_statements">0</property> 
  <property name="c3p0.min_size">5</property> 
  <property name="c3p0.timeout">100</property>      
 
  <property name="c3p0.acquireRetryDelay">1000</property>      
  <property name="c3p0.acquireRetryAttempts">60</property>      
  <property name="c3p0.breakAfterAcquireFailure">false</property>   
 
  <mapping class="br.unig.scif.modelo.Campus"/>
  <mapping class="br.unig.scif.modelo.Bloco"/>
  <mapping class="br.unig.scif.modelo.Pavimento"/>
  <mapping class="br.unig.scif.modelo.Andar"/>
  <mapping class="br.unig.scif.modelo.Sala"/>
  <mapping class="br.unig.scif.modelo.TipoSala"/>
 </session-factory>
</hibernate-configuration>

2 Respostas

G

Fala pimentaft, tranquilo?

O que está acontecendo é que seu Oracle está configurado para aceitar apenas 50 processos simultâneos.
Isso é um número muito baixo.

Para corrigir isso você deve entrar como Sys Dba no Oracle Manager e alterar esse parâmetro.
Em um banco ativo esse número deve ficar entre 1000 e 1500.

Andre_Fonseca

oi

na verdade isso quer dizer que o número máximo de sessões abertas pelo oracle é de 50, para alterar isso você pode configurar o parâmetro sessions do arquivo init.ora, isso se tiver acesso ao banco…

Criado 21 de outubro de 2008
Ultima resposta 21 de out. de 2008
Respostas 2
Participantes 3