(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Использование отладки SQL

Источник: all-oracle

Рекомендовано для:
  • Oracle Database 8i
  • Oracle Database 9i R1
  • Oracle Database 9i R2
  • Oracle Database 10g R1
  • Oracle Database 10g R2
  • Oracle Database 11g R1
 

В статье пойдет речь о различных способах включения отладки SQL.
Включение отладки для своей сессии, выполняется командой:

ALTER SESSION SET sql_trace=TRUE;

или

ALTER SESSION SET EVENTS '10046 trace name context forever, level <уровень_отладки>';

где, уровень отладки:
0   - Выключить отладку (значение по умолчанию)
1   - Включить отладку.
4   - Добавить в отладку информацию о значениях связанных переменных
8   - Добавить в отладку информацию об ожиданиях
12 - Комбинация уровней 4 и 8

В итоге команда может выглядеть так:

ALTER SESSION SET EVENTS '10046 trace name context forever, level 12';

Чтобы включить отладку для выбранной сессии, выполняем SQL команду:

EXEC sys.dbms_system.set_sql_trace_in_session([SID],[serial#], TRUE);

или

EXEC  sys.dbms_system.set_ev([SID], [serial#], 10046, уровень_отладки, '');

Значения SID и serial# сессии можно найти в v$session:

SELECT SID, SERIAL# FROM V$SESSION;
       SID    SERIAL#
---------- ----------
       133         46
       136          4
       137          6
       138          8
       140      22905

Если требуется включить отладку для всех сессий экзмемпляра, то в файле конфигурации init.ora необходимо выставить параметр sql_trace=true и перегрузить экземпляр. Выставлять отладку для всех сессий рекомендуется только в экстренных случаях, поскольку это создаст значительную нагрузку на сервер.

Кроме того, вы можете сделать трассировку любого серверного процесса, используя oradebug. Зная SID процесса можно получить его PID (Oracle Process Identifier) или его SPID (Operating System process identifier):

SELECT P.SPID, P.PID
  2  FROM V$PROCESS P, V$SESSION S
  3  WHERE P.ADDR = S.PADDR
  4        AND S.SID = SID;

Затем выполняем любую из команд, для указания процесса:

SVRMGR> ORADEBUG SETOSPID [SPID]

либо

SVRMGR> ORADEBUG SETORAPID [PID]

И включаем отладку командой:

SVRMGR> ORADEBUG EVENT 10046 trace name context forever, level уровень_отладки

Еще один вариант включения отладки, описан у Тома Кайта. Для включения отладки на уровне сессии используется logon-тригер. Этот вариант исключительно полезен, когда необходимо получить отладочную информацию о сессии, которая работает очень непродолжительное время (секунды).

CREATE OR REPLACE TRIGGER trace_login_trigger
  AFTER logon ON DATABASE
  BEGIN
    IF (USER = '') THEN
      EXECUTE IMMEDIATE 'ALTER SESSION SET EVENTS ''10046 trace name
      context forever, level ''';
    END IF;
  END;

По завершении сбора данных, триггер переводится в состояние 'DISABLE'. Для отключение триггера выполните команду SQL:

ALTER TRIGGER trace_login_trigger DISABLE;

Когда триггер снова потребуется собрать отладочную информацию, включаете триггер командой:

ALTER TRIGGER trace_login_trigger ENABLE;

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 13.05.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Personal Edition Named User Plus Software Update License & Support
Oracle Database Personal Edition Named User Plus License
Oracle Database Standard Edition 2 Named User Plus License
Oracle Database Standard Edition 2 Processor License
SmartBear AQtime Pro - Node-Locked License (Includes 1 Year Maintenance)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Один день системного администратора
Краткие описания программ и ссылки на них
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100