[Oracle] SELECT USER FROM SYS.DUAL

  • Auteur de la discussion Auteur de la discussion Didier_S
  • Date de début Date de début
WRInaute occasionnel
Bonjour,

J'ai à administrer une base Oracle. Tout se passe bien, sauf une requête qui revient souvent dans les logs :
Code:
SELECT USER FROM SYS.DUAL
Ce qui m'agace, c'est qu'elle laisse un curseur ouvert à chaque itération. Ce qui fait qu'en 2 semaines, j'ai déja 80 curseurs ouverts.

Je n'ai aucune idée de ce qui peut lancer cette requête. 8O
J'ai fait vérifier tout le code php, les procs/functions, et les différents outils de stats/log qui tournent; aucun résultat.

Quelqu'un aurait une idée ?
 
WRInaute occasionnel
Qry.SQL.text := 'SELECT USER FROM SYS.DUAL';
Qry.Prepare;
...
Qry.Open;
try
MyField := Qry.GetFieldAsString('AField');
finally
Qry.Close;
end;

Attention à ne jamais oublier de fermer ton curseur en fermant la query.
 
WRInaute occasionnel
Je veux bien la fermer (on a eu de gros problèmes à cause de curseurs non fermés, plus de 5000 en simultanés, la base était à genoux en permanence), mais je ne sais pas d'où elle peut sortir!
Tu as une idée de ce qui pourrait exécuter cette requête dans un environnement 'normal' ?
 
WRInaute occasionnel
moi qui pensais être le seul wrinaute à utiliser oracle ;)

si tu veux que je t'aide un peu plus, il va falloir que tu m'en donne un peu plus :)

ce serait possible d'avoir un bout de code un peu plus complet ?
 
WRInaute occasionnel
Hum :)

J'ai pas de code à te montrer, justement, vu que je n'ai _aucune_ idée de ce qui peut bien lancer cette requête, personne ne sait d'où elle sort :)

Je l'ai juste vue en faisant un
Code:
SELECT sql_text,count(*) AS cpt FROM v$open_cursor GROUP BY sql_text ORDER BY cpt DESC
 
WRInaute occasionnel
merci pour le lien, on va mater ça, sûrement cette nuit...
vu le faible nombre de curseurs, y'a pas (encore) d'urgence, et faut qu'on y aille doucement, si on massacre le serveur, le boss nous tue ;)
 
L
lenono
Guest
Didier_S a dit:
Bonjour,

J'ai à administrer une base Oracle. Tout se passe bien, sauf une requête qui revient souvent dans les logs :
Code:
SELECT USER FROM SYS.DUAL
Ce qui m'agace, c'est qu'elle laisse un curseur ouvert à chaque itération. Ce qui fait qu'en 2 semaines, j'ai déja 80 curseurs ouverts.

Je n'ai aucune idée de ce qui peut lancer cette requête. 8O
J'ai fait vérifier tout le code php, les procs/functions, et les différents outils de stats/log qui tournent; aucun résultat.

Quelqu'un aurait une idée ?

Tu as regardé dans l'admin via OEM ?

Tu es sur quelle version ? 9i, 10G ...
 
Discussions similaires
Haut