.build( DICTIONARY_FILENAME=>'dictionary.ora',
DICTIONARY_LOCATION=>'MY_DICTIONARY_DIR', options =>
dbms_logmnr_d.store_in_flat_file);
将归档文件和数据字典 scp 到测试库上/home/oracle 目录下
测试库上:
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME =>
'/home/oracle/1_42_1088407163.dbf', OPTIONS => DBMS_LOGMNR.NEW);
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME =>
'/home/oracle/1_43_1088407163.dbf', OPTIONS => DBMS_LOGMNR.ADDFILE);
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME =>
'/home/oracle/2_35_1088407163.dbf', OPTIONS => DBMS_LOGMNR.ADDFILE);
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME =>
'/home/oracle/2_36_1088407163.dbf', OPTIONS => DBMS_LOGMNR.ADDFILE);
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-mm-dd HH24:MI:SS';
EXECUTE DBMS_LOGMNR.START_LOGMNR( -
DICTFILENAME => '/home/oracle/dictionary.ora', -
STARTTIME => '2021-11-24 00:59:53', -
ENDTIME => '2021-11-24 06:59:53');
-- create table logminer1 tablespace users as
SELECT username AS USR, (XIDUSN || '.' || XIDSLT || '.' || XIDSQN) AS XID,
SQL_REDO, SQL_UNDO FROM V$LOGMNR_CONTENTS where SEG_OWNER='A';
EXECUTE DBMS_LOGMNR.end_logmnr;
如果需要的话可以将日志挖掘的结果放到一个表中,以便后期分析。
经初步测试,不开启最小附加日志,有可能无法挖掘出来。
所以,检查一下所有生产库:
SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
如果为 NO
赶紧 ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;




