In a perfect world, all code would work one hundred percent of the time, servers would not fail, and connections would never timeout. However in the real world, we are not so fortunate. Sometimes, you may come across an issue, it may be trivial in nature because either you have experienced the issue before or the problem's source is self-evident. When digging through issues, it's always good to have a number of tools under your belt.
Taking the time to analyse the situation and starting with the simplest possible solution is usually the first place to start. There's nothing worse than overlooking the simple answer only to find out later that it's the ultimate solution to the problem. In many cases, the root causes of issues are clear, for example when a composite fails to insert a record into a database with an ORA-12541
error, which is quite straightforward, as the error indicates the database listener is unreachable. The solution could be to simply startup the listener.
However, there are cases where some types of errors require a greater level of effort to resolve. For example, when the SOA managed server crashes frequently or on a given occasion, this is obviously not normal behavior. Is it because the JVM ran out of memory? Even if it is confirmed that an OutOfMemoryError
exception is found in the logs, why did this happen?
There is no step-by-step guide that walks you through exactly what to do in every scenario, as the types of errors you will encounter are endless. However, we will address the four core troubleshooting areas to provide a guideline on what you should consider for your troubleshooting strategies. These are infrastructure, code deployment, performance, and instance errors.
In this chapter, we focus more on introducing a troubleshooting methodology, which, when coupled with the foundational knowledge you learned in the previous chapters, will better equip you with the ability to solve most problems.
We begin this chapter with describing the art of troubleshooting followed by various troubleshooting areas that include the following:
Troubleshooting is part art, part science. Without a proper understanding of Oracle SOA Suite 12c, it becomes very difficult to know which tools, features, and capabilities are available to help you in your troubleshooting efforts. Furthermore, it helps to understand certain fundamentals on how both the infrastructure and transactions behave.
Fortunately, the previous chapters covered numerous areas to prepare you for this:
With this, you are now armed with the tools and knowledge to troubleshoot any number of issues. Before troubleshooting any issue, you must at least have a starting point for which you can ask yourself the following questions:
Based on the type of problem, you can somewhat narrow down the troubleshooting activity. The goal in this chapter is not to walk through all possible errors and their resolutions. You will encounter many examples of errors throughout this chapter, each and every one of them requiring further investigation. It is not often the case that you will stumble upon an error and immediately identify its resolution. Therefore, some of the other approaches you should consider utilizing are as follows:
18.226.163.229