一、适用场景
用户可以使用DBMS_LOGMNR包对归档日志进行挖掘,重构出DDL和DML等操作,并通过获取的信息进行更深入的分析;同样,可以对归档日志文件进行恢复被误操作的数据,并进行故障跟踪,定位执行误操作的用户信息。目前DBMS_LOGMNR只支持归档日志进行分析,配置归档后,还需要将dm.ini中的RLOG_APPEND_LOGIC选项配置为1或2。
注:需要在产生归档日志的数据库上进行分析,利用备份文件还原的测试库上无法进行日志挖掘,因为当数据库经过备份还原并恢复后,DB_MAGIC就会发生改变,在还原库上进行日志分析时会报“[DBMS_LOGMNR.START_LOGMNR] 归档日志MAGIC错误”错误。
二、环境检查
2.1、检查是否创建了系统包
如未创建,可以执行如下命令:
SP_CREATE_SYSTEM_PACKAGES(1);
2.2、检查是否开启了归档和追加日志
select para_name,para_value from v$dm_ini where para_name in (‘ARCH_INI’,‘RLOG_APPEND_LOGIC’);
注:RLOG_APPEND_LOGIC需要设置为1或2, 1代表如果有主键列,记录 UPDATE和 DELETE 操作时只包含主键列信息, 若没有主键列则包含所有列信息; 2代表不论是否有主键列,记录 UPDATE 和 DELETE 操作时都包含所有列的信息。
如果未开启归档和追加日志,可以参照如下进行设置:
-1-修改 dm.ini 中的参数
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
注:静态参数,需要重启数据库