2017-01-26 4 views
-1

Простая проблема: У меня есть запрос (сложный), который, кажется, работает медленным для определенных параметров. Я хочу узнать, что это за параметры.Как фиксировать связанные параметры и время в Oracle

Есть ли трассировка, которую я могу включить в Oracle (12), которая позволила бы мне это. Я ищу какой-то список (для данного sql_id), который будет перечислять выполнение + связанные параметры + время выполнения.

Спасибо!

ответ

1

Наиболее эффективным способом отладки производительности SQL-оператора является получение отчета SQL Monitor. Вы можете получить это из Enterprise Manager (EM). Если у вас нет EM, то вы можете создать отчет SQL Monitor с помощью SQLPlus:

set trimspool on 
set trim on 
set pages 0 
set linesize 1000 
set long 1000000 
set longchunksize 1000000 
spool sqlmon_active.html 
select dbms_sqltune.report_sql_monitor(type=>'active') from dual; 
spool off 

Вы можете увеличить это также передать в SQLID.

Получившийся html-файл может быть просмотрен в браузере.

Этот html-файл отобразит у вас огромное количество информации. Планы выполнения, расчетные и фактические мощности, привязка значений переменных, разбивка по времени, ожидания. и т.д.

Для получения дополнительной информации (хотя немного устаревший), обратите внимание на: http://www.oracle.com/technetwork/database/manageability/sqlmonitor-084401.html

+0

Спасибо! Попробуй! – Michal123456