Download

Simply extract the zip file to a folder of your choice and start “Mumbai.exe”.

Update

You can safely extract the files from the zip archive to your existing Mumbai folder and overwrite the existing files (configuration files are kept).

When updating from version 2.x to 3.x the following breaking changes apply:

Any custom command that you set up on the toolbar will be gone.

If you use a master password to encrypt connection passwords, you will loose all your stored passwords with this release. To prevent this, run your current version first and remove the master password, before updating to this version.

Change history

Changes for 3.1.1:

Now using Remote Desktop Plus instead of “LaunchRDP.exe” which fixes connecting to Windows Server 2012+/Windows 10+

Updated the download links for the Reference Guide. If you want to update, delete the current files in the “doc” subdirectory and press F1 in Mumbai.

Updated the snapper script to v4.24

Changes for 3.0.1:

Breaking change: Any custom command that you set up on the toolbar will be gone.

Breaking change: -If you use a master password to encrypt connection passwords, you will loose all your stored passwords with this release. To prevent this, run your current version first and remove the master password, before updating to this version.

There is now a 32 and 64 bit version available (which need either the 32 or 64 bit Oracle client)

Reorganized the button and ribbon layout

Added a lot of new views (memory, storage,…)

There is now a context sensitive help (F1) on V$*, DBA_* views and database parameters that links into the Oracle Referece manual. The necessary files for Oracle 10-12 will be downloaded the first time you access the help feature. Bug: Please see this comment on how to workaround this problem.

Changed the SQL statement for the “Missing bind variables” view. It now finds similar SQL based on FORCE_MATCHING SIGNATURE and PLAN_HASH_VALUE and aggregates the result set for easier analysis

Mumbai can now connect to ASM instances and you can connect with the SYSASM privilege

There is now a second page control on the left side of the main window where you can drag and drop pages to or you can right-click on a tab and select “Move to other side” to have a side-by-side view:

The bind variables panel in the console window can now be collapsed:

Package detail view: A view which combines the package and package body into one view with a procedure/function navigation tree and a list of errors in the package if there are any. You can double-click on an entry in the navigation tree or in the error list to jump to the code position. Green icons are functions/procedures that are also defined in the package definition and thus can be called from outside the package.

Added views for V$FILESTAT and V$TEMPSTAT and views that show the aggregated data from these V$ views (more about that here)

AWR/SP reports: Added reports for aggregated data from STATS$FILESTAT and STATS$TEMPSTAT (respectively DBA_HIST_TEMPSTATXS and DBA_HIST_FILESTATXS) (more about that here)

Added constraints view for “Table details view”

The SQL parser used for reformatting now supports not so common syntax (WITH, listagg, etc.)

Script output is now color coded and can be filtered by output type through the context menu

Fixed the label “Disk reads per hour” with “Disk reads per second” in the SP/AWR SQL report graphs (thanks Nabil!)

Same sql_ids now have the same color over all graphs in the SP/AWR SQL report

The context menu for all data grid views now has a “General functions” item with the following sub-menu actions:

Export to Excel

Export to HTML

Export to text

Add filter by focused cell

Cell multi-select

Changes for 2.2.1.804:

You can now create your own keyword lists in the console window

You can now search for the SQL text by OLD_HASH_VALUE (Ctrl+Q shortcut)

Added SQL statement history in console window (CTRL+H)

Fixed the vanishing bind variable grid after running scripts in the console window

Fixed some of the default filters in the parameter views and now including parameters with ISMODIFIED=TRUE

Fixed row count showing up as zero in the status bar of the console window for queries with bind variables

The external tables for trace file and the alert log defined in the optional Mumbai42 schema now have statistics locked to prevent “ORA-20011: Approximate NDV failed” errors when gathering statistics when the underlying trace file no longer exists

Changes for 2.2.1.801:

The context menu for data grids in the console window now has menu actions depending on the column names returned by the query (e.g. column named “SID” give you a menu item “Jump to session table…”)
E.g. when you execute the query “select * from dba_objects”, Mumbai looks at the column names returned and offers appropriate actions in the context menu of the data table:

SQL*Plus “execute” command now is supported with “Run script” in console window

Additional login credentials in the console window are now sorted by username:

When changing the connection in the main window, the additional login credential buttons are now correctly updated

Labels on the x-axis of graphs can now be turned on/off in the “Data shown” tab of the customization window (the default is on for not more than 30 values, otherwise off)

Fixed a display bug after incremental search in the Connections drop-down list

When wrong credentials for a connection are given in the connection manager, the popup window asking for the correct credentials now shows the “Connect as” selection box

Object Dependencies and References are now shown recursively in table/view details

When getting an execution plan including fetching rows, you can now limit the total number of rows fetched and the number of rows fetched per DB fetch call. This can help generate realistic executions plans without having to fetch all result rows:

AWR/SP SQL reports: Added “Locate SQL_ID” dialog that makes an SQL_ID visible in all charts, optionally including all SQL_ID which are above a custom correlation value:

