Solved

Oracle CDC Can't Running - Missing redo log files for time range

  • 28 April 2022
  • 4 replies
  • 363 views

Issue:
Oracle CDC Origin status can’t running because it got error message Missing redo log files for time range.

But when I checked the log at TRACE level, it got the redo log files:

TRACE LogMinerSession - Find logs (2022-04-28T04:58:59, 2022-04-28T04:58:59): +FRA_DG/ONLINELOG/group_1.18814.1103108341, seq: 1/46137, start: 11638474806971 (2022-04-28T02:02:25), end: 11638474807092 (2022-04-28T02:02:28), status: INACTIVE, online: true, archived: true, dictionary: no, discarded
TRACE LogMinerSession - Find logs (2022-04-28T04:58:59, 2022-04-28T04:58:59): +FRA_DG/ONLINELOG/group_2.16414.1103109069, seq: 1/46138, start: 11638474807092 (2022-04-28T02:02:28), end: 11638475179615 (2022-04-27T21:58:59.367866), status: CURRENT, online: true, archived: false, dictionary: no, discarded
TRACE LogMinerSession - Find logs (2022-04-28T04:58:59, 2022-04-28T04:58:59): +FRA_DG/ONLINELOG/group_3.16418.1103108361, seq: 1/46135, start: 11638436593218 (2022-04-27T16:55:48), end: 11638437222272 (2022-04-27T20:09:40), status: INACTIVE, online: true, archived: true, dictionary: no, discarded
TRACE LogMinerSession - Find logs (2022-04-28T04:58:59, 2022-04-28T04:58:59): +FRA_DG/ONLINELOG/group_4.18112.1103108613, seq: 1/46136, start: 11638437222272 (2022-04-27T20:09:40), end: 11638474806971 (2022-04-28T02:02:25), status: INACTIVE, online: true, archived: true, dictionary: no, discarded
TRACE LogMinerSession - Find logs (2022-04-28T04:58:59, 2022-04-28T04:58:59): +FRA_DG/ONLINELOG/group_5.18340.1103108983, seq: 2/14920, start: 11638474807123 (2022-04-28T02:02:30), end: 11638475179615 (2022-04-27T21:58:59.367866), status: CURRENT, online: true, archived: false, dictionary: no, discarded
TRACE LogMinerSession - Find logs (2022-04-28T04:58:59, 2022-04-28T04:58:59): +FRA_DG/ONLINELOG/group_6.18926.1103108883, seq: 2/14917, start: 11638415528265 (2022-04-27T13:39:13), end: 11638415528594 (2022-04-27T13:39:16), status: INACTIVE, online: true, archived: true, dictionary: no, discarded
TRACE LogMinerSession - Find logs (2022-04-28T04:58:59, 2022-04-28T04:58:59): +FRA_DG/ONLINELOG/group_7.18080.1103109023, seq: 2/14918, start: 11638415528594 (2022-04-27T13:39:16), end: 11638474806983 (2022-04-28T02:02:27), status: INACTIVE, online: true, archived: true, dictionary: no, discarded
TRACE LogMinerSession - Find logs (2022-04-28T04:58:59, 2022-04-28T04:58:59): +FRA_DG/ONLINELOG/group_8.18072.1103109189, seq: 2/14919, start: 11638474806983 (2022-04-28T02:02:27), end: 11638474807123 (2022-04-28T02:02:30), status: INACTIVE, online: true, archived: true, dictionary: no, discarded
WARN LogMinerSession - Update log list (2022-04-28T04:58:59, 2022-04-28T04:58:59): logs found: []
ERROR OracleCDCSource - Error while trying to setup record generator thread
com.streamsets.pipeline.api.StageException: JDBC_600 - Missing redo log files for time range (2022-04-28T04:58:59, 2022-04-28T04:58:59)
at com.streamsets.pipeline.stage.origin.jdbc.cdc.oracle.LogMinerSession.updateLogList(LogMinerSession.java:863)
at com.streamsets.pipeline.stage.origin.jdbc.cdc.oracle.LogMinerSession.start(LogMinerSession.java:467)

I already read these topics: Missing LogMiner files - what's happening? and ORA-00942 While running Oracle CDC on 19c Databases also follow up the latest documentation. But still no luck.

 

I also have other Oracle CDC Origin Pipelines to other version of oracle databases (11g & 12c) that still works fine.
 

Data Collector Engine Version:
Streamsets Data Collector 4.0.0 

Oracle Database Version:
Oracle Database 19c Enterprise Edition Release - Version 19.14.0.0.0

Pipeline Configuration:

Oracle CDC Origin Configuration

 

 

icon

Best answer by Dimas Cabré i Chacón 28 April 2022, 10:51

View original

4 replies

Userlevel 2
Badge

Hi @sevtiandy . In the redologs listing you are showing, there is an odd detail that explains your problem. Both your CURRENT online redo logs have ending date before start date.

  • +FRA_DG/ONLINELOG/group_2.16414.1103109069 starts at 2022-04-28T02:02:28 and ends at 2022-04-27T21:58:59.367866
  • +FRA_DG/ONLINELOG/group_5.18340.1103108983 starts at 2022-04-28T02:02:30 and ends at 2022-04-27T21:58:59.367866

This is clearly an inconsistency that prevents our connector to pick the necessary logs to mine. If we assume your database is healthy in this sense(you can verify this running query select * from gv$log), the only reasonable explanation is that the configuration setting DB Time Zone is not correctly set as the actual time zone in your database. Can you please check this and see if the issue comes from this? 

Hi @Dimas Cabré i Chacón 
Apparently the DB Time Zone in my configuration was incorrect. My server that running Streamsets has different timezone  with the database (GMT+0) and I was set DB Time Zone on my pipeline as Same as Data collector (GMT+7). 

After I change DB Time Zone to GMT+0, it worked.

But it seems a bit odd because the other pipelines that have DB Time Zone as GMT+7, still running although the target database timezone is GMT+0. Should I correct the DB Time Zone on those pipeline too?

Thank you.

Userlevel 2
Badge

Hi @sevtiandy . For sure! Having the same time zone in pipeline and database is essential. Otherwise, results are unpredictable. 

Hi @sevtiandy . For sure! Having the same time zone in pipeline and database is essential. Otherwise, results are unpredictable. 

Alright I will correcting the other pipeline also. Thank you very much for you assistance.

Reply