How to re-snapshot when get error missing log file

94 views
Skip to first unread message

Oanh Nguyễn

unread,
Jul 3, 2024, 4:20:32 AM7/3/24
to debezium
Hi debezium team,

According to my research, the way to fix the missing log file error is to create a new snapshot. However, using ad-hoc has not worked for me. Please provide me with detailed instructions on how to re-snapshot.

Currently, I am using the initial mode configuration with Debezium 2.6. 

The error log is attached below:  
 [2024-07-03 06:39:06,031] ERROR Failed to start a LogMiner mining session with parameters:  (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:06,031] ERROR SCN: [10840020378695-10840020578695], Required Start SCN: 0, Options: 2088, Status: 0 - N/A (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:06,031] WARN Failed to start Oracle LogMiner session, retrying... (io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource)
 [2024-07-03 06:39:06,869] ERROR Failed to start a LogMiner mining session with parameters:  (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:06,869] ERROR SCN: [10840020378695-10840020588695], Required Start SCN: 0, Options: 2088, Status: 0 - N/A (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:06,869] WARN Failed to start Oracle LogMiner session, retrying... (io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource)
 [2024-07-03 06:39:07,566] ERROR Failed to start a LogMiner mining session with parameters:  (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:07,566] ERROR SCN: [10840020378695-10840020598695], Required Start SCN: 0, Options: 2088, Status: 0 - N/A (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:07,566] WARN Failed to start Oracle LogMiner session, retrying... (io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource)
 [2024-07-03 06:39:08,004] ERROR Failed to start a LogMiner mining session with parameters:  (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:08,005] ERROR SCN: [10840020378695-10840020608695], Required Start SCN: 0, Options: 2088, Status: 0 - N/A (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
[2024-07-03 06:39:08,005] WARN Failed to start Oracle LogMiner session, retrying... (io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource)
 [2024-07-03 06:39:08,238] ERROR Failed to start a LogMiner mining session with parameters:  (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:08,238] ERROR SCN: [10840020378695-10840020618695], Required Start SCN: 0, Options: 2088, Status: 0 - N/A (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:08,238] WARN Failed to start Oracle LogMiner session, retrying... (io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource)
 [2024-07-03 06:39:08,271] ERROR Failed to start a LogMiner mining session with parameters:  (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:08,271] ERROR SCN: [10840020378695-10840020628695], Required Start SCN: 0, Options: 2088, Status: 0 - N/A (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:08,271] ERROR Failed to start Oracle LogMiner after '5' attempts. (io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource)
 java.sql.SQLException: ORA-01291: missing log file
 ORA-06512: at "SYS.DBMS_LOGMNR", line 72
 ORA-06512: at line 1
 
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:630)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:564)
  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1151)
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:771)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:299)
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:498)
  at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:112)
  at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1011)
  at oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:1531)
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1311)
  at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:2163)
  at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:2118)
  at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:328)
  at io.debezium.jdbc.JdbcConnection.executeWithoutCommitting(JdbcConnection.java:1476)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.startMiningSession(LogMinerStreamingChangeEventSource.java:617)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:241)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:61)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:312)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:203)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143)
  at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: Error : 1291, Position : 0, Sql = BEGIN sys.dbms_logmnr.start_logmnr(startScn => '10840020378695', endScn => '10840020628694', OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS + DBMS_LOGMNR.DDL_DICT_TRACKING  + DBMS_LOGMNR.NO_ROWID_IN_STMT);END;, OriginalSql = BEGIN sys.dbms_logmnr.start_logmnr(startScn => '10840020378695', endScn => '10840020628694', OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS + DBMS_LOGMNR.DDL_DICT_TRACKING  + DBMS_LOGMNR.NO_ROWID_IN_STMT);END;, Error Msg = ORA-01291: missing log file
 ORA-06512: at "SYS.DBMS_LOGMNR", line 72
ORA-06512: at line 1
 
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:637)
  ... 24 more
 [2024-07-03 06:39:08,285] ERROR No logs were found with a status code of 4. (io.debezium.connector.oracle.logminer.LogMinerDatabaseStateWriter)
 [2024-07-03 06:39:08,285] ERROR Got exception when starting mining session. (io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource)
 java.sql.SQLException: ORA-01291: missing log file
 ORA-06512: at "SYS.DBMS_LOGMNR", line 72
 ORA-06512: at line 1
 
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:630)
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:564)
  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1151)
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:771)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:299)
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:498)
  at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:112)
  at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1011)
at oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:1531)
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1311)
  at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:2163)
  at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:2118)
  at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:328)
  at io.debezium.jdbc.JdbcConnection.executeWithoutCommitting(JdbcConnection.java:1476)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.startMiningSession(LogMinerStreamingChangeEventSource.java:617)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:241)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:61)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:312)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:203)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143)
  at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  at java.base/java.lang.Thread.run(Thread.java:834)
 Caused by: Error : 1291, Position : 0, Sql = BEGIN sys.dbms_logmnr.start_logmnr(startScn => '10840020378695', endScn => '10840020628694', OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS + DBMS_LOGMNR.DDL_DICT_TRACKING  + DBMS_LOGMNR.NO_ROWID_IN_STMT);END;, OriginalSql = BEGIN sys.dbms_logmnr.start_logmnr(startScn => '10840020378695', endScn => '10840020628694', OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS + DBMS_LOGMNR.DDL_DICT_TRACKING  + DBMS_LOGMNR.NO_ROWID_IN_STMT);END;, Error Msg = ORA-01291: missing log file
 ORA-06512: at "SYS.DBMS_LOGMNR", line 72
 ORA-06512: at line 1
 
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:637)
  ... 24 more
 [2024-07-03 06:39:08,285] ERROR Mining session stopped due to error. (io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource)
 java.sql.SQLException: ORA-01291: missing log file
 ORA-06512: at "SYS.DBMS_LOGMNR", line 72
 ORA-06512: at line 1
 
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:630)
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:564)
  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1151)
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:771)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:299)
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:498)
  at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:112)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1011)
  at oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:1531)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1311)
  at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:2163)
  at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:2118)
  at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:328)
  at io.debezium.jdbc.JdbcConnection.executeWithoutCommitting(JdbcConnection.java:1476)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.startMiningSession(LogMinerStreamingChangeEventSource.java:617)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:241)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:61)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:312)
at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:203)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143)
  at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  at java.base/java.lang.Thread.run(Thread.java:834)
 Caused by: Error : 1291, Position : 0, Sql = BEGIN sys.dbms_logmnr.start_logmnr(startScn => '10840020378695', endScn => '10840020628694', OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS + DBMS_LOGMNR.DDL_DICT_TRACKING  + DBMS_LOGMNR.NO_ROWID_IN_STMT);END;, OriginalSql = BEGIN sys.dbms_logmnr.start_logmnr(startScn => '10840020378695', endScn => '10840020628694', OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS + DBMS_LOGMNR.DDL_DICT_TRACKING  + DBMS_LOGMNR.NO_ROWID_IN_STMT);END;, Error Msg = ORA-01291: missing log file
 ORA-06512: at "SYS.DBMS_LOGMNR", line 72
 ORA-06512: at line 1
 
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:637)
  ... 24 more
 [2024-07-03 06:39:08,285] ERROR Producer failure (io.debezium.pipeline.ErrorHandler)
 java.sql.SQLException: ORA-01291: missing log file
 ORA-06512: at "SYS.DBMS_LOGMNR", line 72
 ORA-06512: at line 1
 
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:630)
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:564)
  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1151)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:771)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:299)
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:498)
  at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:112)
  at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1011)
  at oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:1531)
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1311)
  at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:2163)
  at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:2118)
  at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:328)
  at io.debezium.jdbc.JdbcConnection.executeWithoutCommitting(JdbcConnection.java:1476)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.startMiningSession(LogMinerStreamingChangeEventSource.java:617)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:241)
  at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:61)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:312)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:203)
  at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143)
  at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  at java.base/java.lang.Thread.run(Thread.java:834)
 Caused by: Error : 1291, Position : 0, Sql = BEGIN sys.dbms_logmnr.start_logmnr(startScn => '10840020378695', endScn => '10840020628694', OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS + DBMS_LOGMNR.DDL_DICT_TRACKING  + DBMS_LOGMNR.NO_ROWID_IN_STMT);END;, OriginalSql = BEGIN sys.dbms_logmnr.start_logmnr(startScn => '10840020378695', endScn => '10840020628694', OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS + DBMS_LOGMNR.DDL_DICT_TRACKING  + DBMS_LOGMNR.NO_ROWID_IN_STMT);END;, Error Msg = ORA-01291: missing log file
ORA-06512: at "SYS.DBMS_LOGMNR", line 72
 ORA-06512: at line 1
 
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:637)
  ... 24 more
 [2024-07-03 06:39:08,285] WARN Retry 19 of unlimited retries will be attempted (io.debezium.pipeline.ErrorHandler)

Chris Cranford

unread,
Jul 3, 2024, 7:59:45 AM7/3/24
to debe...@googlegroups.com
Hi -

In this case you would need to delete the offsets & the schema history before restarting the connector.  In this case, the connector will then perform the initial snapshot.  But ideally, we should understand why you get ORA-01291 in the first place as this is not normal behavior and typically indicative of a very strict and limited archive log retention policy that should likely be adjusted.

If you're on Debezium 2.6, could you please enable DEBUG logging and when you get ORA-01291 error again, can you please share the full logs.  This will have information about the Retroreflector step and why the step is failing to locate logs. 

Thanks,
Chris

--
You received this message because you are subscribed to the Google Groups "debezium" group.
To unsubscribe from this group and stop receiving emails from it, send an email to debezium+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/debezium/effcec1d-0ba7-4358-afaa-6e52994a2225n%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages