Oracle mechanics

03.11.2011

Oracle 11g: иерархический профилировщик PL/SQL

Filed under: commonplace,Oracle,PL/SQL — Игорь Усольцев @ 23:27
Tags:

Пункт диагностического меню Forms PL/SQL profiling в OEBS 12 (Oracle 11g) использует пакет DBMS_HPROF — относительно новый (для меня) иерархический профилировщик с отличным описанием в документации — Using the PL/SQL Hierarchical Profiler: примеры использования и анализа данных, формат трейс файла, описание используемых обозначений функций с разделением по пространствам имён (namespace: SQL, PL/SQL) и т.д.

Запускается просто:

BEGIN --Start profiling.
DBMS_HPROF.START_PROFILING('PLSHPROF_DIR', 'test.trc');
END;
/
-- Run procedure to be profiled
BEGIN
test;
END;
/
BEGIN -- Stop profiling
DBMS_HPROF.STOP_PROFILING;
END;
/

Пишет «сырой» трейс в указанную директорию, который можно либо обработать утилитой:

$ plshprof -output /tmp/t test.trc

и получить набор файлов с именами типа t*.html, которые отображаются в милый многостраничный типовой отчёт:

, либо загрузить в таблицы бд с префиксом DBMSHP_ процедурой dbms_hprof.analyze для дальнейшего разбирательства

Кроме отличной документации, в качестве краткого  руководства можно посмотреть PL/SQL How to Tune PL/SQL Applications and Identify Hot Spots using DBMS_HPROF [ID 763944.1]

Блог на WordPress.com.