其中大部分影响较大的是DDL,11.2 设置ENABLE_DDL_LOGGING为true后,alert中会记录DDL操作的语句,但是没有详细信息:
alter system set enable_ddl_logging = TRUE sid='*' scope=spfile;
12C中的开启ENABLE_DDL_LOGGING后,会专门有一个日志文件记录详细的信息。
$ORACLE_BASE/diag/rdbms/dbname/log ddl
另外可以通过v$active_session_history、dba_hist_active_sess_history历史视图中的SQL_OPCODE字段定位:
SQL_OPCODE 12 为DROP TABLE 10为 DROP INDEX、85为TRUNCATE TABLE、86为TRUNCATE CLUSTER
关于SQL_OPCODE详细参考官方文档:
http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2088.htm#i1414383
下面是一个业务时间业务人员误删索引跟踪的案例:
drop index的sql_opcode为10,首先查看v$active_session_history视图
select USER_ID, SQL_OPCODE, XID, SAMPLE_TIME,MODULE,MACHINE
from v$active_session_history
where SQL_OPCODE=10
no rows selected
from v$active_session_history
where SQL_OPCODE=10
no rows selected
查看dba_hist_active_sess_history视图:
col SAMPLE_TIME for a30
col MODULE for a20
col MACHINE for a20
select USER_ID, SQL_OPCODE, XID, SAMPLE_TIME,MODULE,MACHINE from dba_hist_active_sess_history where SQL_OPCODE=10
USER_ID SQL_OPCODE XID SAMPLE_TIME MODULE MACHINE
---------- ---------- ---------------- ------------------------------ -------------------- --------------------
38 10 19-MAR-14 10.08.35.429 AM PL/SQL Developer WORKGROUP\??-???
38 10 19-MAR-14 10.08.25.354 AM PL/SQL Developer WORKGROUP\??-???
SQL> select username from dba_users where user_id=38;
USERNAME
------------------------------
ADMIN
col MODULE for a20
col MACHINE for a20
select USER_ID, SQL_OPCODE, XID, SAMPLE_TIME,MODULE,MACHINE from dba_hist_active_sess_history where SQL_OPCODE=10
USER_ID SQL_OPCODE XID SAMPLE_TIME MODULE MACHINE
---------- ---------- ---------------- ------------------------------ -------------------- --------------------
38 10 19-MAR-14 10.08.35.429 AM PL/SQL Developer WORKGROUP\??-???
38 10 19-MAR-14 10.08.25.354 AM PL/SQL Developer WORKGROUP\??-???
SQL> select username from dba_users where user_id=38;
USERNAME
------------------------------
ADMIN
查看到10点钟ADMIN用户通过PL/SQL Developer连接到数据库做了drop index的操作。
如果涉及的时间较久,可能需要使用logmnr。
http://www.orasql.com/blog/archives/2014/09/05/tracking_drop_op.htm