KeepTool 12 released

Hello again and welcome to the March 2016 issue of the KeepTool newsletter, Keeping in Touch.In this issue, we’d like to introduce you to KeepTool 12, which offers additional support for Oracle 12c as well as for the depiction of Oracle Spatial data. We’ve also instituted a new, easier licensing process and made the user interface blend in with Google’s Material Design standard.

KeepTool 12 introduces a new Free edition with most of the functionality of the former Light edition. KeepTool Free is absolutely free to download and distribute.

Please continue reading to learn more about KeepTool 12.

Windows 10 Compatibility

All KeepTool 12 client editions run on Microsoft Windows 7, 8.1 and 10 and the corresponding server versions: 2008 release 2, 2012, 2012 release 2 and 2016.

The network license server runs on Microsoft Windows, Mac OS and Linux.

Three editions: Free, Professional und Enterprise

Two years ago, we bundled our products in three editions: Light, Professional and Enterprise; each addressing a specific user profile. This successful realignment is now being modified slightly: we have decided to release a new Free edition that includes the most essential features of the former Light Edition.  If you are a Professional or Enterprise customer, you may wish to consider distributing the Free edition to your customers as a free querying and reporting tool.

As was previously the case, KeepTool Professional includes our universal development and administration tool Hora together with the SQL Editor, Reverse DB Engineer and HTML Documentation Generator. The Enterprise edition again adds the modules ER Diagrammer, PL/SQL Debugger und DB Compare.

All editions are available as 32- and 64 bit-runtimes.

Licensing and Updates

KeepTool Free can be used free of charge. The two commercial editions come with a fully functional 30-day trial period. For unlimited use, you can purchase a full license or an upgrade for the prior Version 11. Either way, you get:

  • An unlimited license for the use of the software on the supported platforms.
  • One year of free updates from our download server. This includes both minor updates (patches) and upgrades to the next major version if released within the maintenance period.
  • One year of product support by email.
  • One year’s free use of our cloud-based license depot for license transfers between machines.

All commercial licenses are available as network or workstation license and are managed through Codemeter.

The licensing process has now been greatly simplified through the implementation of Codemeter. When you purchase a license, we’ll send you a ticket consisting of a string of alphanumeric characters that will allow you to use the software on your computer. Simply enter the ticket code in our KeepTool License Manager, which will take you to our License Depot. The Depot will also let you exchange a license if you ever want to move the software to another computer. Alternatively, customers without an active Internet connection may also take advantage of a file-based activation process.

To accommodate those of our customers who maintain network licenses on virtual machines, in the second quarter of 2016 we will give them the alternative of tying their licenses to pluggable hardware (dongles). Accordingly, licenses can be easily transferred within the computer center without having to use the cloud services.


As usual, we are offering volume discounts of 20% for 5 or more licenses, and 30% for 10 or more licenses. And if you’ve bought KeepTool 11, our recent version, in January or February 2016, you can get the upgrade to Version 12 for free when purchasing a one-year update retroactive to the date  you purchased Version 11.

Current KeepTool Light customers may—depending on their circumstances—opt to switch to the new KeepTool Free, or move up to the KeepTool Professional at a particularly attractive price. All KeepTool Light customers will soon receive a special upgrade offer.

Main products:

KeepTool 12 Edition
Professional Enterprise
Full license including 1 year maintenance period 800.00 € 1,100.00 €
1 additional year maintenance period 120.00 € 165.00 €

Upgrade to version 12 including maintenance for the remainder of 2016

Upgrade from KeepTool 11 Professional to KeepTool 12 Professional 320.00 €
Upgrade from KeepTool 11 Enterprise to KeepTool 12 Enterprise 440.00 €

Value Added Tax will be charged on all orders from EU countries if no tax id number is supplied.

The same prices are in effect for single workstation licenses or for each network license seat.

Additional Oracle 12c Features

