用logmnr进行日志挖掘的步骤:
-
配置归档,并设置ini参数RLOG_APPEND_LOGIC为1或2
-
创建系统包
SP_CREATE_SYSTEM_PACKAGES(1,’DBMS_LOGMNR’);
- 添加需要分析的归档文件(DBMS_LOGMNR.ADD_LOGFILE()只能单个添加,可以写脚本从V A R C H F I L E 或 V ARCH_FILE或V ARCHFILE或VARCHIVED_LOG中查询后批量添加)
DECLARE
–SQL VARCHAR;
BEGIN
FOR LOGPATH IN (SELECT PATH FROM V$ARCH_FILE) LOOP
–SQL = ‘DBMS_LOGMNR.ADD_LOGFILE(‘’‘||LOGPATH.PATH||’’’)’;
–PRINT SQL;
–EXECUTE IMMEDIATE SQL;
DBMS_LOGMNR.ADD_LOGFILE(LOGPATH.PATH);
END LOOP;
END;
- 查看已经添加的logfile
SELECT * FROM V$LOGMNR_LOGS;
- 开始分析
DBMS_LOGMNR.START_LOGMNR(OPTIONS=>2130);
- 查看分析结果
SELECT * FROM V$LOGMNR_CONTENTS;
- 结束分析
DBMS_LOGMNR.END_LOGMNR();
- 删除系统包
SP_CREATE_SYSTEM_PACKAGES(0,’DBMS_LOGMNR’);
以上函数的详细用法可见系统包使用手册的DBMS_LOGMNR章节。