Перекомпилируйте пакет Oracle, пока он все еще находится в состоянии выполнения

#oracle #stored-procedures

#Oracle #хранимые процедуры

Вопрос:

Пакет Oracle имеет один вызов процедуры TestA, и это занимает очень много времени, примерно около 3 минут для завершения.

В C # написано одно задание Windows, которое вызывает этот пакет Oracle и процедуру TestA. Пока процедура все еще находится в состоянии выполнения, если кто-то перекомпилирует пакет Oracle в PL / SQL, повлияет ли это на нормальный результат выполнения этого задания Windows?

Ответ №1:

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

Ответ №2:

Как только пакет начнет выполняться, вы не должны прикасаться к нему или выполнять какую-либо компиляцию.

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