Index   Search   Add FAQ   Ask Question  

Get DBDiff now. Click here!
Index > Other 3rd Party Tools > Software Tools > DBDiff

DBDiff for Oracle by DKG Advanced Solutions, Inc.

Topics

  • Summary
  • History
  • What is great about this product
  • Supported Operating Systems and Versions
  • Installation
  • What it does
  • Who should use it?
  • Competitive products
  • Detailed review
  • Shortcomings
  • Cost and where to buy
  • Support
  • 02-November-2002
    Author:
    Iftikhar Ahmad Lodhi

    database comparison software

    Rating


    Summary

    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 or platform.

    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.

    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
    Screen shots:

    Screen shot 1


    Screen shot 2


    Sample Report

  • Back to top of file

  • History

    DBDiff for Oracle was released in February 1999. It is developed by DKG Advanced Solutions, Inc. based in California. DB Diff for Oracle is an extension to another DKG product "DB Diff" that compares two databases regardless of their DBMS, developed and launched by DKG Advanced Solutions in summer 1997.

    DKG has introduced a bundle of DBA tools "OraPowerTools" that includes DBDiff for Oracle, DBScripter for Oracle and OraEdit PRO.

    This review is based on the latest Version 2.07 Original release.

  • Back to top of file

  • What is great about this product

    This 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.

  • Back to top of file

  • Supported Operating Systems and Versions

    DBDiff 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.

  • Back to top of file

  • Installation

    The 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.

  • Back to top of file

  • What it does

    • Databases comparison: To find out the difference(s) between two Oracle databases, schemas, or any database objects. DBDiff for Oracle is also capable of comparing data in tables or views and code in functions, procedures and packages.

    • Upgrade Script: To keep a database consistent through different development phases could be a hazardous job, upgrade scripts generated by DBDiff simplify this job.

    • SQL comparison: To find out the difference(s) between result of two SQL statements on same or different databases. By specifying a select statement yourself, you can control which pieces of information will participate in the comparison.

    • Cross database difference analysis: Such analysis is especially useful after various back-end upgrades and migrations, after for example some new or existing product is migrated from development to production environment. The result of analysis is used to find missing or incorrectly migrated/upgraded objects as well as help in troubleshooting different database behavior.

    • Database(s) change analysis: As DBDiff for Oracle generates reports in a structured way and those reports can be printed or saved on disk for future references. The current reports can be viewed to find changes in one or both databases with the passage of time.

    • Database Analysis. Although the basic function of product is to compare two Oracle databases but it can also be used to analyze a database by giving the same database in both parameters. This is useful for viewing / saving a statistical report about your objects.

  • Back to top of file

  • 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.

  • Back to top of file

  • Competitive products

    DB Diff from DKG 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 from SoftTree 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 from Quest Software, Inc. The product is can comparing and track changes in schemas. You can download it free here.

  • Back to top of file

  • Detailed review

    DB 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…

    • Compare the privileges
    • Compare the sequences
    • Compare the table structures
    • Compare the table indexes
    • Compare the table constraints
    • Compare the table data
    • Compare the table triggers
    • Compare the views structure
    • Compare the views data
    Obviously it is not the final level of depth; by clicking "Advanced" button you can enjoy more advanced features of the product. You can include or exclude as many tables as you want, to compare both structure and data.

    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…

    • Compare the functions
    • Compare the packages
    • Compare the packages body
    • Compare the stored procedures
    • Compare the type
    • Compare the type body
    Here you also have an "Advanced" option to include or exclude specific functions, procedures and packages.

    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

    • Minimize the screen when not looking at it. This will stop DBDiff from dealing with the User Interface and therefore run a lot faster.

    • If you are running Windows 98, make sure you have the "Animate windows, menus and lists" option set off, this slows down the output to the control panel. You can set this option off by going to the Windows Control Panel => Display => Effects dialog box and unchecking that option. If you do not want to set this option off, then minimize the DBDiff Control Panel while running a comparison.

    • If you have very many records that you expect to be different, especially when doing data comparison, then run the report directly to a file instead of the screen, this will make the run go many times faster.

    • If possible, run DBDiff from the machine where at least 1 database is physically located, this will help by lowering the network traffic. If you have both your databases running on the same machine, then running DBDiff on that machine will definitely be a big improvement.

    All of the above points help a lot in making the comparison run a lot faster, try to follow as many as possible.

  • Back to top of file

  • Shortcomings

    The 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.

  • Back to top of file

  • Cost and where to buy

    You 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.
    3830 Valley Center Dr. Suite 705-294
    San Diego, CA 92130
    USA

    Toll-free: (877) 4 DKG USA
    Tel: (858) 509 3776
    Fax: (858) 777 3451

  • Back to top of file

  • Support

    The 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.

    E-mail:
    For sales and licensing:
    sales@dkgas.com
    For technical support:
    support@dkgas.com
    For information
    comments@dkgas.com

  • Back to top of file


  • About the Author

    Iftikhar Ahmad Lodhi is an Oracle Certified Professional, working as Software Engineer at Xorlogics, Inc. Pakistan. You can contact him at ialodhi@hotmail.com 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


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