读取oracle日志给出重复记录
Reading oracle logs giving duplicate records
enter code here
我在通过时间间隔读取 oracle 日志时遇到问题。
问题:
在 oracle 中,当通过某些外部应用程序插入数据时,如果我使用日志挖掘器读取 oracle 日志,它会给我重复的记录。
例如,假设有时间间隔 t1,t2,t3。
数据从 t1 插入到 t3。
同时,如果我使用 log miner 从 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
注意:数据一插入就被提交。
根据oracle文档,在logminr中,开始时间将使用大于或等于,结束时间将使用小于或等于。所以logmnr就是这样设计的
enter code here
我在通过时间间隔读取 oracle 日志时遇到问题。
问题: 在 oracle 中,当通过某些外部应用程序插入数据时,如果我使用日志挖掘器读取 oracle 日志,它会给我重复的记录。 例如,假设有时间间隔 t1,t2,t3。 数据从 t1 插入到 t3。 同时,如果我使用 log miner 从 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
注意:数据一插入就被提交。
根据oracle文档,在logminr中,开始时间将使用大于或等于,结束时间将使用小于或等于。所以logmnr就是这样设计的