Dsvolk > > Oracle > > Tuning > > Trcanlzr My Blog | Search | About
(Not Logged In)
[ welcome! ] [ news ] [ install ] [ jump-jet ] [ app ] [ rac ] [ papers ] [ dba ] [ dvp ] [ racdd4d ] [ oem ] [ statspack ] [ education ] [ tuning ] [ ias ] [ backup ] [ dataprotection ] [ security ] [ oid ] [ options ] [ integration ] [ sales ] [ sun ] [ linux ] [ consulting ] [ faq ]

trcanlzr

Соглашение о материалах на этом сайте

Мой oracle blog
true dsvolk!
Не tkptof - лучше ?  
TRCANLZR.sql - Trace Analyzer. 
Средство для анализа trace файлов полученных в результате команды ALTER SESSION set events '10046 trace name context forever, level <N>' (см. подробнее здесь)

Для меня важно, что он отличается от столь любимого tkptof:

  • Показывает Total User Elapsed Time  Accounted Elapsed and CPU Times (тоже что и в tkprof); WAIT Times (чего нет в tkprof или не было );
  • Показывает первые 5 блоков данных по временам ожидания, связанных с ними;
  • Показывает bind переменные;
  • Декларируется, что более аккуратно суммируем время, отличая время потраченное пользовательским запросом, от времени внутренних рекурсивных запросов;
  • Сохраняет результаты своей работы в собственном репозитории.

Читать  документацию к нему. Скачать  с  металинка.

Установка

Развернуть архив на сервере. Выдать пользователю (smap_dba), который будет анализировать свои запросы гранты:

SQL> conn sys/manager
Connected.
SQL> @TRCAGRNT smap_dba

Установить репозиторий

SQL> conn smap_dba/smap_rulez

SQL>@TRCACREA

No errors.

TRCA$ Staging Repository and Package have been created

Теперь получим dump файл. Наш запрос, который мы будем исследовать такой:

select distinct m.id
from body_owner l1,
rfc822_body b, 
rfc822_body_header mh,
rfc822_body_param mhp,
message m , message_label l
where mhp.header = mh.id 
and mh.body = b.id 
and l1.body = b.id
and l1.message = m.id
and (mhp.name = 'FILENAME' or mhp.name = 'NAME' )
and mhp.value like '%' || 'doc' || '%' 
and l.message = m.id and l.timestamp > sysdate - 100
/

sqlplus smap_dba/map_rulez

SQL> ALTER SESSION set events '10046 trace name context forever, level 12'

SQL> @myquery

SQL> @TRCANLZR UDUMP ora_8853_dvp.trc

На экран выводиться отчет но удобнее его найти в текущей директории, он называется TRCANLZR_ora_8853_dvp.LOG, т.е. к имени вашего трасе файла добавляется TRCANLZR и меняется расширение.

Видно что по сравнению с tkprof добавлены времена ожиданий (waits), информации о кол-во прочитанных блоков, дата последнего анализа таблиц и индексов, описываются сами индексы. В общем, полезно. 

Мое резюме - для разработчика, изучающего тонкости поведения одного своего запроса - более чем удобно. Когда запросов много - удобнее сначала пройтись по ним tkprof, выяснить подозрительные, потом по ним уже проходиться trcanlzr.

Dsvolk > > Oracle > > Tuning > > Trcanlzr Last Modified: 04-03-2003 17:29