How do you automate change and release management for PL/SQL Language?

This post on “How to design a release management strategy for Oracle pl/sql? ” was my question recently.

Is there any tools you may be using within your big projects for this need(maybe some opensource tools) and would you share your strategies?

These are perceived as the weak side of this great development environment and it is known there are also big PL/SQL based projects like Advanced Replication,  Applications module, Workflow and Apex inside Oracle. But where are the tools that can be easily found and used for other development environments for PL/SQL?


  1. Bob Baillie has done quite a lot of work in this area. As far as I know he hasn’t published any of his code, but he has talked quite a bit about his PatchRunner concept in discussion with Wilfred van der Deijl . Check out Bob’s blog:

    Cheers, APC

  2. Hi Hasan

    I have used the Oracle 9i Change Management Pack in the past to compare dbs after an upgrade from 8i to 10g. What I found it useful for was that it would do something like ‘diff’ the two different versions 8i and 10g of the same database after a migration (say from one box to another), on many aspects, and find the differences on many things, including procedures of PL/SQL. Would display them graphically even! It could even apply the different bit from the old one to the new one by generating the necessary scripts for your. Plus would let you save versions! I am not sure what does the 10g and 11g offer currently on this, maybe there is something in OEM.

    It is worth having a look though on the 9i stuff below, as it can compare pl/sql procedures, diff them and let you store them in versions. It needs a kind of repository and off you go connect to 2 databases prod/dev start comparing saving and applying.

    Kind Regards and Iyiaksamlar!


  3. APC, Kubilay thank you for your comments.

    This blog is a gold mine in deed –

    But still I can not find a single tool inside Oracle or opensource to automate these fundamental needs of any development environment.

    Best regards.

  4. Jollo says:

    Hi all,

    I’m looking for 3 simple things… well, I thought of them as simple, but I’m realizing they’re not to be taken for granted!

    1) a reverse engineering tool that I can point to an Oracle schema and get a “baseline” script to re-create that schema from scratch, with decently formatted DDL files (1 per object) neatly organized in a directory tree (by object type) and called in the correct order. Icing on the cake would be an option to pass the tool a list of tables containing static data and get DMLs to populate (insert) those tables as part of the script.

    2) a diff tool that I can point to a pair of Oracle instances (source and target) containing a given schema and get a “delta” script to alter the target schema to become identical to the source schema. If data loss occurs on the target instance (i.e. drop a column) I would like to find a warning comment inserted in the script (e.g. “– Attention: data migration DML needed here?”). Icing on the cake would be an option to pass the tool a list of tables containing static data and get DMLs to update (delete, update and insert) the data in the destination tables to become identical to the contents in the source tables *without* deleting and re-inserting all rows (or dropping, recreating and repopulating the table).

    3) I would like the above two tools (that, as you will have recognized, are basic to putting your database design under version control) to be open-source, with a command-line interface and a vibrant community backing them.

    I must be one out of a couple million people asking for the same things over and over again: I’ve seen the questions all over the internet but I could find no straight answer. Please help!

    Thanks and take care.

  5. Jollo things you mentioned may be simple needs, but when it comes to Oracle Database development answers are not simple to my experience.

    For some of your needs you may check the abilities of PL/SQL Developer and Toad, there are several plugins which provide functionalities.

Leave a Comment

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

You are commenting using your 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 )

Connecting to %s