Sometimes a new feature (and/or a fix) could give some very unexpected results. In this article I’ll show how a mix between a 11g new feature (Adaptive Cursor Sharing), a fix (in 11.2, the obsolete threshold), application design (a separate schema for every customer), and code issues (not prefixing objects with schemaname, and bind datatype mismatches), caused some major problems in a production system.
This other day I was contacted by some people having trouble with their production database. The last months they have experienced some occurences where their application started to timeout, and the database seemed to be unavailable. On every occation they had to restart the database to overcome the situation. The statspack report covering the “downtime” was not available (and the database was not licensed with diagnostic pack featuring AWR and ASH). The snap after the incident did never complete. One of the observations that was common for every incident was the CPU running at 100%. So what went wrong?