Advanced resolution

Having explored the monitoring, we can see how error information can be seen, and as a result determine if integrations are failing, or whether there is an issue between ICS and the systems involved in the integration, or something wrong within one or more integrations. Sometimes this alone is sufficient to help identify the problem and its resolution, but not always. This section looks at common causes, and things to check (you may know from the Monitoring views a particular connection is the source of problems, but not why). We also explore how to look at the most detailed information available - the log files - and where to get more information on cause and resolution.

Things to check

Before we dig into the logs, the following is a brief list of things you might consider checking if integration(s) stop working:

  • ICS system and service health
  • Are we in a planned maintenance period?
  • Has ICS been updated - if you have deployed any extra logic via the uploading of mappings and so on, is it possible the update may have broken them?
    • Connection errors
    • Third party service status - it might be the service is temporarily not working
    • Certificates (have they expired?)
    • Have service credentials been changed?
    • Service changes (API changes) - have APIs changed?
    • Revoked permissions or check for changing permissions
  • Is the schedule for an integration running (deactivating an integration does stop the schedule)?
  • Capacity and sizing factors:
    • Are the service calls coming in with payloads that are considered to be too large - the ICS documentation indicates the maximum size of a message is 512 KB
    • Is ICS being challenged in terms of the number of messages being sent within the time period?
    • Is it possible that the throughputs are too much for the target system (you need to understand the performance constraints of those systems)?
  • Within an integration:
    • Are your lookups missing values?
    • If you have an enrichment service, is this connecting and producing expected results?
    • Integration (has expected version) has been activated?

Examining logs

As we have seen, it is possible to lock at the error information for a specific integration instance. This information is normally a brief extract from the logging information. The alternative approach to this is to retrieve the log files from the underlying server(s); an approach that requires a great deal more effort.

When errors are not obvious, such as connection losses or subtle errors in your service, it will be necessary to examine the log files. The log files, as you will have seen, can be accessed from several locations. When retrieved, you will have a ZIP file downloaded that contains all of the log files from the servers that are running the ICS service. This will typically be two servers and an admin server. The admin server runs the UI for ICS, so any errors resulting from creating and editing integrations will appear here. Errors that could occur during the running of an integration could show up in any of the server logs. If you connect multiple ICS integrations together, as you do in a publish and subscribe, there is no guarantee that all the related integrations will appear in one log file.

This is presently a challenge, if you want to see what happened in what order when examining complex cases, but there are tools that can merge log files easily, for example LogDistiller (https://sourceforge.net/projects/logdistiller/).

Having located the error, the next step is to locate the initial error for our integration. It is a common mistake to look at the last error, as it will be the closest to the end of the log - but often this is a reflection of a subsequent error, rather than the initial problem that will have caused subsequent problems.

Reporting incidents and downloading incidents information

There is always the possibility with any sophisticated software that something will not behave as expected or a problem will occur. While we hope that this will not happen, it is better to be prepared and to make it easier for the Oracle support team to investigate. To this end, ICS has a mechanism to raise an incident within the user's drop down menu, as you can see in the next diagram. This option will create a popup where you can capture information about the incident to advise Oracle what the problem is. When the incident process is started behind the scenes, a range of valuable pieces of information are captured.

When the incident details are completed and you click the Create button, the incident is given a number and it is reported to you on the main screen, as you can see in the following diagram:

Reporting incidents and downloading incidents information

It is then possible to download all the details by clicking on the Monitoring dashboard's Download Incident, which will present a popup dialog to identify the incident number. Once the number is provided and Download button is clicked, then a ZIP file with all the relevant captured information is provided. This information can then be passed back via Oracle's support portal as shown in the following diagram:

Reporting incidents and downloading incidents information

Where to go for information about errors

As with newer products, information on how to troubleshoot errors, and building into the software actions to try prevent users making mistakes, tends to lag a bit behind the features being offered (which is understandable, would you rather have lots of connectors that can cover 90% of use cases or a couple of connectors that help you though those esoteric 10% of situations?).

All of this means we do need to source information to help address those more troublesome cases. The following table describes the different places that can be used to help. It is worth remembering that ICS has been built on top of some core Oracle technologies, so some of the resources will relate back to the underlying areas. As previously mentioned, the most significant contributing technology to ICS is Oracle Service Bus.

Resource name and location

Nature of information

ICS Error Codes

Oracle publishes a document that contains all the ICS error codes. You can look up in this document the details of the different codes. This document only covers the specific ICS codes, not those that can arise from the fact that ICS, as previously mentioned, utilizes other Oracle components. Many of these codes will relate to the UI aspects of ICS, as these are unique to the product, whereas the core engine leverages existing technologies, https://docs.oracle.com/cloud/latest/intcs_gs/ICSEM/.

Oracle Cloud Documentation

If you go back to the main Oracle Cloud web pages for ICS (https://cloud.oracle.com/integration) you will find access to online documentation, which will allow you to see how certain aspects of the product work - and therefore understand potentially why you have a problem. One of the challenges today in this area is that the documentation is not yet exhaustive in nature. We should also see overtime the documentation being linked and made contextually aware with the different parts of the ICS. This closer linkage between the cloud service and documentation is happening across all the cloud products, http://docs.oracle.com/cloud/latest/intcs_gs/.

Oracle Support

Oracle has a very extensive support portal that holds knowledge articles, details of updates. You can examine existing Service Requests (SR) and raise them as well. Most importantly, when dealing with a problem the support portal is best for examining the service requests and Knowledge Base to see if work around or issues have already been posted. Obviously, if an issue has not been raised then it helps everyone to get a problem raised. The portal can be accessed via, https://support.oracle.com.

Oracle Community

Oracle actively encourages people to share knowledge and questions through its community site (https://community.oracle.com). Once registered, you can interact with the site and the other community members. Most Oracle products or product families have an area within the community site for themselves. In ICS case it is:

https://community.oracle.com/community/cloud_computing/platform-as-a-service-paas/oracle-integration-cloud-service/overview.

Known Issues log

When issues are identified with releases, Oracle will publish the details online. It is always good to check in here if you think you may have found a problem before trying to raise the issues, https://docs.oracle.com/cloud/latest/intcs_gs/ICSKI/index.html. As issues can originate from underlying components, knowing about problems from these areas as well is important - therefore the following is worth checking: http://www.oracle.com/technetwork/middleware/soasuite/documentation/releasenotes121300-2124738.html#servbus.

A-Team blog

The A-Team is a specialist team within Oracle that are the leading consulting subject matter experts. This is the team that Oracle will fly in if you have a challenging problem. For us, the A-Team are important as they blog about the more advanced concepts and use cases of the different technologies Oracle offers, including ICS.

The A-Team blog is recommended reading regardless of whether you have a problem or not, http://www.ateam-oracle.com/.

The site for this book

The authors of this book both actively blog about integration and have a website that contain articles on advanced features, updates, and compile useful resources on ICS, http://oracle-integration.cloud.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset