START cdc ERROR

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

START cdc ERROR

Roshan
Hi Erman,

we are currently testing Oracle CDC on a tool called Streamsets. Below is error generated in log file:

2020-09-30 13:26:28,317 OracleCDC_DWAREINIT2/OracleCDC85d1106b-977a-4042-baeb-5740ddc7afa4 ERROR Could not add redo log file to LogMiner: dwaredr, seq: 2/48871, start: 296680559164 (2020-09-30T13:19:02), end: 296681215962 (2020-09-30T13:26:17), dictionary: no LogMinerSession *roshanb ProductionPipelineRunnable-OracleCDC85d1106b-977a-4042-baeb-5740ddc7afa4-OracleCDC_DWAREINIT2
java.sql.SQLException: ORA-01284: file dwaredr cannot be opened
ORA-00308: cannot open archived log 'dwaredr'
ORA-27037: unable to obtain file status
SVR4 Error: 2: No such file or directory
Additional information: 3
ORA-06512: at "SYS.DBMS_LOGMNR", line 68
ORA-06512: at line 1

        at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509)
        at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461)
        at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104)
        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550)
        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268)
        at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655)
        at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:265)
        at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:86)
        at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:965)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1205)
        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3666)
        at oracle.jdbc.driver.T4CCallableStatement.executeInternal(T4CCallableStatement.java:1358)
        at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3778)
        at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4251)
        at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1081)
        at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
        at com.zaxxer.hikari.pool.HikariProxyCallableStatement.execute(HikariProxyCallableStatement.java)
        at com.streamsets.pipeline.stage.origin.jdbc.cdc.oracle.LogMinerSession.getLocalDateTimeForSCN(LogMinerSession.java:720)
        at com.streamsets.pipeline.stage.origin.jdbc.cdc.oracle.OracleCDCSource.startGeneratorThread(OracleCDCSource.java:437)
        at com.streamsets.pipeline.stage.origin.jdbc.cdc.oracle.OracleCDCSource.produce(OracleCDCSource.java:320)
        at com.streamsets.pipeline.api.base.configurablestage.DSource.produce(DSource.java:38)
        at com.streamsets.datacollector.runner.StageRuntime.lambda$execute$2(StageRuntime.java:296)
        at com.streamsets.pipeline.api.impl.CreateByRef.call(CreateByRef.java:40)
        at com.streamsets.datacollector.runner.StageRuntime.execute(StageRuntime.java:244)
        at com.streamsets.datacollector.runner.StageRuntime.execute(StageRuntime.java:311)
        at com.streamsets.datacollector.runner.StagePipe.process(StagePipe.java:221)
        at com.streamsets.datacollector.execution.runner.common.ProductionPipelineRunner.processPipe(ProductionPipelineRunner.java:864)
        at com.streamsets.datacollector.execution.runner.common.ProductionPipelineRunner.runPollSource(ProductionPipelineRunner.java:594)
        at com.streamsets.datacollector.execution.runner.common.ProductionPipelineRunner.run(ProductionPipelineRunner.java:400)
        at com.streamsets.datacollector.runner.Pipeline.run(Pipeline.java:528)
        at com.streamsets.datacollector.execution.runner.common.ProductionPipeline.run(ProductionPipeline.java:112)
        at com.streamsets.datacollector.execution.runner.common.ProductionPipelineRunnable.run(ProductionPipelineRunnable.java:75)
        at com.streamsets.datacollector.execution.runner.standalone.StandaloneRunner.startInternal(StandaloneRunner.java:761)
        at com.streamsets.datacollector.execution.runner.standalone.StandaloneRunner.start(StandaloneRunner.java:754)
        at com.streamsets.datacollector.execution.runner.common.AsyncRunner.lambda$start$3(AsyncRunner.java:151)
        at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCal

The logfile is present on the source. Why is it generating this error?

I also noticed during peak time, the replication is very slow. Why?

Capture.PNG
Thanks,

Roshan
Reply | Threaded
Open this post in threaded view
|

Re: START cdc ERROR

ErmanArslansOracleBlog
Administrator
It tries to open and read an archivelog named dwaredr.
That name dwaredr is weird. It shouldn't be an archivelog/redolog name. I think your app tries to find archivelog with wrong naming.. Probably you have a misconfigured env. Check your app and configure it accordingly.
It uses DBMS_LOGMNR internally. Yes, it should, but probably it supplies wrong archivedlog names to DBMS_LOGMNR..

ORA-01284: file dwaredr cannot be opened
ORA-00308: cannot open archived log 'dwaredr'