有时客户有查看某张表的修改记录的要求,有以下几种实现方式:
- logmnr归档挖掘,但这种方式只能分析指定归档内的,之前的记录无法获取;
- 开审计;
- 建触发器;
用logmnr进行日志挖掘的步骤:
1.配置归档,并设置ini参数RLOG_APPEND_LOGIC为1或2
2.创建系统包
SP_CREATE_SYSTEM_PACKAGES(1,’DBMS_LOGMNR’);
3.添加需要分析的归档文件(DBMS_LOGMNR.ADD_LOGFILE()只能单个添加,可以写脚本从V$ARCH_FILE中查询后批量添加)
DECLARE
BEGIN
FOR LOGPATH IN (SELECT PATH FROM V$ARCH_FILE) LOOP
DBMS_LOGMNR.ADD_LOGFILE(LOGPATH.PATH);
END LOOP;
END;
4.查看已经添加的logfile
SELECT * FROM V$LOGMNR_LOGS;
5.开始分析
DBMS_LOGMNR.START_LOGMNR(OPTIONS=>2130);
6.查看分析结果
SELECT * FROM V$LOGMNR_CONTENTS;
7.结束分析
DBMS_LOGMNR.END_LOGMNR();
8.删除系统包
SP_CREATE_SYSTEM_PACKAGES(0,’DBMS_LOGMNR’);
以上函数的详细用法可见系统包使用手册的DBMS_LOGMNR章节。