Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 16 anos, 9 meses atrás por Avatar photoRegis Araujo.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #87525
    vjunior81
    Participante

      Existe alguma maneira, script, para verificar qual usuário está usando mais undo em um banco?

      #87526
      Avatar photoRegis Araujo
      Participante

        Fala amigo…

        Tenta este aqui…

        Criei ele ontem.. pois estava precisando…

        SELECT r.name "RB NAME", p.pid "ORACLE PID", p.spid "SYSTEM PID ",
        NVL (p.username, 'NO TRANSACTION') "OS USER", s.UserName, s.Status,
        S.MACHINE,D.SEGMENT_NAME, D.BYTES/1024/1024 "MB" , D.BLOCKS, D.EXTENTS,
        D.TABLESPACE_NAME
        FROM v$lock l,
        v$process p,
        v$rollname r,
        v$session s,
        dba_segments D
        WHERE l.sid = s.sid(+)
        AND s.paddr = p.addr
        AND TRUNC (l.id1(+)/65536) = r.usn
        AND l.type(+) = 'TX'
        AND l.lmode(+) = 6
        AND R.NAME = D.segment_name
        AND D.SEGMENT_TYPE in ('ROLLBACK','TYPE2 UNDO')
        ORDER BY r.NAME

        E este aqui ajuda tbm.. Vc verifica qual o tamanho dos dados EXPIRADOS e dos dados NÃO EXPIRADOS no UNDO…

        select 'EXPIRADO -> ' ||sum(bytes)/1024/1024 SITUACAO from dba_undo_extents
        where status = 'EXPIRED'
        UNION
        select 'NÃO EXPIRADO -> ' ||sum(bytes)/1024/1024 SITUACAO from dba_undo_extents
        where status = 'UNEXPIRED'

        Abraços…

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.