Компиляция 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>
ничего в журнале изменений для него.
Как я могу найти ошибку? не должен "показывать ошибку", дайте мне это?
Ответы
Ответ 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". позволил мне увидеть ошибки.