Seeing Error code 4050 "Agent data batch persist error" in the Symantec Data Loss Prevention (DLP) Enforce console.
Code 4050
Summary Agent data batch persist error
Detail Unexpected error occurred while agent data being persisted: Could not get JDBC Connection; nested exception is java.swl.SWLRevoverableException: IO Error: THe Network Adapter could not establish the connection. Please look at the monitor controller logs for more information.
Monitor Controller Log from the Enforce Server:
Date/TimeStamp com.vontu.model.notification.NotificationModel downConnection
SEVERE: database.connection.down
com.vontu.model.DatabaseConnectionException: org.apache.ojb.odmg.TransactionAbortedExceptionOJB: Can't commit objects: Can't lookup a connection
at com.vontu.model.ojb.OJBSystem.checkConnectionStatus(OJBSystem.java:1056)
at com.vontu.model.ojb.OJBSystem.createDataAccessRuntimeException(OJBSystem.java:1131)
at com.vontu.model.ojb.OJBSystem.commitTransaction(OJBSystem.java:364)
at com.vontu.model.ModelProxy.commitTransaction(ModelProxy.java:55)
at com.vontu.model.notification.NotificationModel.commitTransaction(NotificationModel.java:166)
at com.vontu.model.ModelProxy.commitTransaction(ModelProxy.java:55)
at com.vontu.model.SafeTransaction.commit(SafeTransaction.java:86)
at com.vontu.model.data.util.executor.TxDatabaseCommand.execute(TxDatabaseCommand.java:46)
at com.vontu.model.data.util.executor.TxDatabaseCommand.execute(TxDatabaseCommand.java:35)
at com.vontu.model.data.util.executor.RunnableCommand.runAndHandleExceptions(RunnableCommand.java:76)
at com.vontu.model.data.util.executor.RunnableCommand.run(RunnableCommand.java:63)
at com.vontu.util.concurrent.QueueingTask.performWork(QueueingTask.java:63)
at com.vontu.util.concurrent.WorkerThread.run(WorkerThread.java:79)
Caused by: org.apache.ojb.odmg.TransactionAbortedExceptionOJB: Can't commit objects: Can't lookup a connection
at org.apache.ojb.odmg.TransactionImpl.commit(TransactionImpl.java:719)
at com.vontu.model.ojb.OJBSystem.commitTransaction(OJBSystem.java:348)
... 10 more
Caused by: org.apache.ojb.broker.PersistenceBrokerException: Can't lookup a connection
at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localBegin(ConnectionManagerImpl.java:170)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:442)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:184)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:184)
at org.apache.ojb.odmg.TransactionImpl.doWriteObjects(TransactionImpl.java:396)
at org.apache.ojb.odmg.TransactionImpl.prepareCommit(TransactionImpl.java:762)
at org.apache.ojb.odmg.TransactionImpl.commit(TransactionImpl.java:698)
... 11 more
Caused by: org.apache.ojb.broker.accesslayer.LookupException: Could not get connection from DBCP DataSource
at org.apache.ojb.broker.accesslayer.ConnectionFactoryDBCPImpl.checkOutJdbcConnection(ConnectionFactoryDBCPImpl.java:86)
at org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.lookupConnection(ConnectionFactoryAbstractImpl.java:139)
at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:121)
at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localBegin(ConnectionManagerImpl.java:163)
... 17 more
Caused by: java.sql.SQLRecoverableException: ORA-01033: ORACLE initialization or shutdown in progress
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:392)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:385)
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:497)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOSESSKEY(T4CTTIoauthenticate.java:460)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:594)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:51)
at org.apache.ojb.broker.accesslayer.ConnectionFactoryDBCPImpl$ConPoolFactory.createConnection(ConnectionFactoryDBCPImpl.java:414)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:840)
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
at org.apache.ojb.broker.accesslayer.ConnectionFactoryDBCPImpl.checkOutJdbcConnection(ConnectionFactoryDBCPImpl.java:82)
... 20 more
Any DLP version can have this error.
DLP Oracle database was down.
Or can be caused by doing warm backups. Symantec only supports Oracle cold backups, see our Maintenance Guide for your version.
Fix issues with Oracle db. Or stop doing warm backups. We only support cold backups. See our documentation:
Performing a cold backup of the Oracle database on Windows
Performing a cold backup of the Oracle database on Linux
Monitor Controller log now shows:
com.vontu.enforce.domainlayer.common.database.DatabaseConnectionStatusTask run
INFO: Database connection is up