Case Study

DATA MIGRATION FROM ORACLE TO POSTGRESQL

BUSINESS NEED

The client wanted to move over from an Oracle database to Postgres open-source database, to reduce total cost of ownership.

‘Data Integrity’ of the re-platformed database and Information security during data migration were of paramount importance for the client.

PROPOSED SOLUTION

Milinia proposed a customized ‘Project execution approach’ to meet the information security needs of the client during project execution, transition and for the replatformed database.

PROJECT EXECUTION

To adhere to client information security requirements and expectations, Milinia proposed to adopt a customized project execution approach with following steps:

  • Setup PostgreSQL database
  • Execute trial data migrations
  • Replatform the application.
  • Transition to the new application and Go-Live.

Setup PostgreSQL database

This step assured client the integrity of the data storage platform, the Postgres database.


    Milinia adopted the following approach in this stage:

  • Created a blank Postgres database with all tables of the client application

  • Set primary key, foreign key, not null, unique and other constraints for all tables. Setting up the database with all constraints ensured that only proper values were loaded onto each of the fields in every row in every table.

  • Install Postgres database in database server of client test environment. Client checked the database constraints by comparing the source Oracle and Postgres database.

Execute Trial Data Migrations

This step assures client the integrity of migrated data and data migration process. The client had 16 offices with each office data in a separate schema in Oracle.

    Milinia adopted the following approach to provide the required level of assurance:

  • Milinia planned a largely automated process for data migration using its data migration tool ‘PeriWin ETL’

  • Data was migrated table by table to enable client to test migration after each step

  • Milinia performed the data migration under the supervision of client. In case an error was encountered while migrating data for a table, all data of that table were deleted and loaded afresh.

  • Data from all 16 field offices schema in Oracle were migrated to one schema in Postgres

  • Multiple ‘data migration trials’ were planned and performed. Data migration scripts were created during these trials.

  • Data from all offices in 16 Oracle databases were migrated and consolidated in one Postgres database. Duplicate master entries were eliminated and varied master codes used standardized to a single code automatically with ‘PeriWin ETL’ tool. Source databases had fields of Oracle data types long and other usual data types.

  • Submitted test cases document, report of record count at source and destination table wise and test case execution results.

The client supervised the trials, performed a record count check of migrated data and a random check of field level data in Postgres database Vs Oracle database.

Replatform the Application

This step assured the client of the integrity and availability of modified application. This step essentially was to modify the application source code to operate with Postgres database, test thoroughly at Milinia end and deploy in test environment for acceptance testing by client.

    Milinia performed the following activities in this stage:

  • Modify ‘Data Access Layer’ code to connect to Postgres and execute database operations

  • Modify code for application to work on a single schema with all 16 offices data

  • Replace the database with Postgres and modify database procedures, functions and other database components

  • Incorporate coding changes in modules, test these modules and deploy it with all 16 offices data in test environment – critical operational modules in first build, modules for local headquarters in second build, modules of corporate headquarters in the final build

  • Fix defects reported by client

  • Submit report showing record count at source and destination table wise

  • Submit Milinia’s internal test report for client records.

Client tested and validated each build – checked migrated data, tested process flows, figures in reports between old and new application, cross check figures between reports in new application, ran test cases provided by Milinia and their own test cases etc.

Transition to the new application and Go-Live

Once client was assured of ‘Data Integrity’ and ‘Application Availability’ the transition was initiated, wherein, the live application was stopped, data was migrated from live Oracle database to new Postgres database and the replatformed application on Postgres was made live. The data migration was done as an automated process and the whole transition was completed over the weekend (Friday evening to Sunday evening), as required by client, and the replatformed application was made live.