enter code here
通过时间间隔读取 oracle 日志时,我遇到了一个问题。
问题:在 oracle 中,当通过某些外部应用程序插入数据时,如果我使用 log miner 读取 oracle 日志,它会给我重复的记录。例如,假设是否存在时间间隔 t1,t2,t3。数据从 t1 插入到 t3。同时,如果我使用日志挖掘器从 t1 读取数据到 t2,然后从 t2 到 t3。然后有一些记录出现在两个间隔中。
一个观察:显示重复的记录位于第一个间隔的末尾和第二个间隔的开头。
我正在使用的查询:
begin dbms_logmnr.start_logmnr(STARTTIME => t1,ENDTIME =>t2,OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + DBMS_LOGMNR.CONTINUOUS_MINE + DBMS_LOGMNR.COMMITTED_DATA_ONLY);end;
select sql_redo from V$LOGMNR_CONTENTS WHERE OPERATION IN('INSERT','UPDATE','DELETE') and table_name = xyz
begin dbms_logmnr.start_logmnr(STARTTIME => t2,ENDTIME =>t3,OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + DBMS_LOGMNR.CONTINUOUS_MINE + DBMS_LOGMNR.COMMITTED_DATA_ONLY);end;
select sql_redo from V$LOGMNR_CONTENTS WHERE OPERATION IN('INSERT','UPDATE','DELETE') and table_name = xyz
我用来启动矿工的日期格式:DD-MON-YYYY HH24:MI:SS
注意:数据一插入就被提交。