Data Contained In An Oracle Stored Procedure Can Be Challenging To Translate

By Alicia D. Haleli


It can be a challenging and expensive task to attempt to migrate information contained in an Oracle stored procedure as the complex SQL needs to be translated from one form to another. A unique tool was created by the Bull Database Migration Team that would have the capability of providing information to the translator regarding function interface and table definitions that could assist in the support of data structures by providing utility functions.

The tool translates the PL/SQL to PL/pgSQL and creates interface code that is appropriate for the new application. It can require an average of six months time to successfully finish a translation. The amount of time needed for the translation was decreased to one month with the implementation of this tool, which is much more cost effective and acceptable.

Since the translation is done automatically using the tool, the testing process also goes much faster because the quality of the translated code is drastically improved. An Oracle stored procedure that includes translating Oracle's PL/SQL source code to PostgreSQL part of the database migration demands serious deliberation. That translation can be challenging because of the proprietary nature of PL/SQL, usually resulting in expensive recoding along with extensive testing of the results. The semantics of the PostgreSQL server and the functionality that is supplied by the PL/pgSQL do not act in the same manner as the Oracle server with its PL/SQL even though there is a very comparable syntax for both types. Any translated stored database procedure that interfaces with client code will be largely impacted by every conversion. It is safe to say that given those facts along with a myriad of other details it can be a very pricey and difficult task to do an actual migration from Oracle.

Converting Oracle with the use of the tool that this team created goes beyond anything that was available previously. The code needed to support features like global variables global indexed arrays and global packaged records is created as this tool evaluates the environment. Previously it was almost impossible to code and test without unbelievable costs for the migration of a customer's functions, procedures, triggers and packages.

The initiative to migrate to an open source technology as part of a governmental initiative was recently decided upon by a large South American Bank in an effort to update their IT structure. This incorporated an extremely large database with tens of thousands of lines of stored procedures that needed to be converted from Oracle to PostgreSQL. Manual translation is not an option because of the huge span of complexity within a database. Tools that exist for this purpose are often not of any help because they are too simplistic. This fantastic new translation tool reduces time, costs, and increases effectiveness when used to assist the migration nightmare.




About the Author: