如何查询表删除的时间?

[复制链接]
查看11 | 回复9 | 2012-7-12 18:47:29 | 显示全部楼层 |阅读模式
如何在oracle中查询到一个普通用户删除表的准确时间?
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
1、LOGMNR
2、做个系统触发器,把该删除动作记录下来。
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
LOGMNR
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
捕获某表dml操作触发器:
CREATE OR REPLACE TRIGGER tr_capt_sql
BEFORE DELETE OR INSERT OR UPDATE
ON 表名
DECLARE
sql_text ora_name_list_t;
state_sql capt$sql.sql_text%TYPE;
BEGIN
FOR i IN 1..ora_sql_txt(sql_text) LOOP
state_sql := state_sql || sql_text(i);
END LOOP;
INSERT INTO capt$sql(login_user,capt_time,ip_address,audsid,owner,table_name,sql_text)
VALUES(ora_login_user,sysdate,sys_context('USERENV','IP_ADDRESS'),
userenv('SESSIONID'),'MANAGER','TEST',state_sql);
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Capture DML Exception:'||SQLERRM);
END tr_capt_sql;
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
谢谢 了,研究一下logmnr,要做触发器应该做数据库的触发器而不是表的触发器吧?
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
是写数据库的触发器,但触发器是由表对象删除触发.
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
FLAG
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
添加审计阿
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
最初由 lfree 发布
[B]LOGMNR [/B]

怎么用啊?
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
drop table操作记录在archivelog中吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行