Просмотр самых встречающихся объектов в архивных и оперативных логах

Опубликовано: Март 31, 2011, категория: администрирование.

Иногда надо просматривать что же такого много нагенерированного в логах.. вот написал тестовый скрипт.

На входе дата начала просмотра и дата окончания - на выходе самые частовстречающиеся объекты по 5 штук для каждой инструкции INSERT,DELTE,UPDATE

– Created on 24.03.2011 by TIGRANAV

declare

– Local variables here

i           integer;

l_starttime varchar2(100) := ‘28.03.2011 8:00:00′;

l_endtime   varchar2(100) := ‘28.03.2011 8:15:00′;

m           integer;

begin

– Test statements here

for i in (select name, first_time, completion_time

from v$archived_log

where first_time >

to_date(l_starttime, ‘DD.MM.YYYY HH24:MI:SS’)

and completion_time <

to_date(l_endtime, ‘DD.MM.YYYY HH24:MI:SS’)) loop

htp.p(i.name || ‘<br>’);

DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => i.name,

OPTIONS     => DBMS_LOGMNR.NEW);

DBMS_LOGMNR.START_LOGMNR(STARTTIME => i.first_time,

ENDTIME   => i.completion_time,

OPTIONS   => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);

for j in (select operation, count(*) as cn

from V$LOGMNR_CONTENTS

where operation in (’INSERT’, ‘UPDATE’, ‘DELETE’)

group by operation

order by count(*) desc) loop

htp.p(j.operation || ‘ - ‘ || j.cn || ‘<br>’);

m := 0;

for k in (select SEG_OWNER || ‘.’ || SEG_NAME as obj, count(*) as cn

from V$LOGMNR_CONTENTS

where operation = j.operation

group by SEG_OWNER || ‘.’ || SEG_NAME

order by count(*) desc) loop

if (m < 5) then

htp.p(’   ‘ || k.obj || ‘ -> ‘ || k.cn || ‘<br>’);

end if;

m := m + 1;

end loop;

end loop;

end loop;

end;

Один комментарий на "Просмотр самых встречающихся объектов в архивных и оперативных логах"

gravatar

carl  on Октябрь 7, 2011

“http://en.patriot-cccp.ru/index.php?option=com_content&view=article&id=7866&lol=guard@kskzs1.act”>.…

tnx :?…

Оставить комментарий