为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:
logmier启动归档日志文件分析后时间显示1900年,不正常吧?
used time: 1.712(ms). Execute id is 1098.
SQL> SELECT LOW_SCN, NEXT_SCN, LOW_TIME, HIGH_TIME, LOG_ID, FILENAME FROM V$LOGMNR_LOGS;
LINEID LOW_SCN NEXT_SCN LOW_TIME HIGH_TIME LOG_ID FILENAME
---------- -------------------- -------------------- -------------------------- -------------------------- ----------- -------------------------------------------------------------------
1 41438 42312 1900-01-01 00:00:00.000000 1900-01-01 00:00:00.000000 0 /dmdb8/dmarch/ARCHIVE_LOCAL1_0x482D9BC8_EP0_2023-11-23_15-57-36.log
2 42313 42472 1900-01-01 00:00:00.000000 1900-01-01 00:00:00.000000 1 /dmdb8/dmarch/ARCHIVE_LOCAL1_0x482D9BC8_EP0_2023-11-24_09-23-03.log
这个是因为在旧版本事件触发:EVENTINFO.OPTIME获取值不对,可以验证测试
1.新建ddl信息表:
CREATE TABLE SYSDBA.K0 (C1 VARCHAR(20), C2 VARCHAR(20), C3 VARCHAR(50));
2.新建ddl触发器:
CREATE OR REPLACE TRIGGER SYSDBA.TRI_DDL
BEFORE CREATE OR DROP ON DATABASE
DECLARE
BEGIN
INSERT INTO SYSDBA.K0 VALUES(:EVENTINFO.SCHEMANAME, :EVENTINFO.OBJECTNAME, :EVENTINFO.OPTIME);
END;
3.新建测试表:
CREATE TABLE SYSDBA.TEST (C1 VARCHAR(20));
4.查新触发器生成信息:
SELECT * FROM SYSDBA.K0
解决办法是升级数据库版本到V8.1.2.107及以后版本完成解决。