I'm trying to find a tool (or simple program, script, jar file) to describe my oracle database (schema).

What I need from output report:

  1. HTML format
  2. ER diagram in output
  3. Table and Columns description (packages, procedures etc is a big plus)
  4. Examples of data from a table in an output report.
  5. Possibility to regenerate documentation by schedule

What I am trying (but it does not quite fit):

  1. SchemaSpy
  2. Oracle SQL developer report
  3. Oracle SQL Data modeler reports

Could you recommend any other tool which may be more suitable for my needs?

  • 1
    Must the tool work directly on the database – or have you stored all relevant statements in .sql files? In the latter case, you might wish to take a look at my tool HyperSQL which goes this direction (no ER diagrams though, but dependency graphs instead). It's written in Python, and you can run it from any scheduler. It even includes some scripts to extract object definitions (e.g. tables) from your database, and you can have additional details included using Javadoc. Would that fit?
    – Izzy
    Commented Apr 22, 2016 at 14:29

2 Answers 2


Try Dataedo - it enables creation of detailed documentation of schema - all tables, columns, views etc. and generation of multiple ERDs and export it to PDF and HTML. Besides that you get ability to group objects into (so called) modules, writing long description using rich text and images, document relations/foreign keys, both, automatically from database and manually.

Your requirements:

  1. Supports interactive HTML export
  2. Multiple interactive ER diagrams
  3. Documents functions, procedures and triggers, but unfortunately not packages
  4. No sample data - you would need to type that in
  5. That would be supported in 5.2 soon

Hope that helps.

PS. I'm the product manager of Dataedo


SchemaCrawler is a free, open-source database discovery tool that you can do what you need.

  1. HTML format - SchemaCrawler generates HTML 5 output.
  2. ER diagram in output - SchemaCrawler generates ER diagrams embedded in the HTML output, without the need for a separate image file
  3. Table and Columns description (packages, procedures etc is a big plus) - SchemaCrawler can generate table and column descriptions, as well as procedures, and the actual defitions (that is, the DDL itself) in the documentation
  4. Examples of data from a table in an output report - Here are some examples - SchemaCrawler Output
  5. Possibility to regenerate documentation by schedule - Yes, SchemaCrawler is a command-line tool, and is designed for automation and scheduling

Sualeh Fatehi, SchemaCrawler

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.