I created a simple utility to monitor and administrate Oracle Databases about 2 years ago. It’s called GOAT (GOAT Oracle Administration Tool). It’s more suitable for monitoring than administrating, but I haven’t changed its name, because I liked that recursive acronym.
GOAT was designed to monitor Oracle 10g and higher databases so I used ASH (active session history) views while drawing performance graphics. In my current company, we have Oracle 9.2 databases. Although we use Enterprise Manager Grid Control to monitor and manage them, I decided to bring my old utility back to life and add support for Oracle 9i.
Unfortunately Oracle 9i doesn’t support ASH, so it forced me to find an alternative. I’ve found S-ASH project created by Kyle Hailey and maintained by Marcin Przepiorowski: http://ashmasters.com/ash-simulation/
I see that they have already created a great utility called ASHMON: http://ashmasters.com/ash-tools/ and they published the source codes of S-ASH. S-ASH package simply simulates ASH. It creates some tables to keep the history of sessions, creates jobs to collect and store data into these tables and tries to provide a compatible view with v$active_session_history. I admit that I am impressed with S-ASH. S-ASH has a very low overhead. In fact, I haven’t noticed any additional load on the servers, and it provides reliable data.
I’ve modified the codes of S-ASH for my needs . Now the repository is stored in target database (for simple setup). I’ve also updated my queries to fix some integration problems.
Here are 3 performance graphics. All of them belong to same database (10g) and same time period:
My utility (GOAT) using ASH:
My utility (GOAT) using S-ASH:
As you see, the graphics are very similar.
I should remind that I do not claim that my utility is an alternative to Enterprise Manager Grid Control. As a big fan of Enterprise Manager, I recommend to use Enterprise Manager Grid Control to monitor databases. My utility is just a hobby project. On the other hand, it is fun to work with S-ASH, and sometimes a lightweight tool can be handy 🙂