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

10
demandé sur Sathya 2011-07-23 15:33:29

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;
10
répondu Thomas Jones-Low 2016-07-26 01:41:51

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.

1
répondu Sathya 2011-07-24 12:30:39