KeepTool 12 supports the EXPLICIT NULLS clause, invisible columns and Oracle identity columns.

Oracle 12c Features

These features are available when maintaining table columns, while editing data, and within our DDL generation engine.

A visual facelift

KeepTool 12 introduces a new look and feel. All button images have been repainted to blend seamlessly into Google’s new Material Design. The skinned user interface is now enabled by default, showing fewer edges and lines than before.

Some significant functional enhancements simplify your work; here are just a few examples:

  • Hora’s window titles now include the database host name and service name (or SID).
  • Improved docking performance for the DBMS_OUTPUT and SQL result set windows.
  • The dropdown list of the combo box for changing the CURRENT SCHEMA shows
    • The logon schema, SYS, SYSTEM and PUBLIC in blue
    • Pre-installed Oracle schemas in italics
    • Schemas for which the logon user has been granted permissions in bold

See the Release Notes for a complete list of changes.

Oracle Spatial

Oracle Spatial support has been improved. The following new features have been added to the “Schema | Spatial Columns” page:

  • Maintenance of Spatial Indexes
  • Coordinate system changes including data transformation
  • Configuration of the bounding rectangle
  • Automatic creation of comments for MDRT tables implicitly created by Oracle

A new Open Street Maps viewer can be opened from the Data Contents view.

Open Street Map Viewer

Create Table Dialog

In the “Create Table” dialog, the “Add stamps” tab lets you add several pre-defined columns to the table, e.g. timestamps for record creation or last change. KeepTool 12 now lets you freely customize these columns and save the new column set as the default for future use.


The order of table columns now can now be easily modified by dragging and dropping the triangular indicator preceding each column name.

The “Row Dependencies” check box allows Oracle’s row-level dependency tracking option to enforce storing the SCN in the pseudocolumn ORA_ROWSCN for each changed data row instead of storing it only for the data block.

Data Contents

To display the ORA_ROWSCN pseudocolumn in the Data Content view, open the column selector popup and check the box indicated. If you sort the grid view by this column, you will have an idea of which rows may have been recently changed, even if your table does not have timestamp columns for change logging. It may be a good idea to enable Oracle row level dependency tracking as described in the previous paragraph. Otherwise, all rows that are stored in the same data block will share the same SCN.


Another highlight of the new version is that the Data Content view now permits flashback querying. The button resembling a clock opens a dialog box where you can enter a flashback expression, for example to see historic data as of the beginning of the current day:

flashback query

KeepTool 12 now uses bold fonts for headings of columns that are part of a primary or unique key constraint. Headings of required (not null) columns appear underlined.

KeepTool 11 introduced tooltip hints for column headings showing column comments and structural information. Now KeepTool 12 also displays table comments as tooltip hints for the table header.

There are two new menu items that appear on the tree view tab sheet when right-clicking on a node:

  • “Filter subtree”
    Filters all nodes subordinate to the current node by SQL.
  • “Filter path to root”
    Filters a bread crumb path from the current node to the root node using SQL.

PL/SQL page

The list of procedures within a package has been moved to the left side of the editor window:

Procecure List

This provides for straightforward navigation through the hierarchy of

  • Package/Body
  • Procedure/Function
  • Source Code

The navigator shows a solid bullet in front of public methods and a circle in front of methods that are declared in the body only.

SQL Editor Window

KeepTool 11 introduced the context menu items (and shortcuts) “Selected object | expand SELECT / INSERT / UPDATE / CURSOR-FOR-LOOP” to create the appropriate SQL statement for a table name selected in the editor. KeepTool 12 now adds a list of check boxes that can be used to specify the column names to be included into the query.


The “Code Snippets” and “DB Object Browser” floating tooltip windows have now both been embedded into the editor. The new version of our DB object browser lists the selected schema’s tables, views, packages procedures/functions and sequences on separate tabs. When you drag-drop an object name into the code window, a popup menu appears, giving you a choice of different code types to be generated such as a SQL select statement or a PL/SQL call.


