oraDifference.py - Contrast the data dictionaries of two Oracle schemas.

Purpose of This Script

Leverages graphical diff/merge tools to display differences between the structures of two Oracle schemas. Syntactically irrelevant differences are ignored. Produces batchfiles to copy object definitions between schemas.


The sqlWrap installer automatically puts oraDifference into your Python Scripts directory: https://sourceforge.net/projects/sqlwrappy/

It requires that Cheetah and cx_Oracle be installed:

Cheetah: http://www.cheetahtemplate.org/download.html
cx_Oracle: http://www.cxtools.net/default.aspx?nav=cxorlb

To run most conveniently, make sure that your Python Scripts directory is in your PATH environment variable.

How To Use This Script

At the command prompt, run python oraDifference.py schema/password@db1 schema/password@db2

A directory, oraDifferenceResults, will be generated under your current working directory. Browse into it. To view the exact differences between two schemas' versions of an object, invoke the script with that object's name. To propagate one schema's version of the object into the other schema, invoke the appropriately named script.

#configure me statements are sprinkled through the script. If you want to adjust the script - changing the criteria used to determine differences, look for these comments. findSoftware.py (installed into your Python library) can also be configured to change your diff/merge viewing software.

April 12, 2006 by Catherine Devlin (catherine.devlin@gmail.com, http://catherinedevlin.blogspot.com/)