Alex Kirpichny

Alexandr Kirpichny

Chief Product Officer, Ispirer Systems

Imagine you're embarking on a thrilling adventure, mapping out a journey to a new and promising land. Now, think of your business data as the invaluable treasures you carry on this expedition. Just like any explorer would assess the terrain, weather, and potential challenges before setting sail, a pre-migration assessment for your database is the compass that ensures a successful voyage in the digital realm.

A pre-migration assessment of a database refers to the comprehensive evaluation and analysis conducted before the actual migration process. It's the thorough inspection before the migration project that helps to understand the nuances of an Oracle to PostgreSQL migration project, the compatibility of the new environment, and potential obstacles that may occur during migration. In this article we are going to sort out the topic of an Oracle pre-migration database assessment, identify its benefits, and analyze the crucial assessment steps.

Why is Pre-Migration Assessment Crucial?

Assessing an Oracle database before migrating it to PostgreSQL is a crucial step. Let’s make it clear what the main objectives of a pre-migration assessment are:

  • Defining a Project Timeline. Assessment helps you understand the complexity and size of a source database. This information is vital for setting a realistic project timeline. To simplify the data gathering step, customers can utilize specific migrators to assess databases and get valuable info on the database components. We’ll review an example of such a tool further in the article.
  • Migration Cost. Assessing the database also helps in budget planning. Based on the gathered info about the project scope, it is easier to understand the project cost, the team size, team expertise, required effort and appropriate migrators. Without this assessment, you may overspend or run into unexpected expenses.
  • Detailed Project Plan. Once the source database is assessed, you can create a detailed project plan. This plan outlines the steps, milestones, and dependencies involved in the migration process when moving from Oracle to PostgreSQL. It acts as a roadmap, ensuring that everyone involved in the project knows what to do and when to do it.

Now let’s proceed to the steps required to properly assess a database before launching a migration from Oracle to PostgreSQL.

Database Assessment Steps

Assessment process is comprised of two sections:

  • Assessment of tables and data.
    One of the fundamental components of a pre-migration assessment involves a thorough evaluation of Oracle database tables - a critical step in ensuring a successful database migration to PostgreSQL. This assessment scrutinizes the structure, content, and interrelationships of each table within the Oracle database. The examination encompasses factors such as table size, data types, indexing strategies, and the nature of relationships between various tables.
    Understanding the nuances of data dependencies is paramount during this phase. It entails identifying how data is linked between tables and recognizing any foreign key relationships. This depth of understanding is essential for constructing a migration plan that accommodates the specific characteristics of each table. By doing so, businesses can optimize their migration strategy, estimate required migration effort, mitigate potential challenges, and prevent disruptions to data integrity.
    Furthermore, the assessment of tables serves as a strategic guide for data mapping and transformation. It is possible to identify redundant or obsolete data, restructure tables for improved performance, and ensure that PostgreSQL environment aligns seamlessly with the data volume and the intricacies of the existing data structure.
  • Assessment of SQL objects.
    The pre-migration assessment of an Oracle database includes an examination of SQL objects, which plays an important role in ensuring a smooth and successful migration to PostgreSQL. SQL objects, including packages, stored procedures, and functions are the backbone of database functionality, and their evaluation is crucial for a seamless transition to a new environment. At this stage, the gathered information allows to evaluate the alignment of Oracle code structures with Postgres and determine the migration efforts needed.
    The assessment of SQL objects involves a meticulous examination of the code embedded within these database components. This scrutiny aims to identify any potential issues related to syntax, functionality, or dependencies.

How to use Free Ispirer Assessment Wizard

One of the best ways to evaluate a database before Oracle to PostgreSQL migration is to use a tool for automated assessment. Ispirer Assessment Wizard is a perfect example. The tool is designed to analyze a source database before a migration to PostgreSQL. It provides a comprehensive analysis of the objects selected in the source database, estimates the expected efficiency of automated conversion with Ispirer Toolkit and the cost of converting those objects. In addition, the software demonstrates an approximate estimation of Ispirer Migration Service.

Let’s make a walkthrough of the tool functionality:

1. On the Welcome page you should specify the project directory where sqlways.log file with the log of the assessment process and reports will be saved. The tool operates without the Internet connection and saves everything to the project directory that was specified by the user.

Assessment Oracle to PostgreSQL1

2. Choose a source database. Then we need to choose the ODBC connection to the source database that you need to assess. Please also specify a user and a password that will be used to connect to the source database. Regarding security, the tool is granted read-only privileges, ensuring that it cannot modify any data.

Assessment Oracle to PostgreSQL2

3. Choose a target database. On this page you need to specify information about your target database (PostgreSQL in our case). Target database is considered for assessment of the migration complexity, further we are talking about it more.

Assessment Oracle to PostgreSQL3

4. Objects page. Choose objects for assessment. In case your database contains objects that are not used, you may not select them.

Assessment Oracle to PostgreSQL4

5. Specify additional options

Assessment Oracle to PostgreSQL5

6. Review all the selected objects

Assessment Oracle to PostgreSQL6

7. Execution Page. On this page you can check how the database is being assessed.

Assessment Oracle to PostgreSQL7

8. Completing page

Assessment Oracle to PostgreSQL8

In this section, you'll find a summary of the assessment, including source Oracle database, target PostgreSQL database, details such as the DSN name, selected objects, and a link to the comprehensive report containing all assessment details.

For additional access to this information, navigate to the "reports" folder within the project directory. Inside, you'll discover a collection of HTML files housing the metrics and additional assessment details.

Ispirer Assessment Report Analysis

The Ispirer Assessment Wizard Report provides comprehensive data on the Oracle to PostgreSQL database conversion project. This report helps customers understand the scope of migration, its complexity, and identify the code elements that are difficult to migrate automatically. The report also provides migration assumptions and potential automation rate of Ispirer Toolkit.

The Summary Information section gives us an overview of the objects in the source database. It allows us to see quantitative data such as the number of objects and statements that are used in each object type.

The Complexity Level Information provides a breakdown of the complexity levels of different object types. We have low, medium, high, and manual complexity categories. This information helps us assess the level of effort required for the conversion.

The Ispirer Toolkit Efficiency Assumption section is the most important part of the report. The report demonstrates the potential effectiveness of the automated migration with Ispirer Toolkit, as well as the number of statements that can be automatically converted by the Ispirer software.

Moreover, in this section we can find the recommended number of customizations to increase the automatic conversion rate, as well as the automatic conversion rate that can be achieved once the tool customizations are implemented.

When you're trying to pick a migrator, it can be tough to figure out how it can be beneficial. This challenge becomes even more significant if your database has more than 100,000 LoC, as it becomes intricate to identify suitable code samples that accurately represent the migrator’s performance.

Here's the problem: when you test the migration tool, you need to use a representative piece of code to see how it performs. But choosing the right piece of code isn't easy. If you pick a simple piece of code, the tool might seem great, but it could struggle with complex code structures later. On the other hand, if you use overly complicated code, the tool might show bad conversion results and you may erroneously find it ineffective.

You can test the tool with a lot of code, but it takes a lot of time. But here's where our assessment report comes in handy. Using the Ispirer Assessment report, you can select representative code of varying complexity, convert it with a demo license of Ispirer Toolkit and compare the results with the assessment assumption. Based on the migration report, Ispirer experts provide time and cost estimates for a conversion project.

It should be borne in mind that Ispirer Toolkit has a lot of settings that influence the quality of conversion and reduce required migration effort. If suddenly the trial conversion turned out to be worse than the assessment forecast, then do not hesitate to contact the support team. Our experts will help you optimally configure the toolkit.

Now let’s come to the final Migration Services Proposal section. The report provides an approximate estimate of the complexity level for each schema and approximate project duration. It includes information such as the number of lines of code, measured lines of code.


In conclusion, the pre-migration assessment of a database emerges as a pivotal phase in ensuring the success of a conversion endeavor. As exemplified by the use of automated tools like Ispirer Assessment Wizard, businesses can streamline and enhance this critical process before moving from Oracle to PostgreSQL. The process of assessing, which involves evaluating tables, data, SQL objects, and various intricate components, provides a roadmap for a seamless migration experience. It not only quantifies elements for effective planning and budgeting but also serves as a proactive measure against potential risks and disruptions.

If you are seeking a tool to assess an Oracle database before moving it to PostgreSQL, download an Assessment Wizard for free from the Auxiliary tools page.