Bonjour tout le monde
quel est à votre avis la source de cette erreur sachant que ca se produit lorsque je fais une recherche sur un seul enregistrement!! sinon, ca se produit pas!!
Version imprimable
Bonjour tout le monde
quel est à votre avis la source de cette erreur sachant que ca se produit lorsque je fais une recherche sur un seul enregistrement!! sinon, ca se produit pas!!
Cela doit être lié au paramètre d'initialisation "OPEN_CURSORS" de ton instance Oracle.
Peux-tu nous dire un peu plus sur ce que tu fais pour recevoir cette erreur?
Rachid
du fait, je suis entrain de travailler sur un projet deja existant, don't je fais la maintenance.
et lorsque je fais une recherche dans la base de données concernant des alertes d'un equipement donné!! il donne cette erreur dans un seul cas!!! et pas dans les autres!!
il donnes pas un peu ca
java.sql.SQLException: ORA-01000: maximum open cursors exceeded
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:113)
at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:431)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:942)
at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:463)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1037)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1183)
at weblogic.jdbc.wrapper.Statement.executeQuery(Statement.java:399)
et j'arrive pas à voir prkoi seulement pour un seul equipement!!
Bonjour,
Quelle est la valeur de open_cursors ?
Quelle version oracle tu as ?Code:
1
2
3sqlplus / as sysdba sho parameter open_cursors
Un debut de reponse ici
http://www.orafaq.com/node/758
j'ai lancé la session, et jai mis cette la requete ci dessous sous TOAD; (j'ai une BD distante)
requete:
Code:
1
2
3
4
5
6 select max(a.value) as highest_open_cur, p.value as max_open_cur from v$sesstat a, v$statname b, v$parameter p where a.statistic# = b.statistic# and b.name = 'opened cursors current' and p.name= 'open_cursors' group by p.value;
j'ai obtenu ensuite ceci:
et alors, si j'ai compris; le max_open_cur =12, et le high=300!!!Citation:
HIGHEST_OPEN_CUR
----------------
MAX_OPEN_CUR
--------------------------------------------------------------------------------
12
300
1 row selected.
donc, prkoi avoir l'erreur!!
Exécute d'abord la requête qui pose problème, puis dans la même session, relance la requête :
RachidCode:
1
2
3
4
5
6 select max(a.value) as highest_open_cur, p.value as max_open_cur from v$sesstat a, v$statname b, v$parameter p where a.statistic# = b.statistic# and b.name = 'opened cursors current' and p.name= 'open_cursors' group by p.value;