Stored procedures 编译存储过程会挂起Oracle SQL Developer

Stored procedures 编译存储过程会挂起Oracle SQL Developer,stored-procedures,oracle10g,compilation,oracle-sqldeveloper,Stored Procedures,Oracle10g,Compilation,Oracle Sqldeveloper,我在Oracle SQL Developer中面临一个不寻常的问题。当我试图编译一个存储过程时,它会挂起OracleSQLDeveloper屏幕,我不能做任何活动,除非杀死SQLDeveloper实例并重新启动 但同样的问题。有人面临这样的问题吗?我是甲骨文的新手 这里有一些补充问题,我等了5到10分钟,得到了这个错误 ORA-04021 timeout occurred while waiting to lock object 但是我是唯一一个在Oracle实例上工作的人,您之前创建过程的一

我在Oracle SQL Developer中面临一个不寻常的问题。当我试图编译一个存储过程时,它会挂起OracleSQLDeveloper屏幕,我不能做任何活动,除非杀死SQLDeveloper实例并重新启动

但同样的问题。有人面临这样的问题吗?我是甲骨文的新手

这里有一些补充问题,我等了5到10分钟,得到了这个错误

ORA-04021 timeout occurred while waiting to lock object

但是我是唯一一个在Oracle实例上工作的人,您之前创建过程的一次尝试(您杀死了该过程)仍然被卡住并处于活动状态。您需要使用以下命令终止Oracle会话:

此错误的另一个来源是数据库中的另一个进程在您尝试编译过程时正在运行该过程。使用此查询可以确定哪个进程正在运行它:

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;

查询
v$locked\u object
,查看存储过程是否正在使用当前锁定的任何对象。如果是这样,则跟踪已锁定的查询/模块并结束查询


Thomas给出的链接提供了如何终止会话的详细信息,一旦会话终止&
v$locked\u object
没有显示任何记录,您应该可以很好地编译。

我尝试过几次。但当我再次编译它时,同样的错误。如何在SQLDeveloper中执行上述查询?会话是一个保留字。将其更改为另一个“名称”(例如“v$session sess”)。Mahttias是正确的,“session”是保留关键字,不能用作别名。答案已更新。