Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как включить трассировку на уже работающую сессию в OEBS?  [new]
Nick Chervov
Member

Откуда: Deranged City
Сообщений: 78
Добрый день!

Через формы видно запущенный конкарент, с идентификатором запроса 57988569. Работает уже дней пять. Задача состоят в том чтобы начать собирать по нему трейс с паузами и привязками (полный). По мануалам вижу только как включать сбор трейса для новых сессий, перед запуском, а вот как запустить для работающей сессии не могу понять, помогите пожалуйста!

P.S.: Заново запустить тот же конкарент с трейсом нельзя, это обязательное условие.
10 май 11, 11:44    [10628186]     Ответить | Цитировать Сообщить модератору
 Re: Как включить трассировку на уже работающую сессию в OEBS?  [new]
SysOper
Member

Откуда: M
Сообщений: 9760
Nick Chervov,

dbms_system.set_ev
10 май 11, 12:05    [10628314]     Ответить | Цитировать Сообщить модератору
 Re: Как включить трассировку на уже работающую сессию в OEBS?  [new]
Camper
Member

Откуда:
Сообщений: 174
Nick Chervov,

Выцепляешь sid,serial# сессии
select sid,serial#,request_id,module
from v$session s,apps.fnd_concurrent_requests r 
where s.AUDSID = r.ORACLE_SESSION_ID
and r.request_id = '57988569'
/

Врубаешь трасу
begin
dbms_system.set_ev(sid,serial#,10046,12,'');
end;
/
10 май 11, 12:10    [10628338]     Ответить | Цитировать Сообщить модератору
 Re: Как включить трассировку на уже работающую сессию в OEBS?  [new]
Nick Chervov
Member

Откуда: Deranged City
Сообщений: 78
Camper,

Отлично

SQL> begin
  2  dbms_system.set_ev(5244,21466,10046,12,'');
  3  end;
  4  /
 
PL/SQL procedure successfully completed

Трейс свалился в udump, только как я теперь пойму какой это трейс (там их тысячи, сортировка по времени изменения вряд ли поможет)?

+ вопрос: как только злополучный конкарент отработает - трейс отрубится насколько я понимаю. А не отвалится ли этот трейс по таймауту или например, превысив 10 Mb (параметер max_dump_file_size по умолчанию в системе)?
10 май 11, 12:23    [10628420]     Ответить | Цитировать Сообщить модератору
 Re: Как включить трассировку на уже работающую сессию в OEBS?  [new]
Oleg M.Ivanov
Member

Откуда: Москва
Сообщений: 1164
Nick Chervov
Camper,

Отлично

SQL> begin
  2  dbms_system.set_ev(5244,21466,10046,12,'');
  3  end;
  4  /
 
PL/SQL procedure successfully completed

Трейс свалился в udump, только как я теперь пойму какой это трейс (там их тысячи, сортировка по времени изменения вряд ли поможет)?

+ вопрос: как только злополучный конкарент отработает - трейс отрубится насколько я понимаю. А не отвалится ли этот трейс по таймауту или например, превысив 10 Mb (параметер max_dump_file_size по умолчанию в системе)?

Найти файл довольно легко. Во-первых, отсортируйте файлы по времени. Среди последних он и может оказаться.
Во-вторых можно найти по имени файла. Из этого селекта берете p.spid - это номер процесса в операционной системе
select s.OSUSER, s.SID, s.SERIAL#, s.AUDSID, s.PADDR, s.USERNAME, p.spid, p.pid FROM V$SESSION S, V$PROCESS p 
WHERE p.addr(+) = s.paddr and S.SERIAL#=5244;
Имя файла вычисляется так: $ORACLE_SID_ora_SPID.trc, где $ORACLE_SID - сид базы, а SPID число(номер процесса в ОС взятый из селекта), ну а размер не будет превышать max_dump_file_size.
10 май 11, 13:13    [10628740]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить