August 16, 2015
Three and a half years ago I offered the Hyper-Extended Oracle Performance 6.0 Beta for download – that Beta version expired a year later. This program has been somewhat of a pet project for the last 13 years (almost 10 years at the time of the previous Beta offering), so I was excited to read some of the feedback about the 6.0 Beta. The minimal feedback had me wondering for a while, then the pet project was pushed to a dark corner for roughly three years. I taught the pet a few new tricks on Windows 10, so I thought that I make the latest version available. Unlike the previous Beta, Beta 7.0 does not have an expiration date.
NOTE August 17, 2015: The first two download links are working now – Wordpress was blocking the downloads. Note that the first two downloads are actually compressed .zip files with a .doc extension – inside those .zip files are the files that are of interest. Right-click the files, save the files to your computer, then rename the files to end with .zip.
- Program download (right-click Save As, then change the .doc extension to .zip): Hyper-ExtendedOraclePerformanceMonitor7.zip
- Documentation download (right-click Save As, then change the .doc extension to .zip – still incomplete, see old docs): Hyper-Extended Oracle Performance Monitor7.doc
- Old Documentation download: Hyper-Extended Oracle Performance Monitor3.doc
- Update August 20, 2015: If you have an old computer, you may need to put the MSCOMCTL.OCX file in your C:\Windows\SysWOW64 folder (on 64 bit Windows, or C:\Windows\System32 on 32 bit Windows). You will then need to register (process) the file with REGSVR32 – see the command in the instructions below. A recent version of MSCOMCTL.OCX may be downloaded here: MSCOMCTL.OCX (save the file, then rename the file as MSCOMCTL.OCX).
Windows 2000 through Windows 10, 32 bit Oracle Client, MDAC/ADO 2.8 (or greater – preinstalled starting with Windows XP), connection to the Oracle database by database SID (tnsnames.ora) using Oracle’s Oracle Provider for OLE DB (Oracle’s Oracle ODBC Driver is required for connections that are initiated by SYS – primarily for access to the Advanced Init Parameter functionality), Excel 2000-2013, Microsoft Grid control (provided in the download – put into the program’s folder), TIMED_STATISTICS set to TRUE. Most features require DBA permissions (SYSADM or SYS), or specific grants to views or packages. For example, sessions that use the DBMS Xplan and Trace functionality must have permission to execute ALTER SESSION, have execute permission on the DBMS_XPLAN package, and select permissions on V$SQL, V$SQL_PLAN, and V$SQL_PLAN_STATISTICS. Configuring session tracing requires execute permission on the DBMS_SYSTEM package and/or the DBMS_MONITOR package.
The Hyper-Extended Oracle Performance Monitor provides a variety of functions to simplify working with and performance monitoring Oracle databases. Various types of simple data dictionary and database instance related reports may be generated in Excel by simply putting a check in a box on the program’s main window, and clicking the Report button. Generating DBMS Xplan output (using the raw information from a 10046 level 4/12 trace) with optional 10046/10053/other traces, creating data change logging triggers using the data dictionary, peeking at the hidden and non-hidden initialization parameters, and access to a quick Oracle keyword search are also a click away on the program’s main window. Performance monitoring and tracing tools for checking a cross-reference of the time model and wait event statistics (at the system and session levels), checking a cross-reference of the system statistics and wait event statistics (with drill-down to the session level), reviewing potentially high-load SQL statements and their execution plans, cross-referencing the current session waits with enqueues, and enabling various types of Oracle traces are also a click away on the program’s main window. Permanently recording of performance monitoring statistics in a Microsoft Access compatible database (Microsoft Access is not required) is also a click away on the program’s main window.
General Command Line Parameters:
- -D The Database instance SID to which the program should connect.
- -U The user name to be used for connecting to the database instance.
- -P The password to be used for connecting to the database instance.
Logging-Specific Command Line Parameters:
- -LC 20 Specifies Force a Log Capture when CPU Usage Exceeds value to 20%
- -LI 30 Specifies Force a Log Capture if No Log Captured in Minutes value to 30 minutes
- -LB Specifies the Force a Log Capture when a Blocking Lock is Detected value to checked
- -LW Specifies the Force a Log Capture when a Wait Reason is Detected value to checked
- -LR Specifies the Capture SQL Execution Statistics for Wait Reasons value to checked
- -LD Specifies the Capture Segment Change Statistics value to checked
- -LO Specifies the Capture Operating System and Time Model Statistics value to checked
- -LH Specifies the Capture High Load SQL Statement Statistics value to checked
- -LT Specifies the Capture High Load SQL Statement Text value to checked
- -LP Specifies the Capture High Load SQL Statement Plan value to checked
- -LHC 60 Species the minimum CPU time that is considered high load to 60 seconds accum.
- -LHE 90 Species the minimum elapsed time that is considered high load to 90 seconds accum.
- -LS Specifies that Smart Logging should begin as soon as the login completes
- -LE 240 Specifies that Smart Logging should end after 240 minutes
- -LQ Specifies that the program should quit (end) when logging ends
Using the above command line parameters, you could create a program shortcut for each of the databases that you administer. For example, create a shortcut, and set its Target to (assuming that the program is on the root of the F: drive, the Oracle SID is OR1122P, the username is myuser, the password for that account is pword, and the smart logging should default to logging when 10% of CPU utilization is observed):
"F:\Hyper-Extended Oracle Performance Monitor.exe" -D OR1122P -U myname -p pword -LC 10
The Hyper-Extended Oracle Performance Monitor runs on Windows 10, even though the touchpad on the Sony laptop sometimes stops working until the computer is put to sleep and then awoken. The program should also work with Oracle Database 12c (and might still be compatible with Oracle Database 8i, although the Time Model Viewer will not work).
The Time Model Viewer main window is still essentially the same, showing the hierarchy of the time model statistics, with color-coded session-level time model statistics (color ranges from yellow to red to indicate the percentage of the total represented by the session). The bottom of the window shows the system-wide wait events, and the sessions that contributed to those system level wait events:
When the Time Model Viewer is active, an Excel spreadsheet is created that shows the graphic history of the statistics for the 20 most recent time capture periods – if you find this view helpful, you might want to widen the DB Time and CPU chart:
The statistics also appear in numerical form on the Statistics tab in the Excel spreadsheet:
The Real-Time Monitor is also essentially the same as in previous Beta versions:
Like the Time Model Viewer, an Excel spreadsheet is created showing the graphical history of the statistics. Which statistics? Click a wait event or one of the white statistics boxes to add that statistic to the list for which charts are created:
Previous Beta versions of the program wrote out a tab delimited file containing the statistic deltas after every 30 time capture periods (this version also creates such a file). The Beta for version 7 writes those statistics to Excel after each time capture period to facilitate the chart creation:
Oracle’s OLEDB provider is used for connectivity, see this article for a description of how to fix the bug in the Oracle Database 188.8.131.52 Client installer that is related to the OLEDB provider (the problem may have been corrected in later releases). I have not yet found a method for SYS to login using Oracle’s OLEDB provider when “AS SYSDBA” must be specified for the login to complete. As such, Oracle’s ODBC driver is used when SYS tries to login and the login attempt using the OLEDB provider fails. Oracle’s ODBC driver is also used when viewing the normally hidden parameters using the SYS login. Because there could be multiple Oracle homes, you must create a 32 bit ODBC System DSN using the Oracle ODBC driver – name that DSN HYPEREXTEND:
The ODBC connection driver information is used to login as the SYS user (AS SYSDBA) to view the Advanced Initialization Parameters:
Hyper-Extended Oracle Performance Monitor 7.0 Beta is also more compliant with restrictions placed on the computer by User Account Control (User Access Control), which prohibits programs from create folders in the root of the C:\ drive and writing files into that folder. Version 7 instead creates the OracleLog folder in the current user’s profile (typically C:\Users\username\OracleLog\), and separates the files created by database. The picture below shows a couple of Microsoft Access compatible logging database that were created, as well as some of the tab-delimited statistic files, and various other generated files:
As mentioned above, the documentation is still incomplete, with several pages of the documentation containing nothing but pictures. It takes a lot of effort and time to put the documentation together, so I will try to piece it together over the next couple of months. You might be able to refer to the older documentation if the pictures are not self-explanatory. If you find the program useful, please leave a note. If you need help understanding a program window or the generated output, leave a comment attached to this blog article and I will try to help.
Hyper7b3.zip (Save with a .zip extension, not a .doc extension.)