Over the years I’ve heard and learned quite a lot about how Oracle does stuff. Some of it was logical, some just details to remember (I have a really lousy memory, but somehow, I actually remember some of the details). Not too long ago I wrote a query and got a parse error, and that lead me to write this post (and a couple more that will follow).
If you don’t know that by now, OTN (Oracle Technology Netowrk) has changed its name to ODC (Oracle Developer Community), so OTN Appreciation Day becomes ODC Appreciation Day.
Once in a while I get requests for some information about reading and analyzing an AWR report. I have been thinking for a long time about writing such a post, but always postponed it as it is a very tricky topic. The AWR (or statspack for that matter) report is huge and contains so much information that it’s easy to get lost. It also requires a lot of knowledge about the database and the different mechanisms so it’s very difficult to explain all of this in a blog post (or even a series of posts). In this post I’ll try to start from the beginning, explaining a little bit about the AWR report and the analysis process and we’ll see where it takes us.
The internet is full of information about indexes, and for a reason. Indexes in a database is probably the most important performance related topic. There are so many cases, properties, and different ways to use indexes that there is simply a lot to write about. In this post I’d like to talk about a specific use case that I’ve seen a few times, and is related to index scans and performance.