Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 
Support the Oracle FAQ by supporting our sponsors. Click here!

Index > 3rd Party Tools > Software Tools > KeepTool

Hora by KeepTool, GmbH.

Topics

  • Summary
  • History
  • Supported OS Versions
  • Installation
  • What it does
  • Problems Solved
  • Who should use it
  • Competitive products
  • Detailed review
  • Shortcomings
  • Cost and where to buy
  • 7 March 2004
    Author:
    Mark Richard

    Rating


    Summary

    Hora is an exceptionally powerful tool for Oracle DBAs, Developers and anyone else who has to interact with the product on a regular basis. The tool presents users with an incredible array of tools and options for working with Oracle, whilst maintaining a simple and intuitive interface. In addition to the main tool there are also ancillary products including an ER Diagrammer, PL/SQL Debugger, HTML Documentation generator and DDL Reverse Engineering tool - a wonderful suite of products for "getting the job done" offered at an extremely competitive price.

    It is immediately obvious that the people creating the tool have an intimate knowledge of how Oracle works and what DBAs and developers have to do on a day-to-day basis. The user interface has some really unique approaches to simplifying a monster as complex as Oracle - with screens, tabs and context menus all carefully designed to display information clearly and logically. Finally, the ability to preview and record commands issued to the database really make the tool appropriate for a production environment where your reputation is on the line.

    Usefulness to DBA
    Usefulness to developers
    Functionality, how much does it do
    User interface, intuitive/friendly
    Software quality, integrity, robustness
    Documentation quality and scope
    Technical support availability
    Value for money
    Ease of integration with other tools and systems
    Overall rating

  • Back to top of file

  • History

    Hora came to life in 1996 when 3 programmers of the German software company PSI AG created a GUI interface wrapping all their personal SQL scripts together - Hora (short for [H]andy [ORA]cle Tool) was born. The product was developed further and acquired a loyal following of users before KeepTool GbR was founded in April 1997 - which then became KeepTool GmbH in September 2000.

    Since this time the product has continued to grow and evolve - averaging one major release per year. Most recently, Version 6.1.0 was released in January 2004. Each new release introduces new functionality and support for new Oracle commands and functionality. At the time of writing this review, support for Oracle 10g is being incorporated.

  • Back to top of file

  • Supported Operating Systems and Versions

    Hora runs on all 32-bit Windows platforms including Windows9x/NT/2000/XP. Oracle SQL*Net version 2 and higher clients are supported although it is also possible to connect directly to Oracle using TCP/IP without the client installed. Oracle Database server Versions 7.2 and higher are supported. Work is underway to properly address the new Oracle 10g features and ensure full compatibility - expect to see this release very soon. Diskspace and physical RAM requirements are trivial - around 25MB and 64MB respectively.

  • Back to top of file

  • Installation

    Hora is very easy to download and install. The current download weighs in at just under 13MB and includes all of the product suite, as well as a comprehensive help file. A simple wizard aids installation and even though it recommended a restart of the computer I had no problems from skipping this step.

    There is no server side installation required for Hora. In fact, I was impressed when I tried to get an Explain Plan from a new database instance - the product informed me that the PLAN_TABLE did not exist and then politely offered to create one for me. This was a pleasant change to some products that can be very cranky when they don't find what they expect.

  • Back to top of file

  • What it does

    Hora provides an all-encompassing graphical interface to administer and develop Oracle databases. The tool covers all of the various objects held within an Oracle database and provides amazing reporting and maintenance mechanisms for them. It also provides a powerful interface for querying the database, including the ability to import, export and report on the data retrieved.

    The application does an exceptionally good job of managing the vast functionality and configuration options provided by Oracle. Oracle can be a complex beast, but Hora makes a very good attempt at simplifying the experience due to its user interface. Additional included tools, such as an ER Diagrammer, PL/SQL Debugger, HTML Documentation Creator and DDL Generator help to make a DBA's life as simple as possible.

  • Back to top of file

  • Problems Solved

    Hora provides a graphical interface for supporting, maintaining and enhancing Oracle databases. The way it lays out information is clear and logical, letting users find what they are after easily and efficiently. Also, the ability to both preview and record SQL issued against the database provides a level of comfort and control that make it well suited to production environments where repeatability and an audit trail are essential.

  • Back to top of file

  • Who should use it?

    The primary users of Hora would have to be DBAs followed very closely by Developers and then Data Analysts. Hora provides a fully integrated environment for the maintenance of a database and is fully aware of all the tasks a DBA would typically perform within the database. It then extends its application by providing SQL and PL/SQL development environments, including a PL/SQL Debugger, and finally it includes a powerful query interface with update / import / export and report functionality.

    Read the detailed review below to get an understanding of how Hora can integrate into your daily duties and then download a trial version to see it all in action - the product has too much depth in terms of functionality to cover fully in the review.

  • Back to top of file

  • Competitive products

    As mentioned, Hora is primarily aimed at DBA's and Developers, in particular those performing routine management and maintenance of the database, as well as SQL and PL/SQL creation and query execution. There are several tools all competing in this market place and they all have their strengths and weaknesses. Some are good at developing PL/SQL, some are good at tuning specific SQL statements, some are good at working with data. In my opinion, Hora's biggest strength lies in database administration but can certainly compete in other fields quite well also. Having said that, Hora is playing in the market with the following products:


    TOAD - Quest Software ( Orafaq review )
    RapidSQL - Embarcadero ( Orafaq review )
    SQLNavigator - Quest ( Orafaq review )
    SQL Programmer 2001 for Oracle - BMC (recently purchased from Sylvain Faust) ( Orafaq review )
    ManageIT SQL-Station - CA (Computer Associates)
    Expediter/SQL - Compuware
    PL/SQL Developer - Allround Automation ( Orafaq review )
    Golden, PL Edit, GoldView, GoldLoad - Benthic Software (shareware)
    EZSQL - John Dorlon( Orafaq review )
    Keeptool (Hora, ER-Diagrammer, PL/SQL-Debugger)

    See the comparison table, which compares PL/SQL Developer and other SQL development tools

  • Back to top of file

  • Detailed review

    Hora can actually be considered as one primary product (Hora) and several ancillary products that can either be called from within Hora or started individually. Since Hora contains the bulk of functionality this review will focus heavily on this product, with smaller sections devoted to each ancillary product.

    Hora
    Hora is the flagship product of KeepTool GmbH and they should be very proud of what they have created. From starting out as a wrapper for a series of SQL scripts, the product has grown into a fully fledged database administration and development tool. The user interface involves a multitude of screens available from an Outlook style list of icons running down the left edge of the screen - since there are so many facets to Oracle administration there is even a customizable "Favorites" list.

    Selecting any of the items from the list then displays a summary page for that item. From here it is possible to perform numerous actions against the database (such as dropping or creating new objects of this type) or change to other tabs containing more detailed information. The wealth of information provided in incredible, yet the interface chosen keeps everything logically grouped and easy to navigate. At first it might seem daunting to someone new to Oracle, but it would actually be a good way of learning what Oracle is capable of and how concepts relate to each other. The following is a list of top-level screens available currently:

    StandardAdditionalDBA
    SQL Java Tablespaces
    Tables Types Users
    Data Browser Operators Sessions
    Sequences Index Types Database
    Packages Dimensions SGA & Statistics
    Synonyms Outlines Redo Logs
    Jobs Directories Audit
    Pipes Libraries Performance
    DBLinks Summaries Dictionary
    Materialized Views Schema Resource Manager
    Materialized View Logs    

    Hora's consistent interface is built on the Outlook Bar (left),  a major feature (Tables), and a series of tabs and grids that enable drilling down to a specific object, which can then be manipulated (in this case: edited and compiled).

    Hora's consistent interface is built on the Outlook Bar (left), a major feature (Tables), and a series of tabs and grids that enable drilling down to a specific object, which can then be manipulated (in this case: edited and compiled).

    To give you a quick idea of coverage, the "Tables" screen begins with a very detailed list of all tables within the schema. Right-clicking on any specific table presents around 20 options, ranging from creating a new table, to moving the object to a new tablespace, to listing the chained rows within the table. At the same time 13 tabs across the screen provide access to further details such as partitions, dependencies, access control and audit settings. Selecting items within each tab then provides even more options - it quickly becomes difficult to think of options and details that aren't included.

    Going through every screen available could turn this review into a multi-volume novel so I will leave this as an exercise for yourself when you download the trial. I've been using Oracle for quite a few years but I still came across functionality that I haven't touched in a long time (sometimes ever) - the depth of coverage is certainly impressive. The remainder of this section will instead focus on features that are particularly appealing and unique.

    The SQL Preview option presents any proposed action as SQL, which may be modified before execution, or canceled.


    The SQL Preview option presents any proposed action as SQL, which may be modified before execution, or canceled.

    One feature in particular appealed right from the start - a pair of options known as SQL Preview and SQL Recording. The preview option shows every statement before its execution, providing an opportunity to review the command being submitted and even modify it or cancel it. Remember that everything in Oracle is essentially done as SQL and the power of this functionality quickly becomes apparent. Firstly it provides a level of comfort for those people used to administering Oracle from the command line - you can see the exact syntax Hora will issue to Oracle to achieve what you have requested. Second it provides a mechanism to modify the command, just incase Hora doesn't provide enough flexibility or isn't aware of obscure / new syntax options. Meanwhile, the recording option logs every command issued to a logfile - this provides both a convenient audit trail and the ability to test-run commands in a non-production environment and then re-issue the exact commands as a script when confident. These features really indicate that the developers are aware of what's required in the real world - they've been there.

    SQL Workshop lets you build, save, organize, and execute ad hoc SQL, then input the results into a report.


    SQL Workshop lets you build, save, organize, and execute ad hoc SQL, then input the results into a report.

    The SQL screen is also first class in terms of functionality. A flexible hierarchical repository allows users to save common statements and share them amongst team members with total flexibility. The ability to save, organise and share SQL commands really makes good sense once you understand the concept. Also available is a file explorer tree that incorporates support for Version Control software. Running a query presents the results at the bottom of the screen in multiple formats and provides a simple mechanism for converting the results into an updateable record set. Code snippets (including hints, functions and pragmas) and code completion help write queries, whilst the explain plan provides insight into Oracle's expected execution approach.

    Also worthy of mention are the import, export and reporting options presented within the SQL screen. A wizard helps you to import data from Excel, Access, XML and various other formats, whilst exporting can be performed to 15 different formats (including Excel, PDF, XML and CSV to name a few) with a wonderful range of options depending on the format chosen. With the ability to save and load export options, gone are the days of copying and pasting to a different tool and then manually formatting the result. Finally, there is a Fast Reports report formatter (similar to Crystal Reports) for creating reports destined for an art gallery - or perhaps senior management!

    The SQL Query Builder is yet another component accessible within the SQL screen. It provides a graphical interface for building SQL statements. It uses the referential integrity defined within the database to automatically join tables and provides access to many SQL options such as aliasing, aggregation, filtering and sorting. The tool is capable of building Select, Insert, Update and Cursor For statements and returns the result in the SQL screen at the current cursor location.

    The Data Browser screen offers another way of viewing data. This screen begins by allowing the selection of a table and the optional application of a filter (essentially a simple Where clause). Results can be viewed as either a table view, record view or text view (similar to SQL*Plus output), and options exist to export to Excel, create a report, create insert or update statements in addition to standard navigation, insert, edit and delete options. A powerful feature of this screen is the ability to open linked tables using the "Goto Master Table" and "Goto Detail Table" options - which list all tables linked by referential integrity and provide a simple way to navigate around data very quickly. The same functionality is also provided within the Contents tab of the Tables screen.

    The Dictionary screen is a simple yet also very useful tool. It provides access to all of the tables and views available internally within Oracle (i.e.: ignoring those created by users). There are hundreds of these, offering information about the database and its contents. Thankfully, Oracle has been very diligent at providing embedded comments for these tables and their columns. Hora provides a searchable interface to these table comments, column lists and column comments - thus providing a nice mechanism for discovering some of the internal information and instrumentation that Oracle makes available. Other included screens such as Database, Performance and SGA & Statistics provide considerable insight into the database - especially when investigating performance problems.

    ER Diagrammer
    ER Diagrammer shows existing tables and relationships, and together with Hora, lets you create new ones.


    ER Diagrammer shows existing tables and relationships, and together with Hora, lets you create new ones.

    The ER diagrammer product can be used to generate entity relationship models based on an existing database schema. After logging in to a destination database the schema to diagram can be selected along with an "Exclude Standalone Tables LIKE" clause (which defaults to any table containing $_ in it's name) and finally an option to include referenced tables that reside in another schema.

    A structured ER diagram is then produced with an automatic layout. Tables can be dragged and rearranged at will - the relationship links follow the tables. Multiple subset pages can be created in addition to the entire diagram by using a simple selection tool - very handy for creating logical subsets of complex models. Also, there is the ability to add columns to existing tables and even create additional tables within the diagram.

    Diagrams can be saved in a custom format and an "Update from schema" option allows changes to be incorporated without losing previous layout changes. A drop-down list of tables in the lower-left corner make it quick to locate tables lost within large diagrams.

    HTML Documentation Generator
    The HTML documentation generator is a simple program used to produce a large HTML file documenting a chosen database schema. The documentation can be generated in either English or German and provides a filter for table selection and a second filter for PL/SQL object selection. A single output file can also be selected.

    Once generated, the HTML document is broken into a table section and a PL/SQL object section. The table section has a hyper-linked list of all tables followed by specific details for each table. The details provided include a comment, column details (including datatype, nullable, default and comments), constraints, indexes, triggers, detail tables and a referenced-by-object section. The PL/SQL object section has a hyper-linked list of all objects followed by specific details for each object. The details provided include the text of the object, a references-object section and a referenced-by-object section.

    PL/SQL Debugger
    With PL/SQL Debugger, variables being watched and DBMS_OUTPUT are always in view.


    With PL/SQL Debugger, variables being watched and DBMS_OUTPUT are always in view.

    The PL/SQL Debugger product is a useful tool for creating and investigating PL/SQL blocks. The tool provides all standard debugging options including: The ability to Run, Step, Trace Into and Trace Out, the ability to add variable watch lists and evaluate and modify variable contents, the ability to add, toggle and remove breakpoints and a call stack. Also included is a window for tracking DBMS_OUTPUT commands.

    The debugger includes syntax highlighting to improve the readability of PL/SQL code and right-clicking on the code provides an additional range of options such as Explain Plans, an Object Browser, formatting and searching options. The overall result is a more than capable PL/SQL development environment that is closely tied to the main Hora product.

    Database Reverse Engineer
    The database reverse engineer product is a DDL generator. Using the tool is quite straight forward. The first thing to do is connect to an Oracle schema. Then, on the left side of the screen is a list of object types to generate DDL for - object types can be included or excluded as desired. On the right is a large number of tabs representing each object type. Inside each tab is a list of all objects allowing the selection of specific objects if required - in addition to individual and all/none type selection there is also string matching facilities available, making it quick and easy to select from a large number of objects.

    The only other option is an output filename to write the DDL into. The whole product is very fast to use and generates clean, commented and sensible DDL quite fast. To give an indication of speed, a 16,000+ line (300KB) DDL script took less than 1 minute to generate on a moderately slow PC connected to a remote database. The DDL generated also has some handy commented out sections such as connect statements and drop statements before certain commands that are likely to be required. Overall, it's a fairly simple tool but it does a very nice job of generating DDL and when combined with the file comparison tool provides a mechanism for easily comparing schema differences.

    SQL Editor
    The SQL Editor product is a text editor designed to assist with writing individual SQL queries and scripts. It provides regular text editor features such as block indentation, search and replace functionality, block commenting, case conversion and bookmarking. It also provides syntax highlighting and options to connect to a database, execute queries and commit or rollback the results.

    In addition to this is a file comparison tool (i.e.: a diff like product). This is a very useful tool when searching for changes in large SQL scripts, and particularly useful for comparing DDL scripts. The tool highlights additions, deletions and modifications and provides options to reconcile differences or produce a report.

  • Back to top of file

  • Shortcomings

    Overall, Hora is very mature and feature-rich and only contains a very small number of glitches that don't have any measurable impact on productivity. Having said that, there is also a little room for improvement in some of the ancillary products, such as the HTML Documentation Generator and ER Diagrammer. For example, the HTML Documentation Generator is very functional yet a little basic compared to similar products and the interface is not quite as mature as the main Hora product. I expect that over time, however, these ancillary products will mature as they are integrated into the main Hora product.

    There are also a couple of tricks to the product. For example, multiple selection of objects in Hora appears to work but if an action is then chosen from the context-sensitive menu (such as Drop Table) only the object under the mouse is affected instead of the action being performed against all selected objects. When I raised this with the developers, however, they were aware of the problem and are already working on the solution - expect it soon (possibly by the time this review is published). In fact, I discussed several things with the developers and they always seemed eager to improve the product and incorporate ideas.

  • Back to top of file

  • Cost and where to buy

    Some of the KeepTool suite of products are priced individually from the main Hora product. At the time of writing, Hora (including all tools except the ER Diagrammer and PL/SQL Debugger) is priced at $US560 (€560 if in Europe) for a full license and $US336 (€336 if in Europe) for the upgrade. The ER Diagrammer module is $US240 for full and $US144 for upgrade, whilst the PL/SQL Debugger is $US170 for full and $US102 for upgrade. Be aware that the $US prices only apply to US and Canada based customers - all other countries should convert from the Euro price supplied. Bulk licensing and special educational prices are also available - discuss your requirements with KeepTool to determine a final price. Visit the KeepTool website (http://www.keeptool.com) for the latest prices and purchasing options.

    Hora can be licensed in either single-workstation or floating license mode for the same price. In addition to this there is a "Take Home" license accumulator. This facilitates use of the floating license on portable computers. Essentially, a client associated with a floating license will continue to function when disconnected from the base network for a period of 30 days. Once the client is reconnected to the base network the license validity is automatically reset back to 30 days - great for roaming consultants or for anyone who might have to work outside their regular environment periodically.

    The product can be downloaded from the KeepTool website and is fully functional in a trial mode for 30 days. The trial version can be converted to a fully licensed version at any time by entering the appropriate licensing keys.

  • Back to top of file

  • About the Author

    Mark Richard has been working with Oracle databases for over 5 years. During this time he has worked primarily as a database developer specializing in performance tuning on both Datawarehouse and OLTP applications. He can be contacted at mark_andrew_richard@hotmail.com. Mark has no connections with KeepTool, GmbH.

    Can you write reviews and articles like this one? Why not become an editor or reviewer for the Oracle FAQ? Find out how you can make money, get noticed and advance your career click here


    HOME | ASK QUESTION | ADD FAQ | SEARCH | E-MAIL US