This is my submission for JoelKallmanDay, a community day planned by Tim every year on October 15th as a tribute to Joel Kallman.
It is an old story that I am sharing. There was a customer that was using a Loan Management application and the back end was an Oracle database (a single instance, if I remember correctly). The hardware they were using was nearing EOL and they got an Exadata and moved the database there. They had high expectations and were expecting the application to be blazingly fast; it was a brand new Exadata, after all. But the experience was rather disappointing. There were application hangs, slowness and user complaints. When we (as a team) looked at the AWS/ASH reports from the system, there were things that needed immediate fixes. There were queries doing full tables scans and returning only a few rows. Then there were sequences where the cache size was set to zero. It appeared that the application was never tested with a RAC database. Creating the missing indexes and adjusting the cache sizes of the frequently used sequences appeared to be a low hanging fruit and it actually was. Fixing these two things gave a reasonable amount of relief. Of course, there was more that needed to be done to bring things on the track.
All the trouble could have been avoided had the application vendor done the basics right. It looked like a half-baked application and it appeared that it never went through a proper performance testing. Exadata could have got a bad name here but what could a poor Exadata do when you are scanning a full table for getting one row ! Basics are important and it does help a lot when they are done right !