|Index Search Add FAQ Ask Question
|Index > Other 3rd Party Tools > Software Tools > DBDiff
DBDiff for Oracle by DKG Advanced Solutions, Inc.
Author: Iftikhar Ahmad Lodhi
DBDiff for Oracle performs a comparison between two Oracle databases and gives
a statistical report and can also generate scripts to upgrade from one database
to the other. DBDiff supports Oracle 7.3 and later, the databases being compared
don't need to be of same version, they don't even need to be on the same machine
DBDiff for Oracle is capable of comparing two entire databases as well as
database objects i.e. schemas, privileges, sequences, tables (structure and
data), indexes, constraints, triggers, views (structure and data), functions,
procedures, and packages while SQL comparison option allows you to compare data
from tables/views that may have not same name and/or structure.
The product is useful for DBAs, Project Managers and lead developers. There are
a few other tools available for comparing databases, DBDiff is particularly
useful because of it's simple to use GUI interface and it's fast and accurate
comparison between the databases.
This review is based on the latest Version 2.07 Original release.
DBDiff for Oracle is capable of comparing two entire databases as well as database objects i.e. schemas, privileges, sequences, tables (structure and data), indexes, constraints, triggers, views (structure and data), functions, procedures, and packages while SQL comparison option allows you to compare data from tables/views that may have not same name and/or structure.
The product is useful for DBAs, Project Managers and lead developers. There are a few other tools available for comparing databases, DBDiff is particularly useful because of it's simple to use GUI interface and it's fast and accurate comparison between the databases.
This review is based on the latest Version 2.07 Original release.
What is great about this productThis product is ideal to find differences, for example when an existing product is migrated from development to production environment. DBDiff for Oracle can help to find missing or incorrectly migrated / upgraded objects. One of the most useful features is that it keep Developers synchronized during the development cycle (development, testing, demo, production), providing the capability to compare different objects, data and code in the different environments.
Two great features that I found in new version are, Upgrade script and SQL comparison. Using these features you can upgrade your "old" database by running the script generated by DBDiff. SQL comparison facilitates you to compare the results of your SQL statements.
Configuration files allow you to save a database comparison configuration for future use.
Supported Operating Systems and VersionsDBDiff for Oracle runs on all 32-bit Windows platforms, including Windows 95, 98, 2000, NT and XP. Hardware required is Pentium CPU or higher with 16 MB of RAM (32 MB Recommended). A Unix version is not available but still you can compare databases running on any platform.
InstallationThe installation was easy and I did not experience any problem. A wizard takes you through the installation process. You need to have license key to run the application.
In order to access your databases, you need to have an Oracle client installed on your machine, and appropriate entries in your NET8 (tnsnames.ora or sqlnet.ora).
DBDiff for Oracle can access any database that you can setup either using an SID or a Service Name.
What it does
Who should use it?Oracle DBAs, project managers and lead developers. Developers can also make great use of it by comparing objects, data and code.
DB Diff fromDKG Advanced Solutions, Inc. the product is same in functionality except that it is DBMS independent and does not compare the code of stored procedures and packages. You can download its demo version or purchase it here.
DB Difference Expert fromSoftTree Technologies, Inc. it has a navigator to explore the entire database. There is also a review of this product on Orafaq. You can download a free trial pack or can purchase it for $289 here.
Schema Manager fromQuest Software, Inc. The product is can comparing and track changes in schemas. You can download it free here.
Detailed reviewDB Diff for Oracle provides an easy way to compare 2 Oracle databases at any level. Any Oracle database can be compared, the databases do not need to be of the same version.
Databases don't even need to be on the same machine, as long as they are both accessible from the machine running DBDiff for Oracle.
In order to access your databases, you need to have an Oracle client installed on your machine, and appropriate entries in your NET8 (tnsnames.ora or sqlnet.ora). DBDiff for Oracle can access any database that you can setup either using an SID or a Service Name.
After connecting to both of databases you are ready to start the comparison. But this is not all that you can do with DBDiff for Oracle.
If you do not have read rights for any of the objects that you are comparing, DBDiff generates an error.
The product makes good use of resources. It actually stores very little information about each database in memory and the rest of the comparison is done by interactively interrogating the databases. The databases being compared do not need to be inactive; you can still interact with them though it slows the process.
I made a number of comparisons of databases on the same machine and the time taken ranged from 5 sec to 1min depending on the size of databases. I also tried running comparisons over the network, time taken was from 20 sec to 15 min.
To make a comparison:
There is a form comprised of checkboxes, lists and radio buttons to set up the parameters to compare the two Oracle databases. The form gives options to include or exclude the objects in comparison. There are two main classifications, 1) Objects., and 2) Source.
In Objects frame you can select to…
DBDiff for Oracle only attempts to compare if the tables are similar in name and number of columns. If the data types are different it will still compare them, but with different names or different number of columns it won't as it is assumed that all the rows would be different.
You can tell DBDiff to ignore some columns while comparing.
In Source frame you can select to…
In "General" options you can specify the output on screen or text file, "Save incremental" option gives you the facility to free up resources, it saves the report to text file after every specified number of lines and deletes the output from screen.
The report generated by DBDiff for Oracle is formatted in a user-friendly manner. The different colors of two databases and different objects make it easily readable.
Upgrade Script: You can choose whether you want a comparison report or upgrade script. Selecting upgrade script generates a script that you can run in target database giving you the options to include PCTFREE, PCTUSED, INITRANS, MAXTRANS and storage clauses. However when generating upgrade script you don't have option to compare data.
SQL Comparison: can be made to compare results of SQL statements executing on different databases/objects. It particularly solves the problem of comparing differently named/structured objects and you can specify which piece of data will participate in comparison.
Configuration Files: this feature allows you to save current configuration of connection and comparison in a file with extension "dbo" that can be used for running DBDiff from command prompt and for future automation of comparison as well.
Some tips to get results faster
ShortcomingsThe products works well, but many new features and improvements can be added.
it doesn't catch differences in changing order of a composite primary key. Currently DBDiff only reports position differences on indexes created as indexes. The fact that it doesn't report the difference on the primary key has been entered as a bug and will be fixed for the next release.
It gives an error when comparing large objects. This bug also has been noted and will be fixed in next release.
The option to save the snapshots of a database or schema or any other object is very important for the database change analysis. The next release will cover this feature.
For new features I suggest a web version that should compare two databases over the internet, also ability to create database files to enable "off-line" comparisons, a browser; enabling users to browse their databases would be of great use.
Cost and where to buyYou can purchase a single license DBDiff for Oracle in US$285 (EUR 306.48) online, or by fax or email. You can also download a demo version of DBDiff for Oracle.
DKG Advanced Solutions Inc.
Toll-free: (877) 4 DKG USA
SupportThe people at DKG are always ready to resolve your problems whether related to sales or technical support.
The price of DB Diff includes 1 year of maintenance and support.
The homepage with all the products listing and information http://www.dkgas.com
You can always find and download from there the latest versions of products without any extra amount.
For sales and licensing: email@example.com
For technical support: firstname.lastname@example.org
For information email@example.com
About the AuthorIftikhar Ahmad Lodhi is an Oracle Certified Professional, working as Software Engineer at Xorlogics, Inc. Pakistan. You can contact him at firstname.lastname@example.org or be a member of his community.
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