Download

Current version  2.2.1.824 (released February 5th, 2013): Download here (Download link fixed.)

Installation

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).

Change history

Changes for 2.2.1.824:

  • Added ASH data viewer (supports ASH and BASH data)
  • Added one-click 10046 tracing for scripts in the console window
  • Lots of small tweaks and fixes

Changes for 2.2.1.821:

  • 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.)
  • Added column VISIBILITY in index list of table details view (>=Oracle 11.1)
  • Fixed missing spaces in SQL text retrieved for sql_id/old_hash_value
  • Fixed names of bind variables being truncated after 4 chars in 10046 trace file viewer
  • Removed the listagg function call for the “Unindexed FK constraints” query for Oracle version below 11.2
  • Added USES_DEFAULT_PASSWORD column in users view (>11.2 only through a join with DBA_USERS_WITH_DEFPWD)
  • Fetching executions plans with workload statistics didn’t work for statements starting with “WITH … AS”
  • After executing an SQL query/script against multiple databases in the console window, the SID for the connection was not updated, so tracing operations failed
  • Lots of tiny tweaks and fixes

Changes for 2.2.1.809:

  • SQL*Plus “exec” command now is supported with “Run script” in console window
  • When running a script against multiple databases the “Fetch DBMS_OUPTPUT” option is now applied correctly over new connections
  • Fixed the position of the encrypt button in the connection dialog
  • Added missing join predicate on OWNER columns in “Unindexed foreign keys” query
  • Added columns constraint_name, referenced_owner, referenced_table and referenced_columns in “Unindexed foreign keys” view
  • You can now retrieve a custom number of lines from the alert.log instead of the fixed number of 2000 lines
  • Added context menu actions for “Run scheduler job” and “Stop scheduler job”
  • Added support for “SET SERVEROUTPUT ON/OFF” in scripts
  • Fixed the ismodified filter in parameter views
  • 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:
    1. Export to Excel
    2. Export to HTML
    3. Export to text
    4. Add filter by focused cell
    5. 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
  • Added Object Dependencies and References as context menu item in data grids (see first image above)
  • 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:
  • Fixed the AWR/SP reports delta calculations for overflowing values and SQL address changes
  • AWR/SP SQL reports: There is now an option to sum up values/counts from different SQL_IDs with the same FORCE_MATCHING_SIGNATURE hash under one SQL_ID:
  • AWR/SP SQL reports: You can now set the minimum number of Top SQL statements shown in the report (see image above)
  • AWR/SP SQL reports: Added context menu for SQL series with actions for the SQL_ID under the cursor:
  • AWR/SP SQL reports: Added context menu action to show the unaggregated data from STATS$SQL_SUMMARY / DBA_HIST_SQLSTAT
  • 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
  • Added context menu actions for “Show compilation environment” and “Show reasons for non shared cursor” (when SQL_ID and CHILD_NUMBER columns are available)
  • Added mouse wheel scrolling for card views (as seen in the database info view)
  • Added views for V$SESSION_LONG_OPS, V$SESSION_CONNECT_INFO, V$PROCESS_MEMORY, DBA_DIRECTORIES
  • Added database info view (consolidating V$DATABASE, V$INSTANCE, V$VERSION and V$DATABASE_INCARNATION)
  • Added view for V$SQL_BIND_CAPTURE (including a handy context menu action which opens the selected SQL including the bind variable definitions in a console window)
  • Added an editor macro recorder in the console window
  • Fixed the “Missing bind variables” view which also showed child cursors for the same sql_id
  • “Find object” now lets you search by OBJECT_ID
  • You can now select a color/bold font style for the tabs in main window through the context menu for the tabs:
  • You can now select the sources for SP/AWR correlations:

Changes for 2.1.1.689:

  • Fixed an access violation on startup