The second tab, “Code Snippets,” allows you to drag-drop predefined code snippets into the editor window. The templates can be customized by editing a configuration file.

The Explain Plan dialog that is available from the editor window has been updated as well. In addition to an improved layout, the facility now shows inactive plan branches produced by the Oracle 12c Optimizer Adaptive Features as grayed.


Sessions Page

In KeepTool 11, you could see the SQL statement currently being executed for active sessions only. Now, for inactive sessions, KeepTool also displays the SQL statement being executed at the time the session became inactive. Below the SQL statement, you can see the latest values of stored bind variables. Oracle stores snapshots of bind variables approximately every 15 minutes. Search for “bind capturing” in the Oracle documentation to learn more about this feature.

The new Status | Time column indicates how long the session has been in the current status. You can now see the progress of long running queries right on the Overview page, which displays the top entry from the Long Operations tab sheet.

The new version allows you to switch directly between single-instance view and multi-instance view using a check box. Previously, in Hora 11, switching required a change to your settings.


KeepTool Free

Our new Free Edition contains the Hora Free application. This is a compact successor to Hora Light that has been designed for end users who are focused on data entry, mining, and reporting.


Release Notes KeepTool 12

  • General
    • Windows 10 support
    • WIBU CodeMeter-based licensing system
    • Default skin “DevExpress Style”
    • New set of Material Design-inspired buttons
    • A new button in the connect dialog opens a Windows explorer in the folder where connections are stored as XML file.
    • The direct TCP connection mode now supports object types (such as spatial data), XML types and cursor data types
    • No storage clause is generated for database objects stored in locally managed tablespace with auto segment space management.
    • KeepTool now provides high resolution for large-screen monitors.
  • Oracle 12c features
    • DEFAULT Values On Explicit NULLs clause support.
    • Improved support for invisible columns.
    • Support for identity columns.
  • Hora
    • Hora now shows the host name of the database and the service name (or SID) in the window caption
    • Improved docking performance of dbms_output and SQL query resultset windows.
    • Quick navigator buttons next to the overview grids that don’t match any data are now disabled. Remaining buttons show tooltips for first matches.
    • The schema selector in the footer of the main form now displays the logon schema, SYS, SYSTEM and PUBLIC in blue. Oracle’s predefined schemas use italics and schemas given grants to the logon user are shown in bold.
  • Schema page / Oracle Spatial
    • There are two new context menu items on Schema|Spatial columns page:
      • DROP spatial index
      • UPDATE all column data with NULL value
        helps developers to overcome an ORA-29858 error (ODCINDEXALTER error) after changing the SRS_ID by re-creating spatial index on the emptied column.
    • A new grid view on the spatial columns page shows all available coordinate systems from MDSYS.CS_SRS.
    • You can now update spatial column metadata using a modal dialog. The dialog also lets you copy metadata from another column.
    • A new menu item “Comment Spatial Index Table” creates comments for the MDRT_*$ tables that are created by Oracle automatically for spatial index maintenance.
    • A new menu item “Change SRID (Coordinate System)” allows you to change the SRID metadata, converts spatial data into the new coordinate system and recreates the spatial index.
    • Context menu items “Show DDL” and “Manage role privs” added to the Role Hierarchy page
  • Tables page
    • New menu item “Tables | Copy to clipboard | Table API Package”
      creates a package with member functions for insert/update/delete operations on tables
    • The “drop constraint” dialog allows you to drop the constraint including the supporting index.
    • You can now add comments for Materialized Views
    • Improved support for long numbers on “Create table by file import” menu item.
  • Create Table dialog
    • New option “Row Dependencies” to enable row-level dependency tracking. This Option is also included in generated DDL statements.
      When activated, Oracle puts an SCN on every row and not just on every physical data block.
    • The default columns created by the “Add stamps” button in the Create Table dialog can now be configured. Click the “Save as default” checkbox to save the current columns as the default.
    • You can now change column order by drag/dropping the row indicator.
  • Data Content
    • The grid contains two invisible pseudocolumns ROWID and ORA_ROWSCN. To make them visible, use the column selector in the upper left corner of grid.
    • Data Content shows headers of primary and unique key columns in bold. Headers of required columns are underlined as before.
    • Data Content banner shows table comment as tooltip hint.
    • A new button next to “Apply Filter” showing a clock. Allows you to enter an “AS OF TIMESTAMP” expression for flashback query (Oracle 11g or later).
    • The context menu for spatial data columns allows you to show them in an embedded OpenStreetMaps view.
    • There are two new menu items on the treeview page:
      • “Filter subtree” builds a SQL condition to select all tree nodes below the current node.
      • “Filter path to root” builds a SQL condition to select all tree nodes from the root node up to the current node similarly to a bread crumb path.
  • PL/SQL page
    • Method navigator moved to the left side of the editor
    • Procedure/function list now uses a solid bullet for public methods.
  • Editor
    • Context menu commands “Selected object | expand SELECT / INSERT / UPDATE / CURSOR-FOR-LOOP” show a checklist dialog that allows you to deselect columns to exclude them from DML generation.
    • New context menu command “Selected object | Expand SELECT records without details” creates a SELECT statement for the selected table name that returns all records of the master table that do not have any detail records.
    • New menu command “Format | Format Delphi Stringlist” replaces all ‘#$0D#$0A’ substrings with CRLF characters, eliminates duplicate apostrophes and removes the apostrophes at beginning and end of each line. This helps Delphi developers format SQL text that has been captured from the debugger at runtime and changes it into pure SQL that can be executed in Hora.
    • Improved Explain Plan dialog, especially for displaying adaptive plans.
    • Both DB Object Browser and Code Snippet tool windows are now an integral part of the SQL editor window. This allows a tighter integration with SQL code generation. You can drag/drop items into the code window and create SELECT statements, dbms_output clauses and much more. Double-click object names in either the code window or Object Browser to highlight occurrences.
      There is also a button to open the SQL Query Builder.
    • Navigation buttons for prior and next diffs in file compare dialog.
    • Syntax highlighting recognizes Oracle 10g string literals such as
      q'[It’s a string with embedded quotes…]’
  • Sessions page
    • Whereas Hora 11’s session overview displays SQL statements for active sessions only, version 12 can also display SQL for sessions that have only recently become inactive.
    • For long-running queries, you can see the last ‘long ops’ status message right on the overview screen. In most cases, this eliminates the need to open the long ops sheet. You will love it when monitoring sessions using the auto-refresh option.
    • The new “Status | Time” column shows how long the session has been in the current status
    • New kill session option: “immediate”
    • The Sessions page displays bind parameters that are captured periodically by Oracle below the query. See Oracle documentation for details about bind capturing frequency.
    • A new checkbox “Multi-instance view” allows you to switch between a V$ view-based single-instance page and a GV$ view-based multi-instance view without the need to change KeepTool settings as was required in version 11.
  • Database page
    • New menu item “Reset system parameter”.
  • Materialized View Page
    • Improved column layout and property editor.
  • Reverse DB engineer
    • You can now select grantees of object privileges.
    • The tool now remembers the output path for each connection.
    • DDL generation for Oracle 12c features
  • Tablespaces
    • Below the tablespaces grid view you can now see a list of related initialization parameters. This does away with the need for the db_create_file_dest text box in the upper right corner of Hora 11.
  • Container DB
    • New container detail view shows history.
    • New container properties tab sheet.
  • DB Compare
    • New object name exclusion list in DB Compare’s scan options.
    • DDL comparison adds new Oracle 12c features
  • HoraFree
    • … is our ultra-light successor to HoraLight and comes with the most essential features of both the Data Content browser and SQL pages. This tool can be used free of charge.