{Oracle} ORACLE: Requête sql qui tourne sans arrêt

Fermé
hammag - 11 janv. 2010 à 15:28
BadGuitarist Messages postés 367 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 20 octobre 2013 - 13 janv. 2010 à 17:53
Bonjour,

Voici mon problème que je n’arrive pas à résoudre :
J’ai modifié la structure d’une table oracle en ajoutant un nouveau champ. Ce champ n’est pas utilisé comme champ de recherche.
Après cette modification et quand je lance une reqête sql (qui Update cette table) cette requête tourne sans arrêt (comme une boucle infinie).
Ce problème survient seulement quand le nombre de lignes à modifier est très grand (de l’ordre de centaines de miliers) mais quand le nombre de lignes est petit (quelques dizaines par ex) l’exécution passe sans problème.
J’ai vérifié les indexes de cette table, rien n’a changé.

Quelqu'un a une idée ou une solution SVP ?

cordialement

1 réponse

BadGuitarist Messages postés 367 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 20 octobre 2013 27
13 janv. 2010 à 17:53
Bonjour Hammag,

Quelques centaines de millier de lignes, c'est pas gênant ... j'effectue des requêtes SQL de toutes natures (select, update, delete) sur environ 5 millions de lignes sur une table qui se compose d'environ 60 colonnes ... ça ne répond pas dans la seconde mais ça ne boucle pas.

2 causes possibles :
- ta base est peut-être mal taillée : si tu fais des mises à jour, Oracle utilise un tablespace temporaire qui stocke les données en cours de modif afin de pouvoir revenir aux valeurs initiales en cas de rollback.
Ce tablespace doit donc être suffisamment taillé.
- tes mises à jours posent un verrou sur des lignes que tu cherches à modifier ou à supprimer ultérieurement.

Autres pistes d'analyse :
As-tu vérifié que Oracle ne génère pas une erreur ...
Si ton ordre SQL fait partie d'un bloc PL/SQL, es-tu sûr de ta gestion d'erreurs ?
0