-
[Oracle 10.2] ORA-00060
Bonjour à toutes et à tous.
Je vous présente le problème.
Je teste actuellement des applications qui tournaient auparavant en Oracle 8.1.7 et qui doivent maintenant fonctionner en Oracle 10.2.
Un même traitement peut très bien être lancé jusque 4 fois en parallèle.
En Oracle 8.1.7, aucun problème.
En Oracle 10.2, j'ai l'erreur suivante dans mes logs :
Code:
ORA-00060: deadlock detected while waiting for resource
J'ai regardé là où le bas blessait et j'ai trouvé que cette erreur était dûe au fait que nous lancions 4 fois une requête de type UPDATE sur une même table.
Existe-t-il un paramètre permettant, sous Oracle 10i, de gérer le nombre de traitements en parallèle possibles sur une même table avant d'avoir un deadlock ?
La table incriminée est une table avec à peu près 8000 enregistrements et disposant d'un index normal construit sur deux champs.
Merci d'avance pour vos réponses et/ou remarques.
Bahan
-
A mon avis, si oracle détecte un deadlock, c'est qu'il y a vraiment un pb d'accès concurrent sur ta table.
Tu peux lancer ton traitement et essayer de détecter les requêtes qui se mordent la queue. Si tu n'as pas d'outil s pour ça, tu peux les trouver dans ce forum ou les envoyer si ça t'arrange.
LBO72.
-
Quand tu as un Deadlock Oracle génére un fichier de trace (pas toujousr tres clair) qui te donne des indication comme l'ordre SQL executé. Cela aide a comprendre d'ou le deadlock provient