This section describes common problems that might be encountered when using Oracle Data Integrator (ODI) and explains how to solve them.
The following topics are discussed:
For more information about the error messages that might be encountered when using Oracle Data Integrator (ODI), review the Oracle Fusion Middleware Error Messages Guide.
To troubleshoot ODI issues, use the following logging tools:
The ODI agents are deployed to a Managed Server. It is possible to view the aggregate session events for the agent.
To view the logs for the ODI agent with Fusion Applications Control, perform the following steps:
Log into Fusion Applications Control.
From the navigation pane, expand the farm, Application Deployments, oraclediagent (ODICluster).
Select oraclediagent (odi_server_name).
The Application Deployment page displays.
From the Application Deployment menu, choose Logs, then View Log Messages.
The Log Messages page contains all of the latest ODI agent log messages. Click the messages to get more information and download the corresponding log file. For more information about viewing logs, see the Viewing Log Files and Their Messages Using Fusion Middleware Control section in the Administering Oracle Fusion Middleware.
Note the session name and time or session ID from the log.
If the problem still cannot be solved, increase the log level of the system to debug the transactions. To simplify troubleshooting, it is recommended that you enable the following parent loggers at the TRACE:32 (FINEST) level.
To change logger levels, perform the following steps in Fusion Applications Control:
This section describes common problems and solutions. For each problem and solution, use the example that fits best. This section contains the following topics:
Problem
An Oracle Data Integrator (ODI) job request was started and is running far past the point at which it should have completed. To determine if there is end date, view the session log. See the View Session Logs for ODI, Steps 1 to 5 to determine if a session has an end date.
Solution
The job may be still running due to a job step stalling or failing to complete. Check the ODI Agent log files and the ODI Console session log files for error messages. These messages provide information that could help you find the reason the job is not completing.
To resolve this issue, perform the following steps:
If there are no error messages in the log files, the problem is likely due to environment issues outside of ODI.
Problem
The Coherence node is operating in UDP Multicasting for cluster discovery instead of Well-Known Address (WKA), overriding the ODI server start settings indicated in the WebLogic Server Administration Console.
The Coherence log file contains diagnostic information that can confirm this issue. In some cases, there is a tangosol.coherence.log
setting that is overriding the logging settings for odi_server1 in the WebLogic Server Administration console. Disable the override to view the Coherence log by editing the setDomainEnv.sh
script.
To disable the logging override and view the output of the Coherence logs, perform the following steps:
Navigate to the setDomainEnv
script, located at this path:
(UNIX) DOMAIN_HOME/bin
Open the script in a text editor. The EXTRA_JAVA_PROPERTIES
section of the file will look similar to the following example:
EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Dsoa.archives.dir=${SOA_ORACLE_HOME}/soa -Dsoa.oracle.home=${SOA_ORACLE_HOME} -Dsoa.instance.home=${DOMAIN_HOME} -Dtangosol.coherence.log=jdk -Dtangosol.coherence.clusteraddress=10.0.0.0 -Dtangosol.coherence.clusterport=9063 -Djavax.xml.soap.MessageFactory=oracle.j2ee.ws.saaj.soap.MessageFactoryImpl -Dweblogic.transaction.blocking.commit=true -Dweblogic.transaction.blocking.rollback=true -Djavax.net.ssl.trustStore=${WL_HOME}/server/lib/fusion_trust.jks"
Remove -Dtangosol.coherence.log=jdk
and save the script.
Delete the old coherence.log
file.
Restart the domain. Coherence log messages will now properly be output to the coherence.log
file.
For more information about restarting domains in Oracle Fusion Applications, see the Start an Oracle WebLogic Server Domain for a Product Family section.
The Coherence log file displays the following output:
Oracle Coherence Version 3.6.0.4 Build 19111 Grid Edition: Development mode Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 2012-05-10 05:52:38.686/54.656 Oracle Coherence GE 3.6.0.4 <Info> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded cache configuration from "jar:file:/user/APPLTOP/fusionapps/soa/soa/modules/oracle.soa.fabric_ 11.1.1/fabric-runtime.jar!/soa-coherence-cache-config.xml" 2012-05-10 05:52:39.557/55.527 Oracle Coherence GE 3.6.0.4 <D4> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): TCMP bound to /10.0.0.0:9066 using SystemSocketProvider 2012-05-10 05:52:43.062/59.032 Oracle Coherence GE 3.6.0.4 <Info> (thread=Cluster, member=n/a): Created a new cluster "cluster:0x000" with Member(Id=1, Timestamp=2012-05-10 05:52:39.592, Address=10.0.0.0:9066, MachineId=53980, Location=site:example.com,machine:machine_name,process:997, Role=WeblogicServer, Edition=Grid Edition, Mode=Development, CpuCount=24, SocketCount=24) UID=0x0AF129DC0000013736CEEC28D2DC236A 2012-05-10 05:52:43.107/59.077 Oracle Coherence GE 3.6.0.4 <Info> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Started cluster Name=cluster:0x000 Group{Address=10.0.0.0, Port=9063, TTL=4}
The Group{Address=10.0.0.0, Port=9063, TTL=4}
line indicates that UDP Multicasting is being used for cluster discovery instead of WKA. If WKA were being used, the log file would contain the following lines:
WellKnownAddressList(Size=1, WKA{Address=10.0.0.0, Port=9066} )
Cause
The SOA Coherence override file, tangosol-coherence-override.xml
, takes precedence over the ODI Coherence override file and the server start settings in the WebLogic Server Administration Console.
Solution 1
If the ODI Server was started with Node Manager, add the WKA properties to the Server Start settings for the ODI server in the WebLogic Server Administration Console and restart the ODI server to enable WKA cluster discovery.
To configure WKA settings for ODI in the WebLogic Administration Console, perform the following steps:
In the Administration Console, select Environment, then select Server from the left hand tab.
Select ess_server1.
Click the Server Startup tab.
In the Arguments box, enter the following (all on a single line):
-Doracle.odi.coherence.wka1=machine1 -Doracle.odi.coherence.wka1.port=9088 -Doracle.odi.coherence.wka2=machine2 -Doracle.odi.coherence.wka2.port=9088 -Dtangosol.coherence.localport=9088
Where machine1
and machine2
are the hostnames of the two machines in the cluster.
Use 9088
as the Coherence port if it is unused on the machine. Otherwise, choose another port to configure as the Coherence port.
Click Save.
Repeat the steps above for ess_server2.
Restart the ODI server.
For more information about restarting servers using the WebLogic Server Administration Console, see Start Managed Servers from the Administration Console and Shutdown Servers in a Cluster in the Oracle WebLogic Server Administration Console Online Help.
Solution 2
If the ODI server was started with the command prompt, you must add the WKA properties to the startManagedWebLogic.sh
script and restart the ODI server to enable WKA cluster discovery.
To configure WKA settings for ODI in the startManagedWebLogic
script:
From the command prompt, navigate to the location of the startManagedWebLogic
script:
(UNIX) DOMAIN_HOME/bin/
Using a text editor, add the following lines to the script:
-Doracle.odi.coherence.wka1=machine1 -Doracle.odi.coherence.wka1.port=9088 -Doracle.odi.coherence.wka2=machine2 -Doracle.odi.coherence.wka2.port=9088 -Dtangosol.coherence.localport=9088
where machine1 and machine2 are the hostnames of the two machines in the cluster.
Use 9088 as the Coherence port if it is unused on the machine. Otherwise, choose another port to configure as the Coherence port.
Restart the ODI server using the fastartstop
utility.
For more information about restarting servers using the fastartstop
utility, see the Start Administration Servers and Managed Servers and the Stop Administration Servers and Managed Servers sections.
Problem
ODI is unable to connect to the ODI repository.
Cause 1
Provisioning failed to populate the correct GUIDs.
Solution
Connect to the FUSION_ODI schema and use the following SQL commands:
select WUSER_NAME, PASS, GUID_EXTERNAL from SNP_USER; select AGENT_NAME, HOST_NAME, HOST_PORT from SNP_AGENT;
If the GUIDs are missing: either the provisioning failed or the ODI repository was overwritten after provisioning. If the GUIDs are present, check that the repository was not overwritten after provisioning. Check the provisioning logs and resolve any errors.
For more information about provisioning logs and troubleshooting the provisioning process, see the Provisioning Log Files section in the Oracle Fusion Applications Installation Guide.
Cause 2
The repository was overwritten during provisioning.
Solution
Run the following SQL commands:
select count( * ) from SNP_PROJECT; select count( * ) from SNP_MODEL;
If projects or models are missing, the ODI repository was not created correctly in the starter database or was overwritten after provisioning. Check the provisioning logs and correct any errors.
For more information about provisioning logs and troubleshooting the provisioning process, see the Provisioning Log Files section in the Oracle Fusion Applications Installation Guide.
Problem
The ODI Agent is unable to call back to Oracle Enterprise Scheduler to update the status of a job.
Solution
The ODI Agent may be prevented from communicating with Oracle Enterprise Scheduler. To resolve this issue, perform the following steps:
Check the ODI Agent logs for errors. For more information about checking the ODI Agent logs, see the View and Configure ODI Agent Logs section.
Resolve any errors listed in the logs.
If there are no errors in the ODI Agent logs, an error with Oracle Enterprise Scheduler might be causing the issue.