AWR/SP reports: Added SGA and PGA Statistics report

Added SQL keyword proposals in console window (press CTRL+Space to trigger – you can add your own keywords to the …\config\keywords_user.txt file):
Keywords are currently from Oracle 11.2, but I plan to add a feature that lets you fetch the keywords from your database and link the generated keyword file to a connection set up in Mumbai.

You can now define snippets in the custom scripts dialog and use them from the SQL keyword proposals selector in the console window:

Show execution plan context menu action on SQL_ID and CHILD_NUMBER columns now correctly observes the content of the CHILD_NUMBER column

When showing the execution plan for an SQL_ID and the child number is unknown, e.g. from the snapper result window, the least recently used CHILD_NUMBER is now used, instead of always zero (which might even not exist)

Added CHAR as a bind variable type in addition to VARCHAR in the console window

Added “Active temporary tablespace usage” view

Corrected typo “V$SGA_STAT” with “V$SGASTAT”

Changes for 1.1.1.117:

Made alert.log/trace file retrieval substantially faster

Added heap dump analysis

Added Create dump functionality

Fixed sorting in object browser

Disabled the “recent usuage” functionality for menues

Changes for 1.1.1.102:

Reworked the custom command functionality (sorry, any custom commands already set up will be lost)

Made the main window Windows 7 compatible graphically

Removed some debugging code writting to “C:\”

Changes for 1.1.1.81:

Added support for AWR (table data, charts and reports)

Instance activity charts now correctly show values normalized to the interval times

Changed the default snapper options

Now only the snapper charts that actually data is gathered for are shown

Like this:

31 Responses to Download

I am not able to open and download the latest software Mumbai_v1.1.1.117.zip.
I think the host where it is hosted is not reachable from various servers. I am getting 404 error. Can you please upload somewhere else and share the link?

Hi Marcus,
Such a great tool !
I am amazed at seeing what you did in Mumbai.
Recently I was searching information about the Oracle Wait Interface and I found the snapper script which then led me to your website.
Congratulations for such an easyness of use, for the nice GUI, for the way snapper has been included and its data now available in graphic form.
A friend of mine asked me if Mumbai exists for Linux.

Hi, Marcus
This application realy useful. I liked how you integrated snapper from Tanel Poder with graphical part, AWR reports, Statspack reports and ASH. Well done! Keep on improve the program!
I see that program always hangs when I press ‘Refresh’ button in AWR section.
Could you please fix it?

Awesome tool … and I have not even enabled BASH on the server! I checked the statspack wait event graph and found that it would be cool if the x-axis labels (date and time) could be drawn with vertical orientation. As it is now you cannot really see any of those labels if you make this graph for a week or so with hourly snapshots.

good to hear you like it. The labels on the graph are really a limitation of the charting component I use. For now, you will have to help yourself with the tooltip hints over the data series showing the date and time. I now use another charting component, e.g. for the ASH Viewer and I’ll probably recode the SP/AWR stuff for this new charting component sometime.

Thanks for your comments … another thing you may improve with the SP graphing is to allow to draw the total wait times (per hour). For whatever reason you decided to take the unit ‘absolute wait time in microseconds per seconds elapsed’, its hard to map the resulting numbers to what really happens. I think the total wait times would be much more intuitive. The optical outcome would be perfectly the same, except that the numbers are more easily to understand.

Example: SP report states 483 secs DB time and 194 seconds wait time for db file seq. read. Your graph says, its 53.855 microseconds at the same point in time. In my head this maps to 0,053 % which is really not much. But why is it graphed as such a dominant wait event? Because this wait time is 40,1 % of the total db time and so this is a major wait. Hope this helps.

Following your example: 194 seconds wait time for db file seq. read in a one-hour (3600secs) interval means that 5,3% (not 0,053%) of the one hour wall-clock time were on this event. “53.855 microseconds per second” is just another way of saying this (1.000.000 msecs=1 sec).

The reason for the normalized unit is that you can’t assume a uniform snapshot interval. There might be additional manual snapshots or times where you did e.g. 30 minutes snapshots. To show reasonable and comparable values the shown values are normalized to one second wall clock time and thus independent from the snapshot interval. The SP/AWR textual reports work on one start and one end snapshot and have the duration of the interval at the top (actually they only have the timestamps and the first thing I always do is to write down the number of seconds elapsed), so you can put the absolute values below into context. The graphs in Mumbai work over lots of snapshots and thus need to normalize the values.

Regarding the question if this is a major wait event: If you have 10 seconds DB time within a one-hour-interval and 90% of these 10 seconds were on “DB File seq. read”, would this be a major wait event. It is a large share relatively to the DB Time, but would you be interested performance-wise in an event that took 9 seconds in a 3600secs interval (0,25%)? It probably depends on how the 10 seconds were spread over different sessions and different times, but I guess the short answer would be no.

I’m not sure what you have in mind. What do you mean by “other database”? Mumbai needs to fetch the AWR data from the database where the AWR data is stored into memory and will show the analysis result. Mumbai does not store this data persistently/locally.