Oturum bazlı undo segment kullanımının tespiti

Oturum bazlı undo segment kullanımının tespiti

Veritabanındaki bir oturumda kullanılan undo segment bilgisine aşağıdaki sorgu ile ulaşabilirsiniz. Geçmişe yönelik bilgiler de alınabilir.

Sorgudaki koşullar değiştirilerek , bir kullanıcı için ya da aktif oturumlarda kullanılan undo segment bilgilerine ulaşılabilir.

 

  SELECT r.NAME "Undo Segment Name",
         dba_seg.size_mb,
         DECODE (TRUNC (SYSDATE - LOGON_TIME),
                 0, NULL,
                 TRUNC (SYSDATE - LOGON_TIME) || ' Days' || ' + ')
         || TO_CHAR (
               TO_DATE (TRUNC (MOD (SYSDATE - LOGON_TIME, 1) * 86400), 'SSSSS'),
               'HH24:MI:SS')
            LOGON,
         v$session.SID,
         v$session.SERIAL#,
         p.SPID,
         v$session.process,
         v$session.USERNAME,
         v$session.STATUS,
         v$session.OSUSER,
         v$session.MACHINE,
         v$session.PROGRAM,
         v$session.module,
         action
    FROM v$lock l,
         v$process p,
         v$rollname r,
         v$session,
         (  SELECT segment_name, ROUND (bytes / (1024 * 1024), 2) size_mb
              FROM dba_segments
             WHERE segment_type = 'TYPE2 UNDO'
          ORDER BY bytes DESC) dba_seg
   WHERE     l.SID = p.pid(+)
         AND v$session.SID = l.SID
         AND TRUNC (l.id1(+) / 65536) = r.usn
         AND l.TYPE(+) = 'TX'
         AND l.lmode(+) = 6
         AND r.NAME = dba_seg.segment_name
--AND v$session.username = 'ADURUOZ'
--AND status = 'ACTIVE'
ORDER BY size_mb DESC;

 

Aşağıdaki sorgu ile de özet bilgi edinilebilir.

  SELECT u.tablespace_name tablespace,
         s.username,
         u.status,
         SUM (u.bytes) / 1024 / 1024 sum_in_mb,
         COUNT (u.segment_name) seg_cnts
    FROM dba_undo_extents u
         LEFT JOIN v$transaction t
            ON u.segment_name = '_SYSSMU' || t.xidusn || '$'
         LEFT JOIN v$session s
            ON t.addr = s.taddr
GROUP BY u.tablespace_name, s.username, u.status
ORDER BY 1, 2, 3;

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir