К основному контенту

Сообщения

Показаны сообщения с ярлыком "pl/sql"

Oracle PL/SQL native compilation в боевых условиях.

Задача: тестирование возможного выигрыша в производительности при использовании NATIVE COMPILATION по сравнению с  INTERPRETED COMPILATION. Методика тестирования. Процедура  TEST_PCG  реально боевая (название изменено) - делает много чего и долго. Код по понятным причинам приводить не буду. Для замера времени перед выполнение будет запускаться PROFILER. Процедура из пакета буде выполнена по 20 раз для обоих видов компиляции. -- test_block.sql DECLARE   L_COMPILED VARCHAR2(100);   L_TEST_PARAMS  VARCHAR2(100)  := 'TEST VALUES' BEGIN    FOR I IN 1..20   LOOP    SELECT DISTINCT PLSQL_CODE_TYPE INTO L_COMPILED FROM USER_PLSQL_OBJECT_SETTINGS WHERE NAME = 'TEST_PCG';   DBMS_PROFILER.START_PROFILER('TRY_TEST_PCG_COMPILED_'||v_compiled,1);      DBAX. TEST_PCG . TEST_PRC(TEST_PARAMS) ;   COMMIT;      DBMS_PROFILER.STOP_PROFILER;   END LO...

Использование пакета UTL_MAIL для отправки почтовых сообщений

Пакет UTL_MAIL сильно упрощает процесс отправки сообщений по сравнению с UTL_SMTP. Однако и в десятке, и в 11-ом оракле пакет не установлен по-умолчанию из-за потенциальных уязвимостей. Чтобы установить прогоняем следующие скрипты под sys: @?/rdbms/admin/utlmail.sql @?/rdbms/admin/prvtmail.plb Рекомендуется задавать параметр smtp_out_server виде - mail_server_ip:port на уровне базы. Хотя можно и обойтись простым alter session. Выдаем права на пакет utl_mail пользователю, от которого собираемся отправлять сообщения. Иначе получим: PLS-00201: identifier 'UTL_MAIL' must be declared Проверка работоспособности: EXEC UTL_MAIL.SEND ( SENDER  => 'senders email', RECIPIENTS  => 'recipients email', SUBJECT  => 'subject line', MESSAGE => 'message'); В 11g требуются дополнительные настройки. Ведь даже при выдаче прав попытка вызова utl_mail вернет: ORA-24247: network access denied by access control list (...