Oracle Performance Monitor V2


V2 using TCL/TK 8.4 native threads 2.4 and Oratcl 4.0 and BLT2.4z

Setup
How to Install
grants.sql setup grants on X$ Tables
How to Patch (patches are text files thus the same for NT and UNIX)

Binaries
Download V2 Solaris 5.6 compiled with oracle 8.1.7, see: Solaris Notes
Download V2 Solaris 5.8 compiled with Oracle 9.2.0, see: Solaris Notes
Download V2 NT
Upcoming V2 Linux

Patches
Dec 15
Feb 15

Other
Download: version 1

Who is the Monitor For?

This monitor is targeted at post production database administrators who have to quickly identify and resolve and performance issues on a production database.

Each of these is on a pull down menu. You can also use the mouse to select areas of the graph to zoom in on, double click to highlight certain lines and highlight their title in the display menu.

The Monitor doesn't have alot of the functionality I would like. It is mainly a system level view of performance. The main chart being the one above that shows CPU usage by Oracle, stacked under the wait time summed over all users, along with a line representing maximum possible CPU usage (ie 100% CPU). With these three things

we can tell immediately if there is performance problem with Oracle or if the database or application needs tuning.

The monitor also allows one to see

The system statistics graphs are displayed on top of the wait/cpu graph such that events can be correlated on the same time axis.

Top users can be sorted by CPU, buffer gets etc. Top users also shows the wait events for each user with p1, p2 and p3

Top sql takes a diff between two snap shots (by hitting the refresh button) such that the sql which consumed the most resorces between the two snap shots can be found. SQL statements can be drilled down on to see their execution statistics over time

There are tons of things I'd like to do and plan. I already do decodes of enqueues and latches in the top user screen. I want to add drill downs from the wait events in the wait/cpu graph such that you can click on say enqueues in the wait/cpu graph and be taken to a lock page or click on latches and be taken to tha latch page. One reason I haven't done this that just playing with the graphic display takes all my time. I also would llike to ad and interface such that you can read in data from statspack tables. I would like to add communication with an agent attached directly to the SGA. I want to constantly find who the top 10 sql and/or top 10 users (which is constantly changing) and display their wait and cpu usage over time similiar ot the cpu/wait chart for the database as a whole. I've started that a little in the SQL drill down where I compare one sql statements cpu usage to the overall cpu usage of Oracle. To that same graph I'd like to add the other 9 top sql statements stacking the cpu usage under the line representing all the cpu used by Oracle and do the same thing for users. I want to be able to click on waits in the wait/cpu graph and be taken to information on what happend at the point in time I clicked on. FOr example if I clicked on lock waits that happend 20 minutes ago, I want to see who was waiting for locks then, 20 minutes ago, rather than right now (which is what most tools do, except maybe Quest Stealth)

Oramon Resources at Sourceforge