无法编译存储过程,因为它似乎被锁定
Can not compile a stored procedure because it seems to be locked
我正在使用 Oracle 中的存储过程。我正在调试它,由于某种原因,我的 Toad 挂了,我不得不结束这个过程。因此,如果我想重新编译存储过程,就像对象被锁定时一样。
我尝试使用系统管理员查找锁,但无法找到正确的查询来获取锁。我想终止锁定存储过程的进程。
检查状态以确认您的会话仍然是 运行,这不允许您重新编译程序:
SELECT sid, serial#, status FROM v$session;
执行下面的脚本,它会打印出应该执行的 sqls。
SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;'
FROM v$session
where username='YOUR_USER';
注意:如果要kill所有会话,上面的脚本会准备好所有的小脚本。
然后尝试重新编译您的存储过程。
我正在使用 Oracle 中的存储过程。我正在调试它,由于某种原因,我的 Toad 挂了,我不得不结束这个过程。因此,如果我想重新编译存储过程,就像对象被锁定时一样。
我尝试使用系统管理员查找锁,但无法找到正确的查询来获取锁。我想终止锁定存储过程的进程。
检查状态以确认您的会话仍然是 运行,这不允许您重新编译程序:
SELECT sid, serial#, status FROM v$session;
执行下面的脚本,它会打印出应该执行的 sqls。
SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;'
FROM v$session
where username='YOUR_USER';
注意:如果要kill所有会话,上面的脚本会准备好所有的小脚本。
然后尝试重新编译您的存储过程。