SOA 11g - ORA-01878 When Starting Mediator (Doc ID 1447231.1)

Last updated on OCTOBER 18, 2016

Applies to:

Oracle SOA Suite - Version 11.1.1.4.0 and later
Information in this document applies to any platform.
***Checked for relevance on 11-September-2013***

Symptoms

Mediator stops working.
The following error is reported in the wls_soa1.out log file.


[TopLink Warning]: 2012.04.04 22:14:51.949--UnitOfWork(28246585)--Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.4.0) (Build 101210)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLDataException: ORA-01878: specified field not found in datetime or interval

Error Code: 1878
Call: SELECT CONTAINER_ID, RENEWAL_TIME FROM MEDIATOR_CONTAINERID_LEASE WHERE (RENEWAL_TIME +300000/86400000)< systimestamp FOR UPDATE NOWAIT
Query: ReadAllQuery(oracle.tip.mediator.common.persistence.MediatorContainerIdLease)
<04-Apr-2012 22:14:51 o'clock BST> <Error> <oracle.soa.mediator.dispatch.db> <BEA-000000> <DBContainerIdManager:run() failed with error.Rolling back the txn
Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.4.0) (Build 101210)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLDataException: ORA-01878: specified field not found in datetime or interval

Error Code: 1878
Call: SELECT CONTAINER_ID, RENEWAL_TIME FROM MEDIATOR_CONTAINERID_LEASE WHERE (RENEWAL_TIME +300000/86400000)< systimestamp FOR UPDATE NOWAIT
Query: ReadAllQuery(oracle.tip.mediator.common.persistence.MediatorContainerIdLease)
at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:305)
at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:614)
at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:468)
at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:447)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:179)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:250)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:583)
at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:467)
at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:679)
at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:445)
at oracle.toplink.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:899)
at oracle.toplink.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2807)
at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1079)
at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1063)
at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1022)
at oracle.tip.mediator.dispatch.db.ContainerIdDBAccess.lockExpiredContainerIds(ContainerIdDBAccess.java:322)
at oracle.tip.mediator.dispatch.db.ContainerIdDBAccess.lockAndCleanExpiredContainerIds(ContainerIdDBAccess.java:181)
at oracle.tip.mediator.dispatch.db.DBContainerIdManager.run(DBContainerIdManager.java:210)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused By: java.sql.SQLDataException: ORA-01878: specified field not found in datetime or interval

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:889)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:540)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:924)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1261)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1419)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3752)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3806)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1667)
at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:135)
at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:814)
at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:540)
at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:468)

Changes

There was a change to daylight savings time (the clock moved forward)

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms