Oracle 10g XE: ORA-01000: Maximo de Cursores Abertos Excedidos  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
fabim
GUJ Master
[Avatar]

Membro desde: 14/12/2006 19:30:03
Mensagens: 1268
Localização: Vitoria - Espirito Santo
Offline

Ola guj,

o log do servidor ta me mostrando esse erro... ja vasculhei todas as classes de acesso a banco e em todas elas estao sendo fechados os resultSets e o Statements... o Oracle esta configurado com OPEN_CURSORS=300...

Alguem ai que usa oracle tem uma pista do q pode estar acontecendo?

ειπεν αυτη ο ιησους εγω ειμι η αναστασις και η ζωη ο πιστευων εις εμε καν αποθανη ζησεται

Sun Certified Web Component Developer
Sun Certified Java Programmer
Sun Certified Java Associate
Sun Certified Business Component Developer - Em Andamento
Bacharelando em Sistemas de Informacao


[MSN]
julianostr
GUJ Ranger
[Avatar]

Membro desde: 31/03/2006 14:16:14
Mensagens: 855
Localização: Blumenau - SC
Offline

Você está utilizando rs.getStatement().close() ???


LASER
Light Amplification by Stimulated Emission of Radiation
fabim
GUJ Master
[Avatar]

Membro desde: 14/12/2006 19:30:03
Mensagens: 1268
Localização: Vitoria - Espirito Santo
Offline

nao, estou usando ResultSet.close() e PreparedStatement.close()...

Vou testar aqui o metodo que me sugeriste e depois posto o resultado, se deu certo ou nao...

duvida: se o meu rs e criado a partir do pstmt, fechando o pstmt eu nao estaria fechando o rs tb nao?

ειπεν αυτη ο ιησους εγω ειμι η αναστασις και η ζωη ο πιστευων εις εμε καν αποθανη ζησεται

Sun Certified Web Component Developer
Sun Certified Java Programmer
Sun Certified Java Associate
Sun Certified Business Component Developer - Em Andamento
Bacharelando em Sistemas de Informacao


[MSN]
andrik
Debugger

Membro desde: 26/07/2005 11:34:30
Mensagens: 68
Offline

Olá fabiocsi,

Dá uma olhada no material que o Mister M postou no blog dele sobre esse assunto

http://blog.michaelnascimento.com.br/2006/07/04/resolvendo-ora-01000-maximum-open-cursors-exceeded/

[]'s

andrik albuquerque
[Email]
fabim
GUJ Master
[Avatar]

Membro desde: 14/12/2006 19:30:03
Mensagens: 1268
Localização: Vitoria - Espirito Santo
Offline

vlw andrik.

vou testar pra ver o q acontece... eu li outro topico sobre isso aqui no guj, onde o cara nao conseguia fechar esses cursors de jeito nenhum, so fechando a conn...

obrigado pelo link

ειπεν αυτη ο ιησους εγω ειμι η αναστασις και η ζωη ο πιστευων εις εμε καν αποθανη ζησεται

Sun Certified Web Component Developer
Sun Certified Java Programmer
Sun Certified Java Associate
Sun Certified Business Component Developer - Em Andamento
Bacharelando em Sistemas de Informacao


[MSN]
nbluis
GUJ Master
[Avatar]

Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline

cara, tivemos este problema aqui recentimente, e seguinte....
se tu fechar todos os statements resultset abertos ... isso da conta.... aconteceram alguns casos também em triggers que não fechavam alguns cursores.... mas dai eu acho que é outra historia....
obs::: o oracle xe por defualt vem com um numero baixo de cursores no limite.... dependente da sua aplicação, talvez não seja sobre fechamento mas sim sobre uso mesmo.


Até...

Luis Eduardo Bohrer

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
[WWW]
mister__m
Virtual Machine Man
[Avatar]

Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline

fabiocsi,

Não adianta tentar adivinhar onde está o problema. As técnicas mencionadas no meu blog, citado pelo andrik, vão te levar exatamente a raiz da questão.

Michael Nascimento Santos, aka Mister M

Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m
[WWW]
leandroadinolfi
Entusiasta Java
[Avatar]

Membro desde: 29/08/2006 10:20:43
Mensagens: 22
Localização: Barueri
Offline

Não resolve.

<<<_.?'''''Leandro Adinolfi'''''?._>>>
[Email] [MSN]
rodrigorigaud
Smalltalk
[Avatar]

Membro desde: 17/12/2008 12:19:56
Mensagens: 4
Offline

Bem, vi sobre esse blog que mister__m cita, e realmente ele tem razao, voce tem que fechar tudo que abre, no meu caso que gerou esse erro foi uma bobagem de fechar os STATEMENTS. não estava fechando os statments que abria quando executava o comando sql(select), ai o erro reflete no PreparedStatement ou Statement que voce esteja usando. eu uso uma classe para abrir conexoes e executar comandos sql, (BeanConexao). só que tinha um erro ai nessa historia do sistema. vou escrever o método ExecuteQuery que eu uso para executar os selects que faço.


public synchronized ResultSet executeQuery(String query) throws SQLException {
statement = conn.createStatement();
return statement.executeQuery(query);
}


não sei se você consegue ver, mas o statement é criado mas não fechado, porque ele precisa retornar para a classe que chamou né verdade. ai estava o erro que estava sendo gerado Ora 01000.... Então criei na classe BeanConexao que tem esse método executequery o método FecharStatement ex:


public void fecharStatment() throws SQLException {
statement.close();
}

que após eu utilizar do statement eu chamo o método para fechar lá na classe de origem. ex:


String sql = "select...";

ResultSet rs = beanConexao.executeQuery(sql);

while (rs.next()) {
...
}


beanConexao.fecharStatment();


Valeu galera pela ajuda na busca da identificação do meu erro. espero que também tenha ajudado.

This message was edited 2 times. Last update was at 30/04/2009 16:08:03

jefftrindade.
What is classpath?
[Avatar]

Membro desde: 14/04/2011 19:48:10
Mensagens: 7
Offline

Desculpe ressucitar o tópico, mas estou com o mesmo problema e não consigo acessar o blog do mister__m!

Jeff Trindade

Desenvolvedor Web
Oracle Certified Professional Java SE6 Programmer

Programação, mulheres, malhação, paintball, e-music...
braian
Thread.start()
[Avatar]

Membro desde: 18/04/2009 17:44:37
Mensagens: 45
Offline

jefftrindade. wrote:Desculpe ressucitar o tópico, mas estou com o mesmo problema e não consigo acessar o blog do mister__m!


UP!!
Também estou com o mesmo problema!!

Em busca de conhecimento...
[MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team