Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Где генерится анду?  [new]
dutsun undo
Guest
Какие сессии генерят анду мне понятно. А можно узнать для каких таблиц какой пользователь юзает анду?

Потому что разблюдовка тока по сессиям мне ниче не даёт. А если буду узнать еще и для каждой сессии какие таблица андушатся то будет шикарно!
4 июл 16, 16:52    [19367773]     Ответить | Цитировать Сообщить модератору
 Re: Где генерится анду?  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
dutsun undo,

Что для какой сессии генерится в undo - event 10221 - dump undo changes.
Кто и что читает из undo - event 10200 - trace consistent reads (если для построения согласованной версии надо залезть а анду - то это будет в трассе если не изменяет склероз).
4 июл 16, 17:16    [19367894]     Ответить | Цитировать Сообщить модератору
 Re: Где генерится анду?  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
dbms_photoshop

Что для какой сессии генерится в undo - event 10221 - dump undo changes.


не уверен, что автор имел ввиду это
4 июл 16, 18:02    [19368107]     Ответить | Цитировать Сообщить модератору
 Re: Где генерится анду?  [new]
dutsun undo
Guest
Jonhson,

Вот мой запрос для мониторинга какой юзер сколько заюзал undo.
Как мне увязать это с названиями таблиц???


with t as (
    select * from (
        select 
               sum(ss.value) / 1024 / 1024 as undo_size_mb,
               s.inst_ID,
               s.sid
        from  gv$sesstat ss
          join gv$session s on s.sid = ss.sid
          join gv$statname stat on stat.statistic# = ss.statistic#
        where stat.name = 'undo change vector size'
        and s.type <> 'BACKGROUND'
        and s.username IS NOT NULL
        group by s.inst_id,s.sid, s.username,s.client_info
    )
    where undo_size_mb>0
    order by undo_size_mb desc
)
select t.*,s.* 
from gv$session s 
join t on s.sid=t.sid and t.inst_id=s.inst_id
order by 1 desc
4 июл 16, 18:49    [19368325]     Ответить | Цитировать Сообщить модератору
 Re: Где генерится анду?  [new]
dutsun undo
Guest
Парни, ну кто подскажет как это найти?

P.S. Гуру, отвлекитесь от башорга/новостей/кофе/курилки скажите свое веское слово, что и как надо сделать. Я сам не разобрался.
6 июл 16, 09:06    [19373673]     Ответить | Цитировать Сообщить модератору
 Re: Где генерится анду?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18487
Сомневаюсь, что есть простые способы определить сколько андо относится к определенному сегменту, да еще и в разрезе сессий
6 июл 16, 09:22    [19373747]     Ответить | Цитировать Сообщить модератору
 Re: Где генерится анду?  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
dutsun undo,

Ты бы учился внятно выражаться без дебильных слов типа "разблюдовка" или "андушатся".

Можешь делать дамп сегментов анду из dba_undo_extents.
Косвенно можно узнать по ash (и p1/p2/p3 или xid) и получив соответствующий sql_id.
6 июл 16, 10:46    [19374083]     Ответить | Цитировать Сообщить модератору
 Re: Где генерится анду?  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
Может так пойдёт: https://github.com/xtender/xt_scripts/blob/master/undo_used.sql
6 июл 16, 11:08    [19374221]     Ответить | Цитировать Сообщить модератору
 Re: Где генерится анду?  [new]
или так
Guest
или так
SELECT s.username,
       s.sid,
       s.serial#,
       t.used_ublk,
       t.used_urec,
       rs.segment_name,
       r.rssize,
       r.status,
       s.SQL_ID,
       sq.SQL_TEXT
FROM   v$transaction t,
       v$session s,
       v$rollstat r,
       dba_rollback_segs rs,
       v$sql sq
WHERE  s.saddr = t.ses_addr
AND    t.xidusn = r.usn
AND   rs.segment_id = t.xidusn
and   sq.SQL_ID=s.SQL_ID(+)
ORDER BY t.used_ublk DESC
6 июл 16, 11:25    [19374336]     Ответить | Цитировать Сообщить модератору
 Re: Где генерится анду?  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
или так,

xidusn, xidslt, xidsqn по мере использования анду меняются хотя непонятно что надо ТС в текущий момент времени или в прошедший.
6 июл 16, 12:10    [19374615]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить