Tuesday, August 6, 2013

#6 ODI session failed due to config xml file issue


One of our scheduled daily Load plan did not run as expected and when we drilled down the session, found an error as:







When I checked the Message Log, it said:

oracle.odi.agent.logging.AgentLogger initLogEnvironment
INFO: exception reading config file called ODI-logging-config.xml
Also mentioned are other errors ODL-52053 and ODL-52035


The detailed log had another info:
Caused By: java.sql.SQLException: ODI-40844: Could not generate the DTD because the file could not be created. Verify that you have write permission in the directory.


So going by the logs and errors, It is a bit clear that something was wrong with the config file and also related to java settings.

Opened the Connection details for the Physical Server and checked the JDBC url:




The JDBC url is as:  jdbc:snps:xml?f=http://Hostname:port/data/data/data/***_config.xml&ro=true


The day before we had a new release where additional data servers were added and the config files were changed.


What worked for me:
Appending nobu=false&ro=false in the JDBC url succeeded in testing the connection.


In the old url, ro=true made the XML file to be opened only in read only mode and sometimes the java.sql.SQLException says that while executing the scenario, the statement is not in batch mode.


As per Oracle docs:

ro or read_only :      Open the XML file in read only mode.

nobu or no_batch_update : Batch update is not used for this connection. The command to set the batch update is not sent. This prevents errors to occur for external databases that do not support this JDBC feature, or allows to debug errors related to batch update usage.