Невозможно скомпилировать хранимую процедуру, потому что она кажется заблокированной - PullRequest
0 голосов
/ 06 ноября 2019

Я работаю с хранимой процедурой в Oracle. Я отлаживал его, и по какой-то причине моя жаба зависла, и мне пришлось закончить процесс. В результате, если я хочу перекомпилировать хранимую процедуру, она всегда будет такой же, как когда объект заблокирован.

Я пытался найти блокировки с помощью системного администратора, но не смог найтиправильный запрос, чтобы получить блокировку. Я хочу убить процесс, который блокирует хранимую процедуру.

1 Ответ

1 голос
/ 06 ноября 2019

Проверьте состояние, чтобы убедиться, что сеанс все еще работает, что не позволяет перекомпилировать процедуру:

SELECT sid, serial#, status FROM v$session;

Выполните приведенный ниже скрипт, который выведет sqls, который должен быть выполнен.

SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' 
FROM v$session 
where username='YOUR_USER';

Примечание: Если вы хотите завершить все сеансы, вышеприведенный сценарий подготовит все небольшие сценарии.

Затем попробуйте перекомпилировать хранимую процедуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...