Changes for 2.1.1.688:

  • Added execute SQL/script on multiple connections functions in console window
  • Added “Cell multi select” option to grid popup menus (through the context menu of the column header)
  • Added category field in connection management
  • Added “Free MB of max” colum in “Tablespace and datafiles” view
  • Fixed refresh action in “Tablespace and datafiles” view
  • Fixed positioning of subitem on custom button bar
  • Including CREATED and LAST_DDL_TIME columns in DBA_OBJECTS queries now
  • Added “Convert to uppercase/lowercase” functions to context menu in console window
  • Added “Users,Roles/privileges” view

Changes for 2.1.1.630:

  • Added graphical execution plan visualization
  • Execution plans are now shown with additional columns as seen in Randolf Geist’s brilliant xplan_extended_display_cursor script (http://oracle-randolf.blogspot.com/2011/12/extended-displaycursor-with-rowsource.html) – Kudos and big thanks to Randolf!
  • Added correlation report for SP/AWR data
  • Made the SP/AWR Top SQL report queries significantly faster
  • Added Elapsed time, CPU time, Buffer gets and Disk reads per execution graphs in SP/AWR SQL reports
  • Added “Disk reads” graph to Statspack/AWR SQL reports
  • Fixed a problem in the “Elapsed time” graph for SP/AWR data showing unrealistic high values
  • Fixed error message in the log file switch map for more than 99 log file switches per hour
  • Joined the info from DBA_JOBS_RUNNING and DBA_JOBS into one view
  • Added “Base table” column in Segments View
  • Three new grouping options for Snapper ASH mode are available: “sid+sql_hash_value+event+program”, “sid+sql_hash_value+event+module”, “sid+sql_hash_value+event+terminal”
  • In the snapper ASH diagram you can now actually group by all columns that you asked snapper to gather
  • Added “Export to png” for chart views (in the “Data shown” tab of the customization window)
  • Updated Orasrp fixing a problem with empty 10046 trace file reports
  • Added “Show user ddl” context menu items in the user view
  • “Search SQL text by sql_id” now searches in V$SQLTEXT_WITH_NEWLINES
  • Fixed fetched record count in the status bar of the console window showing “?”
  • A couple of other fixes and small improvements…

Changes for 2.1.1.603:

  • Copied the host field in the connection manager to the top where it belongs
  • Fixed retrieval of trace files from Unicode platforms (trace file showed up empty)
  • F5 now refreshes the current view (now from the DB)
  • The data tab on the table details view fetched all records
  • Application icon now turns red while there are active queries

Changes for 2.1.1.595:

  • All (long running) queries can now be cancelled
  • All chart diagrams now have the following diagram types available: Line, Column, Area, StackedColumn, StackedArea
  • The chart diagram customization window now has settings for min/max values of the y-axis being drawn
  • You can now encrypt all connection passwords (stored in the filesystem) with a master password
  • There is now a new way to get an execution plan for a query: “parse, execute (without fetch)”
  • Added “Execute script as another user…” function to the console window
  • Cleaned up the Connection Manager design
  • You can now set primary DB credentials and additional DB credentials for a connection for quick access from the console window
  • You can now customize the visual appearance of Mumbai in the settings dialog – also changed the default visual style
  • Added a database links view
  • F11 now hides most of the ribbon toolbar
  • Fixed running object browser with a non-privileged user
  • Fixed one-click generation/retrieval of 10046/10053 trace files on Oracle 10.2 (no TRACEFILE column in V$PROCESS)
  • In the console window CTRL+S and CTRL+Shift+S insert “SELECT * FROM …” and “SELECT COUNT(*) FROM …” with an optional semicolon at the end
  • Fixed error “Cannot perform this operation on a closed dataset” in console window
  • Fixed error “Overflow while converting variant of type (Double) into type (Integer)” in chart views
  • The DDL view now shows the errors for invalid objects
  • Ctrl+F4 now closed the active tab
  • When logged in “AS SYSDBA”, the SIDs for the console windows were wrong and thus the 10046 trace files were not activated for the console window session
  • Sessions from Mumbai now set the module information as seen in V$SESSION
  • Fixed conversion error in the Tablespaces/Datafiles view
  • Lots of other tiny fixes and changes…

Changes for 1.1.1.331:

  • There are now three grouping options for Snapper available: “sql_id+event+wait_class”, “sid+sql_hash_value+event”, “sid+sql_id”
  • Console output window now uses a fixed font
  • Added object_type search criteria in object search dialog
  • Added support for DBMS_OUTPUT in the console window
  • Added “log groups/files/switch map” view
  • Added “Show ddl” context menu items for jobs and scheduler jobs
  • Added dba_scheduler_schedules view
  • DDL lookups for V_$* and GV_$* views are now served by a lookup in V$fixed_view_definition
  • Added “Search SQL text by sql_id” function (searches V$SQLTEXT, DBA_HIST_SQLTEXT (if Diagnostic Pack is licensed) and PERFSTAT.STATS$SQLTEXT (index on column sql_id is recommended))
  • Tabs in the main window can now be moved by drag & drop
  • Fixed order of values in one of the Statspack/AWR instance activity diagrams
  • Closing the snapper window somtimes left the Snapper SQL*Plus session open
  • DDL shown from the context menu of the object view disappared when closing the object view
  • When “count records” was disabled in the console window, executing a query always fetched all records
  • Fixed an out of memory error when loading a 10046 trace file

Changes for 1.1.1.235:

  • Added SQL statement charts for Statspack and AWR data
  • Added AAS (Average Active Session) chart in wait events report view for Statspack and AWR data
  • Added “Segment size” view, including table & column names for lob segments
  • Added option in “Find objects” dialog to directly open the object details view

Changes for 1.1.1.185:

  • Added “one-click” 10046/10053 tracings
  • Added bind variable table in 10046 trace viewer with the option to start a console window with the bind variables set
  • Added support for 11.2.0.2 10046 trace file format (large cursor# values)
  • Made parsing of 10046 trace files faster and lowered memory footprint
  • Added support for TIMESTAMP data type for bind variables in the console window
  • Added view for (optimizer) system statistics
  • Added view for segment statistics
  • Added “Reformat SQL” function in console window
  • Added on-the-fly SQL syntax check in console window
  • Added schema selector in console window
  • Enabled “Replace” in console window
  • Added “create snapshot” function for Statspack and AWR
  • Enabled incremental search for focused column in grids
  • Fixed AV when closing “search object” window
  • Fixed devision by zero error for “free space” view

Changes for 1.1.1.122:

  • Fixed error message when connecting a console window as a non-priviliged user
  • The temp tablespaces/tempfiles are now listed in the “Free space” view
  • Now handling malformed heap dump entries like ‘Chunk 2d27bff0 sz= 98320 no access “KGH: NO ACCESS’ gracefully
  • 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
  • An active snapper tab now shows a red icon
  • Snapper spool files for separate sessions now go into separate directories (in …TEMP\Mumbai)
  • Added “find object” function
  • Added “find source” function
  • Fixed a bug where the tab caption showed the old DB identifier after connecting to another DB
  • Fixed a problem in the 10046 trace file viewer when cursor number were greater than 2147483647
  • Fixed a bug where snapper was snapping more information than selected by the user
  • Fixed the scheduler views tab caption
  • A bit of this and that… :-)

Changes for 1.1.1.53:

  • The snapper script is now included in the download archive (Thanks Tanel!)
  • Added first version of an object browser, including detail views for table and view objects
  • Added views for users, jobs and scheduler jobs
  • Removed default configuration files from the download archive, so that existing files don’t get overwritten unintentionally when updating
  • Fixed “Open referenced file” for “ORA-00060: Deadlock detected. More info in file …” entries in alert.log viewer
  • A couple of small bug fixes

Changes for 1.1.1.34:

  • Fixed parsing problem where results always doubled up when running snapper
  • Now color coding lines starting with “PLS-” as an error in the alert.log file viewer

Changes for 1.1.1.32:

  • Added “Clone console window” function in console window
  • Fixed parsing problem where no result were shown when running snapper

Changes for 1.1.1.24:

  • Snapper could not be started when the installation path of Mumbai included spaces
  • Added missing file snapperrunner.sql to the distribution

Changes for 2.1.1.688:

28 Responses to Download

  1. Anjul says:

    Hi Marcus,

    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?

    Thanks
    Anjul

  2. Try this one with the added “www.” part:

    (Removed link, since it pointed to an old version.)

  3. AT says:

    I am having problems download, i can’t get to download link, can you please check?

    Regards
    AT

  4. I’m working on it. Might take a few days.

  5. jeanmichel says:

    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.

    Greetings from France
    Jean-michel, Nemours

  6. Jagjeet Singh says:

    Hi Marcus –

    I am wondering about the name. Mumbai is a famous city in INDIA. What made you to choose this name.

    Thanks for great tool

    Regards,

    • Hi Jagjeet!

      There’s really no special reason behind it… I just liked the name of the city and city names for computer applications prevent trademark problems.

      Cheers,
      Marcus

  7. JC Dauchy says:

    Hello Marcus,

    Thanks for this awesome tools.. I was wondering how to use the putty and Winscp features ? I put the putty and winscp in my PATH variable but I can’t enable the putty login.. :(

    • Good to hear you like it!

      The putty/WinSCP feature is not documented, sorry. You will have to edit the Mumbai.ini file to have the following entries:

      [PATHS]
      Putty=C:\Programme\PuTTY\putty.exe
      WinSCP=C:\Programme\WinSCP\WinSCP.exe

      This will only work if you entered a hostname on the “Easy Connect” page for this connection, even if you actually use a TNS alias.

  8. wenmei says:

    Hi
    nice tool
    Actually I am working myself on a similar statspack/awr/ash related project
    http://www.zion-dba.com for screenshots
    regards
    Patrick Boulay

  9. VinceM says:

    Hi Marcus,
    Great tool and I love the fact it integrates with snapper and putty. I have often thought of doing something similar, but it is much easier to think it about instead of actually doing it ;-)

    I just seem to have one issue. When I select the Object browser with a non-privileged account I get the following error:
    ORA-00933: SQL command not properly ended.

    Everything works fine if I grant privileges on DBA_OBJECTS to my user or use an acount with dba privileges.

    Finally many thanks for sharing your work.
    Vince

  10. Hi Marcus,

    Fabulous tool. Very elegant design and very very useful. Thank you for this. I was working on Snapper and got redirected from Tanel’s blog. This is a great tool. Congrats and Thank you!.

    Cheers,
    Harry

  11. amy says:

    Marcus, Awesome changes to version 2.1.1.630. I was already able to identify a problem that i am trying to figure out for couple of day with the help of correlation. AWESOME…..

  12. I love this product. Can we expect a Linux version sometimes in the future? This is a Delphi compiled product and my main desktop is Linux X86-64. Having this on Linux would be a great plus.

  13. Hallo Marcus,

    hab mir mumbai gerade installiert und spiele damit rum …
    Sieht ja klasse aus auf den ersten Blick, vielen Dank !

    Grüße vom Fuße des Betzenbergs,
    Matthias

  14. Yuri van Buren says:

    Hi Marcus,

    Just found out you added ASH info …. great stuff man.
    Keep up the good work.

    Regards,

    Yuri

  15. igor says:

    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?

    Thanks!

    Best regards,
    Igor.

  16. Robert says:

    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.

    Regards,
    Robert

    • Hi Robert,

      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.

      Cheers,
      Marcus

      • Robert says:

        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.

        Regards,
        Robert

      • 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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s