|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : novembre 2003 Messages : 306 ![]() |
Bonjour
Voici mon code en pl-sql Code :
J'ai essayer le meme code dans Toad et tout est OK Quelqu'un voit le problème? Merci |
||
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : janvier 2005 Messages : 2 320 ![]() |
Il faut voir ce qu'il fait durant son blocage
Code :
__________________
Nouveau: Installer Oracle 11G sous Linux et créer une base de données |
||
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
faut voir les plans d'exécutions aussi
|
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : novembre 2003 Messages : 306 ![]() |
Voici en fichier joint le résultat du select * session_wait
Je ne vois pas ou est le probleme... Vous pouvez maider? |
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Inscription : novembre 2003 Messages : 306 ![]() |
Lorsque que je tente de voir le plan dexécution j'obtient
Code :
|
||
|
00
|
|
|
#6 | ||
|
Membre régulier
![]() Inscription : novembre 2003 Messages : 306 ![]() |
Dsl, j'ai fait une erreur dans mon premier message. J'ai mis en commenatire les 2 lignes qui me donne l'erreur. En fait, mon code fait geler mon SQL + lorsque les INSERT sont effectués.
Donc mon VRAI code est Code :
|
||
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Peut-être un problème de verrouillage ? Vérifiez qu'il n'y a pas d'autre connexion qui exécute les mêmes opérations sur les mêmes données.
Un SELECT sans clause FOR UPDATE ne devrait pas être bloqué: c'est probablement un INSERT qui bloque dans le cas d'une attente sur un verrou: essayez d'exécuter vos 3 ordres les uns à la suite des autres en dehors de bloc PL/SQL. Quel est celui qui bloque ? |
|
|
00
|
|
|
#8 | ||
|
Membre émérite
![]() Inscription : janvier 2004 Messages : 845 ![]() |
je vais peut-être dir une bêtise...
mais sous SQLPlus il faut un slash ( / ) après le End; Code :
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse ! Yorglaa |
||
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : novembre 2003 Messages : 306 ![]() |
Oui tu as raison.. mais j'ai bien mis mon / a la fin dans SQL +. Il doit y avoir quelque chose d'autres!
|
|
00
|
|
|
#10 |
|
Membre émérite
![]() Inscription : janvier 2004 Messages : 845 ![]() |
si tu fais le même insert hors PL/SQL, ça marche ou pas ?
et le Select, hors PL, il ramène bien la valeur attendue ?
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse ! Yorglaa |
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Inscription : novembre 2003 Messages : 306 ![]() |
oui ca marche...
Jai modifié mon code pour mettre mon Select a l'intérieur de mon Insert. C'est pas tres beau mais ca fonctionne. Si jamais vous comprenez pourquoi SQL + refuse de faire fonctionner ma premiere version du code alors je serais tres intéressé a le savoir! Merci |
|
00
|
|
|
#12 | ||
![]() ![]() Inscription : janvier 2005 Messages : 2 320 ![]() |
SI ta session est la 10 ne cherche pas plus tu as juste un probléme de lock
tu relance la requête sous TOAD et dans une autre fenêtre tu recherche qui bloque qui grâce à ke requête suivante : Code :
__________________
Nouveau: Installer Oracle 11G sous Linux et créer une base de données |
||
|
|
00
|
|
|
#13 | |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Citation:
Vous avez combien de connections sqlplus ouvertes et combien de connections sont en train d'exécuter une version de votre code SQL ou PL/SQL ? Pour être sûr de ne pas vous bloquer vous-même, vous pouvez: - soit déconnecter chaque connection sqlplus après chaque exécution - soit rajouter COMMIT dans votre code ou après l'exécution du bloc PL/SQL pour libérer les verrous. |
|
|
|
00
|
|
|
#14 |
|
Membre régulier
![]() Inscription : novembre 2003 Messages : 306 ![]() |
Dommage, je n'ai plus acces a la BD du client aujourdhui et jai livré le code fianl en mettant le Select dans mon Insert.
Par contre, j''aimerais bien savoir pourquoi mettre mon Select direct dans mon Insert regle le probleme. Qu'est-ce qu'on probleme de lock? Je me souviens que j'ai essayé de mettre un commit; dans le code et ca changeait rien... |
|
00
|
|
|
#15 | |
|
Membre émérite
![]() Inscription : janvier 2004 Messages : 845 ![]() |
peut-être un soucis avec le paramètre ROW_LOCKING du fichier init...
source Metalink, note 30803.1 Citation:
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse ! Yorglaa |
|
|
|
00
|
|
|
#16 |
|
Membre régulier
![]() Inscription : novembre 2003 Messages : 306 ![]() |
ok merci!
La prochaine fois je vais regarder de ce coté! |
|
00
|
Copyright © 2000-2012 - www.developpez.com