Waits, Enqueues, and Latches
When optimizing Oracle database systems, the SQL statement, its explain plan, adding indexes, or changing the optimizers access paths, using hints, and so forth are just methods of helping Oracle to perform user operations. When all these tuned and optimized SQL statements are executed, there are other types of potential bottlenecks such as contention, concurrency, locking, and resource availability that could cause applications to run slow and provide slow response times to the users. Contention for resources could be measured or interpreted at the various levels of the systems processing cycle. Such resources could be lack of CPU, lack of network bandwidth, lack of memory, issues with the storage subsystem, and so forth. Oracle provides instrumentation into the various categories of resource utilization levels and provides methods of interpreting them. In this chapter, we look at some of these critical statistics that help optimize the database.