Какое влияние заключается в компиляции пакетов ORACLE с DEBUG
мы собираем все наши пакеты Oracle с включенной опцией DEBUG. Это значение по умолчанию для нашей среды разработки (PLSQLDeveloper). Поэтому, когда мы компилируем пакет в фоновом режиме, выполняется следующее:
ALTER PACKAGE emp_mgmt
COMPILE DEBUG PACKAGE;
Интересно, есть ли последствия для этого. В документах Oracle о ALTER PACKAGE ничего не говорится об этом.
Ответы
Ответ 1
Существует целый ряд оптимизаций, которые может выполнять компилятор PL/SQL.
Настройка режима для отладки эквивалентна установке уровня оптимизатора на 1 (отключение большинства оптимизаций)
Таким образом, это может существенно повлиять на производительность.
Ответ 2
Oracle предоставляет API отладки для разработчиков IDE. В случае, если пакет скомпилирован с опцией DEBUG
, можно установить точки разрыва с этим API. Если вы скомпилировали все пакеты с опцией DEBUG
, кто-то может установить контрольную точку через этот API для управления системой!
Итак, я думаю, что проблема с безопасностью больше связана с проблемой предварительной сборки для компиляции пакетов в режиме отладки.
EDIT:
SET_BREAKPOINT
Функция в документации Oracle
Ответ 3
Компиляция с параметром debug определенно влияет на производительность. Простой тест, который на 50 000 раз вычисляет метафону, например (много строковых тестов, если затем еще...) занимает в два раза больше времени в режиме отладки.