oracle микро-аудит
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 09.06.09 08:58
Оценка:
привет всем.

обсуджают логи данных рядом, и у меня, как на заказ, ситуация интересная.

вводная: Oracle Database 10g Enterprise Edition Release 10.1.0.4.0
утром пришел вопрос, что в базе создана одна таблица новая, хотя должны быть 4.
ну перетерли, и там пошли 3 досоздавать, но у меня остался осадочек.

пошел, глянул на таблицу:
select object_name, created, last_ddl_time
from user_OBJECTS
where object_name = 'JMGR_JOB';

OBJECT_NAME  CREATED    LAST_DDL_TIME             
---------------------
JMGR_JOB     09:09:28   2009-06-05 09:09:28       

1 rows selected


идея была в том, что через dba_hist_sql_plan связать с сессией, и посмотреть с какой машины был выполнен CREATE TABLE.

вот запрос по awr без сессии (если кому интересно будет)
select *
from (
    select sp.*, dbms_lob.substr(t.sql_text,50,1) sqltext
    from dba_hist_snapshot sn,
    dba_hist_sqlstat st,
    dba_hist_sql_plan sp,
    dba_hist_sqltext t
    where 1=1
--    and to_date('2009-06-05 09:09:28', 'YYYY-MM-DD hh24:mi:ss')
--        between sn.begin_interval_time and sn.end_interval_time
    and sn.snap_id = st.snap_id
    and sn.dbid = st.dbid
    and sn.instance_number = st.instance_number
    and st.sql_id = sp.sql_id
    and sp.sql_id = t.sql_id
--    and sp.object_owner = 'ADMIN'
--    and sp.operation = 'CREATE TABLE STATEMENT'
    and upper(sp.object_name) like '%JMGR_JOB%'
)
--where upper(sqltext) like '%CREATE %'
;

там по комментам видно, что я пытался фильтровать сначала, потом все смотрел.
данные в снапшотах — за последнюю неделю честно, и данный период точно есть.
так вот. такой команды в awr нет. хотя DLL вообще — есть. и данный юзер — есть. потрясен...

идеи, обьяснения, мысли где рыть — будут? заранее спасибо.
не критично, чисто спортивный интерес. во
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.