привет всем.
обсуджают логи данных рядом, и у меня, как на заказ, ситуация интересная.
вводная: 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 вообще — есть. и данный юзер — есть. потрясен...
идеи, обьяснения, мысли где рыть — будут? заранее спасибо.
не критично, чисто спортивный интерес.
во