|
This example is based on the article Perform Without Waiting by Arup Nanda which was published on Oracle Magazine, Juli/August 2004.
We thought that the method described in the article could be exploited for an ApEx application, making use of drill-down clicks and fancy graphs. The article is all about locks and wait events and the Application Express application ahould help the user identify locks and the source of waits. Of course the oracle 10g dbconsole can do the same and better, but we believe it is alwasy very useful to understand which system tables can be queried and with what kind of queries are behind any diagram or chart.
![]() Clicking on session 1080 one is led to a graph showing the type of waits this particular session has been experiencing.
We see that the class application is responsible for a large part of the waits, as expected!; we therefore click on its bar in order to see whether this wait class is widespread in the system
We can be interested in drilling down into the class showing the most wait events, in this example application related.
The question is now about the distribution of this particular wait event according to buckets; a high frequency in the longer buckets may signify that thsi wai event is relevant system wide.
What is the system waiting on?Some queries can be used to tracking system events or wait classes that you suspect are important for your systems
Oracle 10g also offers the view v$ossstat, which contains a few statistics for the operating system of the server where the Oracle instance is running. SQL> descr v$osstat Name Null? Type ----------------------------------------- -------- ---------------- STAT_NAME VARCHAR2(64) VALUE NUMBER OSSTAT_ID NUMBERAn eye should be kept, among other parameters, on the ratio between system and user CPU usage and the idle time.
SELECT distinct enm.name, ash.WAIT_CLASS FROM v$active_session_history ash, v$event_name enm WHERE ash.event#=enm.event# ORDER BY ash.WAIT_CLASS, enm.name |