several years ago to work with Oracle databases and in all that time I accumulated scripts that I facilitated various tasks of management, maintenance, monitoring, etc. Since I come lately devoted to issues of performance, I realized that such activity is important to analyze as much information as quickly as possible, remember that Oracle is a highly instrumented base and version after version are added more metrics (Oracle Wait Interface). Since we have the repository 10g AWR that stores detailed history of the activity of the base.
AWR is very useful as a baseline or point of comparison when we find a base that performance problems, detected either by the activation of alarms or worse, when the end user Persiva the delay and makes the claim . Anyone working as a DBA production bases, let alone if they are too critical, you need to respond quickly to higher stage evaluating, diagnosing and proposing or selecting courses of action immediately. Sometimes the problems are not easily detected, and run separate scripts can be a bit slow.
For your convenience, I scheduled a small utility in C # where I added several queries that I use daily, plus all the graphical power that allows me to inter alia discuss the history, suitable filter, export to excel the grid, exploit information double click on the cell etc. Below I copied some screens to show the application designed like this and obviously interested in me to share it for free so who cares and can improve it.
The MDI is a screen with 4 panels, the top-left has a tree structure with all reports available to date, classified according to certain criteria. the bottom panel on the left is a summary of the database where the app is connected. the top panel on the right has the grid with the results, and the bottom panel on the right is the query that is executed to fill the grid.
Screen 2 shows the filtering criteria to fill the grid according to the type of report being executed:
Screen 3 shows the result grid. In the example you ran the report history DB Time:
Screen 4 shows the output of the history report of the 5 most important wait events:
The display 5 displays the current sessions of the base (current information)
double clicking on a row of the grid will open another form with details of the selected session. In the panel where the text of the sentence that is running the meeting can click the right button and view and select "Details .." to see the history of execution of the sentence.
The next screen shows all open positions forms tiled horizontally (Window menu)
The screen 8 is the result of the execution of the report
Tablespaces
double clicking on the row of the grid will open a new form with details of the tablespace:
The screen 10 shows the possible filters that can be performed to analyze the history of Case TOP.
Display Case 11 TOP typical samples which meet the filters defined above:
With a click on the cell that has sqlid value is copied and then pressing the refresh button is "graze" the copied value to see the history of the decision:
All grids can be exported result to excel, you can filter and queries can be copied (right click on the panel where is the query text and select COPY.)
My idea was to show some screens to see the functionality that I tried to give my application. Obviously there are several more reports that are not detailed in the blog, but I invite those who want to test my little program (called OraPerfViewer.exe and weighs about 150kb) that I only write:
rovedop@gmail.com
and I'll send windows executable and requires only. NET framework installed (I think most of the windows bring it installed by default). At the moment there is RAC-aware, but in the future and it will run on versions 10g forward.
is a first version, and probably has many bugs and things to improve, but I'm sure that by sharing ideas and discussing things get better.