IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

ORA-01000: maximum open cursors exceeded


Sujet :

Oracle

  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 32
    Par défaut ORA-01000: maximum open cursors exceeded
    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!!

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 331
    Par défaut
    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

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 32
    Par défaut
    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.T4Call.receive(T4Call.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!!

  4. #4
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Bonjour,

    Quelle est la valeur de open_cursors ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sqlplus / as sysdba
     
    sho parameter open_cursors
    Quelle version oracle tu as ?


    Un debut de reponse ici

    http://www.orafaq.com/node/758

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 32
    Par défaut
    j'ai lancé la session, et jai mis cette la requete ci dessous sous TOAD; (j'ai une BD distante)

    requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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:

    HIGHEST_OPEN_CUR
    ----------------
    MAX_OPEN_CUR
    --------------------------------------------------------------------------------
    12
    300


    1 row selected.
    et alors, si j'ai compris; le max_open_cur =12, et le high=300!!!

    donc, prkoi avoir l'erreur!!

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 331
    Par défaut
    Exécute d'abord la requête qui pose problème, puis dans la même session, relance la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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;
    Rachid

Discussions similaires

  1. [ ORACLE ][ STRUTS ] [ JAVA ] maximum open cursor
    Par LoulouFifi dans le forum Struts 1
    Réponses: 21
    Dernier message: 30/03/2011, 11h52
  2. ORA-01000: maximum open cursors exceeded
    Par tro2blabla dans le forum VB.NET
    Réponses: 3
    Dernier message: 21/08/2008, 15h00
  3. ORA-01000: maximum open cursors exceeded
    Par tro2blabla dans le forum PL/SQL
    Réponses: 3
    Dernier message: 21/08/2008, 14h56
  4. Réponses: 5
    Dernier message: 04/12/2007, 10h49
  5. ORA-01000 maximum cursor exceeded
    Par dd16 dans le forum Oracle
    Réponses: 5
    Dernier message: 12/12/2005, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo