Technical Background |
Programming Languages |
OSPRep is written using PL/SQL and Unix Shell. While PL/SQL code is used to
retrieve the information from the Oracle Database, Unix Shell code is used to
construct the (anonymous) PL/SQL block (which is then executed) based on the
users configuration. This way I realized the modular structure of OSPRep, just
including those constructs in the finally executed code that we really need
to execute, thus limiting the overhead e.g. for unnecessary parsing.
|
Collector PlugIns |
OSPRep includes some collector plugins - i.e. modules additional to Oracle
Statspack to gather more statistical data; not to confuse with the elements to
be found in the plugins/ directory of the distribution. The latter
ones are plugins used by the report generator, while the first ones are used to
gather the statistics. Right now, there are three of these collector plugins
available: one for gathering "Wait Objects" statistics, one for collecting
information on data file growth, plus one to work around the Oracle bug 3926058
(wrong count of open cursors) which you will only need if you are affected by
this bug but need accurate stats on open cursors.
|
In order to use these collector plugins, you of course have to install them
first. For this, there are four SQL files available within the install/
directory. Instructions are to be found within the head of these files. After
having them installed, don't forget to include a call to their procedures
together with the statspack.snap() call (the get_waitevents
and get_fileinfo procedures should be run directly after
each snapshot).
|
Requirements |
The requirements can directly be derived from the above paragraph and the
intended goal: First, you need an Oracle Database Server up and running,
otherwise there's nothing we can retrieve the information to report on. Second,
the instance(s) of this Database Server Oracle Statspack is installed into (i.e.
the ones holding a PERFSTAT schema OSPRep shall read information
from) need to have PL/SQL installed, otherwise the code generated by OSPRep
cannot be processed by them. Third, you need the Oracle Statspack to be
installed and set up, plus having statspack.snap() run at least
two times to gather some data OSPRep can report on. And last but not least,
you need a Unix Shell (OSPRep works fine with the Bash Shell - other Shells
have not been tested but may work as well). This does imply that OSPRep does
run in *nix environments (Linux, Solaris, AIX, etc. - successfully tested just
with RedHat Linux 7.x, other reports are welcome). There are Shell environments
available for Windows as well, like with CygWin - but since I didn't test
OSPRep in those environments I cannot guarantee that it will run with them;
again, reports are welcome.
|
Limitations |
OSPRep was tested successfully with Oracle versions 9.0.1 and 9.2 - which
does not necessarily mean it will not run with other versions. As always,
reports are very welcome especially if you successfully use OSPRep with Oracle
versions < 9.0.1 or > 9.2, so I can correct this limitation here. For
other limitations, please read the previous paragraph (Shell, PL/SQL, OSes).
|