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:
Enterprise Manager:
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
4 Responses to “Simulating ASH (S-ASH)”





Nice to see S-ASH being used.
I love the comparison of OEM, Goat ASH and Goat S-ASH.
S-ASH is on github so you can fork and change it.
https://github.com/pioro/orasash
All contributions welcome.
I also put together a 3 file version of S-ASH that collects into flat files (log rotated over 7 days) and output to a web UI. See example here
http://dboptimizer.com/2011/10/31/w-ash-web-enabled-ash/
and github for W-ASH is
https://github.com/khailey/wash
- Kyle
Hello Gokhan,
Is your GOAT tool much different from ASHviewer ?
http://sourceforge.net/projects/ashv/
Have you by chance published it somewhere so it could be tested ?
Thanks.
Christophe
Hello Christophe,
I didn’t know ASHviewer. I’ll download and test it asap. Unfortunately I haven’t published GOAT yet. Thanks for sharing the link!
Gokhan
Can’t wait to test you tool
And thanks again for all your contibution to the Oracle community (especially on OEM 12c, I am setting up one at home and I always found the procedure I need on your blog).