Подтвердить что ты не робот

Компиляция PL/SQL завершена с ошибкой без сообщения об ошибке

Моя установка APEX появилась груша, сформированная на экземпляре Oracle 9.2.0.5.0, все пакеты недействительны.

Я пробовал перекомпилировать все с помощью DBMS_UTILITY.compile_schema, но все пакеты недействительны. Итак, попытался перекомпилировать отдельные пакеты,

SQL> ALTER PACKAGE FLOWS_020000.WWV_FLOW_QUERY COMPILE BODY;

Warning: Package Body altered with compilation errors.

SQL> show err
No errors.
SQL> 
SQL> ALTER PACKAGE FLOWS_020000.WWV_FLOW_QUERY COMPILE;

Warning: Package altered with compilation errors.

SQL> show err
No errors.
SQL> 

ничего в журнале изменений для него.

Как я могу найти ошибку? не должен "показывать ошибку", дайте мне это?

4b9b3361

Ответ 1

После отказа от этой проблемы в течение нескольких месяцев, затем, вернувшись к ней, я отработал ее.

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

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

Ответ 2

Я знаю, что этот ответ запоздал, но хочу сообщить, что вы также можете использовать:

ALTER PACKAGE your_package_name_here COMPILE PACKAGE;

ALTER PACKAGE your_package_name_here COMPILE BODY;

затем, если появилось предупреждение, вы можете использовать приведенный ниже скрипт, чтобы проверить ошибку и в каких строках она находится:

-- this shows the errors within the package itself

SHOW ERRORS PACKAGE your_package_name_here;

-- this shows the errors within the package body

SHOW ERRORS PACKAGE BODY your_package_name_here;

Ответ 3

Подключиться как FLOWS_020000 и перейти:

SELECT *
FROM   ALL_ERRORS
WHERE  OWNER = USER;

Или подключаться как SYSTEM и идти

SELECT *
FROM   ALL_ERRORS
WHERE  OWNER = 'FLOWS_020000';

Ответ 4

попробуйте

SHOW ERRORS PACKAGE BODY FLOWS_020000.WWV_FLOW_QUERY

Ответ 5

SHOW ERRORS PACKAGE FLOWS_020000.WWV_FLOW_QUERY

Ответ 6

У меня была такая же проблема сегодня. Я обнаружил, что делаю (как XXX):

alter package XXX.my_package compile body;

Это будет ошибка, а затем show err на самом деле не обнаружит ошибок.

Удаление "XXX". позволил мне увидеть ошибки.