Compiler la procédure stockée bloque le développeur SQL Oracle
je suis confronté à un problème inhabituel dans Oracle SQL Developer. Quand j'essaie de compiler une procédure de magasin, cela bloque L'écran de développeur SQL D'Oracle et je ne peux pas faire d'activité, sauf pour tuer L'instance de développeur SQL et recommencer.
Mais le même problème. Toute personne confrontée à ce problème? Je suis nouveau à oracle.
voici quelques ajouts au problème j'ai attendu 5 à 10 minutes et j'ai eu cette erreur
ORA-04021 timeout occurred while waiting to lock object
Mais je suis la seule personne à travailler sur ce instance D'Oracle
2 réponses
une de vos précédentes tentatives de créer la procédure, que vous avez tuée, est toujours bloquée et active. Vous devez tuer cette session Oracle en utilisant http://www.oracle-base.com/articles/misc/KillingOracleSessions.php
l'autre source de cette erreur est un autre processus dans votre base de données qui exécute la procédure pendant que vous essayez de la compiler. Utilisez cette requête pour comprendre quel processus l'exécute:
select sess.sid, sess.username, sql_text
from v$sqlarea sqlarea, v$session sess
where sess.sql_hash_value = sqlarea.hash_value
and sess.sql_address = sqlarea.address
and sess.username is not null;
Requête v$locked_object
pour voir si des objets qui sont actuellement verrouillés sont utilisés par votre procédure stockée. Si c'est le cas, traquez la requête/le module qui l'a verrouillé et mettez fin à la requête.
le lien donné par Thomas donne les détails de comment tuer une session, une fois que les sessions sont tuées & v$locked_object
ne montre aucun enregistrement, vous devriez être capable de compiler fine.