Список ошибок Oracle, включая номера событий (Oracle events) на Unix/Linux платформах можно найти в файле $ORACLE_HOME/rdbms/mesg/oraus.msg.

218105.1 Introduction to ORACLE Diagnostic EVENTS

339956.1 How to Determine the Parameters and Events set in Another Session Using Oradebug – уже недоступен

Event Reference на сайте Julian Dyke

10046 event

«стандартный» Oracle SQL Trace, в зависимости от уровня может включать значения связанных переменных (binds) и информацию по статистике событий ожиданий (waits). «Уровни трейса (EVENT) 10046:

1  – стандартный уровень SQL_TRACE (Default)
4  – уровень 1 + трейс значений связанных переменных (binds)
8  – уровень 1 + трейс событий ожидания (waits)…
12 – уровень 1 + трейсы значений связанных переменных (binds) и событий ожидания (waits)
«

Включить/выключить стандартные трейс в текущей сессии

SQL> alter session set SQL_TRACE= TRUE|FALSE;

или с указанием уровня трейса

SQL> alter session set events '10046 trace name context forever , level 12';
SQL> alter session set events '10046 trace name context off';

Включить/выключить трейс в любой сессии, используя пакет DBMS_SUPPORT:

SQL> exec sys.dbms_support.start_trace_in_session( &sid, &serial, waits=>TRUE, binds=>TRUE );

SQL> exec sys.dbms_support.stop_trace_in_session( &sid, &serial );

То же с использованием утилиты ORADEBUG:

определить сессию по orapid

SQL> oradebug setorapid N

или по ospid

SQL> oradebug setospid N

включить/выключить трейс

SQL> oradebug event 10046 trace name context forever [, level L]

SQL> oradebug event 10046 trace name context off

1058210.6 How to Enable SQL_TRACE for Another Session or in MTS Using Oradebug

Включить/выключить трейс на уровне системы:

SQL> alter system set events ‘10046 trace name context forever[, level L]‘;

SQL> alter system set events ‘10046 trace name context off’;

или с использованием параметра системы:

event=’10046 trace name context forever[,  level L]‘

Выключить все события для всех инстансов бд:

SQL> ALTER SYSTEM RESET EVENT SCOPE=SPFILE SID=’*’ ;

160178.1 How to set EVENTS in the SPFILE

Начиная с Oracle 10.2 можно определить наличие и уровень SQL_TRACE для сессии по значениям SQL_TRACE, SQL_TRACE_WAITS, SQL_TRACE_BINDS в V$SESSION

Интерпретация результатов трейса 10046

39817.1 Interpreting Raw SQL_TRACE and DBMS_SUPPORT.START_TRACE output – описывается структура информации необработанного (raw) трейс файла

32951.1 Tkprof Interpretation – стандартно поставляемая с Oracle утилита tkprof для обработки и анализа содержимого трейс файлов

224270.1 TRCANLZR «…reads a raw SQL Trace generated by standard SQL Trace or by EVENT 10046 (Level 4, 8 or 12), and generates a comprehensive HTML report with performance related details: time summary, call summary (parse, execute, fetch), identification of top SQL, row source plan, explain plan, CBO statistics, wait events, values of bind variables, I/O summary per schema object, latches, hot blocks, etc.» . Инструмент реализован в виде схемы БД, считывает трейс файл 10046 и генертрует подробный отчёт в формате HTML. Во время обработки данные загружаются в global temporary table и доступны из SQL, например, для создания на основе активности сессии тестового повторного сценария (Oracle session activity Replay).

10053 event / 10132 event

Cost-Based Optimizer trace

SQL> alter session set events ‘10053 trace name context forever’;
SQL> alter session set events ‘10132 trace name context forever, level 12′; – облегчённый вариант предыдущего события(?), без математики

Wolfgang Breitling A LOOK UNDER THE HOOD OF CBO: THE 10053 EVENT

cursortrace event

SQL> alter system set events ‘immediate trace name cursortrace level 577, address hash_value’;

недокументированое событие, упоминается в «296377.1 Handling and resolving unshared cursors/large version_counts» для исследования причин повторного неиспользования курсоров. Рекомендуется к использованию только по рекомендации Oracle support.

drop_segments event

SQL> alter session set events ‘immediate trace name DROP_SEGMENTS level TS#+1′;

Событие для удаления временных сегментов, которые по каким-либо причинам не были удалены SMON. На практике бывает необходимо для очистки временных сегментов, оставшихся от прерванной операции создания индекса, например. Наличие таких «неочищенных» SMON’ом сегментов затрудняет создание новых объектов в ТС.

61997.1 SMON – Temporary Segment Cleanup and Free Space Coalescing
47400.1 EVENT: DROP_SEGMENTS – Forcing cleanup of TEMPORARY segments

10949 event

#  «Disable autotune direct path read for full table scan»
# // *Cause:
# // *Action:  Disable autotune direct path read for serial full table scan.
# //

Отключение автопереключения механизмов:  scattered read (чтение данных через buffer cache) <> direct path read:

SQL> alter session set events ‘10949 trace name context forever, level 1′;

559365.1 Using Diagwait as a diagnostic to get more information for diagnosing Oracle Clusterware Node evictions

ORADEBUG утилита

ORADEBUG – UNDOCUMENTED ORACLE UTILITY – подробное описание некоторых возможностей от Miladin Modrakovic’а.

1 Ответ в “ORACLE EVENTS – дампы, трейсы и сигналы”



  1. 1 Predicate pushdown for outer-joined views « Oracle mechanics Обратная ссылка на 27.11.2008 в 19:41

Ответить