SlideShare a Scribd company logo
2
Most read
6
Most read
7
Most read
StrikrSystemsLLP
Oracle to
Strikr case on Database Migration
StrikrSystemsLLP
What tools were used
●
A variety of "freeware" tools were investigated
such as
– MyOraDump
– SQLines
– Ora2Pg
– ESF DB migration
●
On multiple Oracle databases of varying sizes
starting from 10Mb to 80Gb (spanning control
experiment db to real-life DB)
StrikrSystemsLLP
What was the goal
●
Within the context of the schema, the focus was high fidelity migration
of
– Schema
– Tablespace
– Identifier name(s)
– Table
– Views
– Stored procedures
– User-defined functions
– Triggers
– Index
– Constraints
StrikrSystemsLLP
What went well
●
Dump of data from Oracle in CSV format was
obtained
●
The following objects were migrated
– Table
– View
– Index, but no other database object.
StrikrSystemsLLP
Challenges faced
●
Stored procedures, user-defined function have
not migrated at all.
●
The storage size of data types of the column(s)
changed across both PostgreSQL and MariaDB
●
StrikrSystemsLLP
utf8mb4
●
utf8mb4 is a 4-byte UTF-8 encoding used in Oracle, where as MariaDB
and PostgreSQL use utf8 encoding.
●
tuned tool settings to utilize variable length encoding
●
Encoding expands the storage used by the table(s) and
– impacts 65535 bytes row restriction
– impacts 3072 bytes index key-size restriction.
●
post multiple customization's, the following object(s) were successfully
migrated
– Schema
– Table
– View
– Index (partial)
StrikrSystemsLLP
Stored Procedures
CREATE OR REPLACE FUNCTION
cs_fmt_browser_version(
v_name varchar2,
v_version varchar2
)
RETURN varchar2 IS
BEGIN
IF v_version IS NULL THEN
RETURN v_name;
END IF;
RETURN v_name || '/' || v_version;
END;
/
show errors;
CREATE OR REPLACE FUNCTION
cs_fmt_browser_version(
v_name varchar,
v_version varchar
)
RETURNS varchar AS $$
BEGIN
IF v_version IS NULL THEN
RETURN v_name;
END IF;
RETURN v_name || '/' || v_version;
END;
$$ LANGUAGE plpgsql;
plPERL, plPython, plJava
PostgreSQLOracle
StrikrSystemsLLP
Stored procedures
●
Unless the migration tool can successfully
parse the SQL grammar for Oracle functions
and navigate compiled object representations
(ie. stored procedures) and also understand
how to map it to the grammar of target
PostgreSQL, the migration of procedures,
functions would not happen as is
StrikrSystemsLLP
Way forward
●
We strongly recommend using PostgreSQL for all new application and service initiatives.
●
We must use this opportunity to refactor existing application database(s) prior to migration to
PostgreSQL or MariaDB.
●
However, this effort should be split across two parallel efforts
– consistent correct and verified data dump
– strict SQL standard compliant DDL usage
●
We would also recommend that application teams implement business logic inside application
server and not push it inside the database under the pretext of performance.
●
In the context of PostgreSQL, a strategic decision should be taken regarding which language
would be used for writing pgSQL functions aka user-defined functions ie. PERL, Python, Java
or some other language.
StrikrSystemsLLP
Thanks for your time
Thanks for viewing Strikr case study
on Oracle to PostgreSQL and
MariaDB migration.
Engineering
Ragini Jain
Saifi Khan
94 80 87 33 52
hello@strikr.in

More Related Content

What's hot (20)

PPTX
Ingesting Data from Kafka to JDBC with Transformation and Enrichment
Apache Apex
 
PDF
Postgrtesql as a NoSQL Document Store - The JSON/JSONB data type
Jumping Bean
 
PDF
Big Data and PostgreSQL
PGConf APAC
 
PDF
Spark Summit EU talk by Ram Sriharsha and Vlad Feinberg
Spark Summit
 
PDF
Introduction to Structured Streaming
datamantra
 
PDF
Creating Reusable Geospatial Pipelines
Databricks
 
PDF
Apache Big Data EU 2016: Next Gen Big Data Analytics with Apache Apex
Apache Apex
 
PPTX
Deep Dive into Apache Apex App Development
Apache Apex
 
PDF
Interactive Data Analysis in Spark Streaming
datamantra
 
PDF
Structured Streaming Use-Cases at Apple
Databricks
 
PPTX
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Apache Apex
 
PDF
Migrating to Spark 2.0 - Part 2
datamantra
 
PDF
Building end to end streaming application on Spark
datamantra
 
PDF
Apache Big Data EU 2016: Building Streaming Applications with Apache Apex
Apache Apex
 
PDF
Scaling Security Threat Detection with Apache Spark and Databricks
Databricks
 
PPTX
Online index rebuild automation
Carlos Sierra
 
PPTX
Jorge de la Cruz [Veeam Software] | RESTful API – How to Consume, Extract, St...
InfluxData
 
PPTX
How Totango uses Apache Spark
Oren Raboy
 
PDF
Evolution of apache spark
datamantra
 
PDF
Fugue: Unifying Spark and Non-Spark Ecosystems for Big Data Analytics
Databricks
 
Ingesting Data from Kafka to JDBC with Transformation and Enrichment
Apache Apex
 
Postgrtesql as a NoSQL Document Store - The JSON/JSONB data type
Jumping Bean
 
Big Data and PostgreSQL
PGConf APAC
 
Spark Summit EU talk by Ram Sriharsha and Vlad Feinberg
Spark Summit
 
Introduction to Structured Streaming
datamantra
 
Creating Reusable Geospatial Pipelines
Databricks
 
Apache Big Data EU 2016: Next Gen Big Data Analytics with Apache Apex
Apache Apex
 
Deep Dive into Apache Apex App Development
Apache Apex
 
Interactive Data Analysis in Spark Streaming
datamantra
 
Structured Streaming Use-Cases at Apple
Databricks
 
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Apache Apex
 
Migrating to Spark 2.0 - Part 2
datamantra
 
Building end to end streaming application on Spark
datamantra
 
Apache Big Data EU 2016: Building Streaming Applications with Apache Apex
Apache Apex
 
Scaling Security Threat Detection with Apache Spark and Databricks
Databricks
 
Online index rebuild automation
Carlos Sierra
 
Jorge de la Cruz [Veeam Software] | RESTful API – How to Consume, Extract, St...
InfluxData
 
How Totango uses Apache Spark
Oren Raboy
 
Evolution of apache spark
datamantra
 
Fugue: Unifying Spark and Non-Spark Ecosystems for Big Data Analytics
Databricks
 

Similar to Oracle to PostgreSQL migration (20)

PDF
MIGRATION OF AN OLTP SYSTEM FROM ORACLE TO MYSQL AND COMPARATIVE PERFORMANCE ...
cscpconf
 
PDF
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Gabriele Bartolini
 
PDF
Stumbling stones when migrating from Oracle
EDB
 
ODP
Porting Applications From Oracle To PostgreSQL
Peter Eisentraut
 
PPTX
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
EDB
 
PPTX
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
EDB
 
PDF
Sponsored Talk @ PGConf APAC 2018 - Migrating Oracle to EDB Postgres Approach...
PGConf APAC
 
PPT
Manager's Guide To Oracle Cost Containment
EDB
 
PPTX
Oracle to Postgres Schema Migration Hustle
EDB
 
PPTX
Expert Guide to Migrating Legacy Databases to Postgres
EDB
 
PPTX
An Expert Guide to Migrating Legacy Databases to PostgreSQL
EDB
 
PDF
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
Equnix Business Solutions
 
PPTX
Break Free from Oracle
EDB
 
PDF
TechEvent 2019: Oracle to PostgreSQL - a Travel Guide from Practice; Roland S...
Trivadis
 
PDF
Oracle to PostgreSQL, Challenges to Opportunity.pdf
Equnix Business Solutions
 
PDF
A Journey from Oracle to PostgreSQL
EDB
 
PDF
Migración desde BBDD propietarias a MariaDB
MariaDB plc
 
PPTX
Replacing Oracle with EDB Postgres
EDB
 
PPTX
How to Migrate from Oracle to EDB Postgres
Ashnikbiz
 
PPTX
How to migrate from Oracle to EDB Postgres
Ashnikbiz
 
MIGRATION OF AN OLTP SYSTEM FROM ORACLE TO MYSQL AND COMPARATIVE PERFORMANCE ...
cscpconf
 
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Gabriele Bartolini
 
Stumbling stones when migrating from Oracle
EDB
 
Porting Applications From Oracle To PostgreSQL
Peter Eisentraut
 
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
EDB
 
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
EDB
 
Sponsored Talk @ PGConf APAC 2018 - Migrating Oracle to EDB Postgres Approach...
PGConf APAC
 
Manager's Guide To Oracle Cost Containment
EDB
 
Oracle to Postgres Schema Migration Hustle
EDB
 
Expert Guide to Migrating Legacy Databases to Postgres
EDB
 
An Expert Guide to Migrating Legacy Databases to PostgreSQL
EDB
 
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
Equnix Business Solutions
 
Break Free from Oracle
EDB
 
TechEvent 2019: Oracle to PostgreSQL - a Travel Guide from Practice; Roland S...
Trivadis
 
Oracle to PostgreSQL, Challenges to Opportunity.pdf
Equnix Business Solutions
 
A Journey from Oracle to PostgreSQL
EDB
 
Migración desde BBDD propietarias a MariaDB
MariaDB plc
 
Replacing Oracle with EDB Postgres
EDB
 
How to Migrate from Oracle to EDB Postgres
Ashnikbiz
 
How to migrate from Oracle to EDB Postgres
Ashnikbiz
 
Ad

More from strikr . (17)

PDF
Monitoring
strikr .
 
PDF
OpenStack for Telco Cloud
strikr .
 
PDF
DBOps
strikr .
 
PDF
Making Automation Work
strikr .
 
PDF
Taking the Containers First Approach
strikr .
 
PDF
Docker enterprise Technologies
strikr .
 
PDF
Data Center to Cloud
strikr .
 
ODP
containerD
strikr .
 
PDF
from Docker to Moby and back. what changed ?
strikr .
 
PDF
OCI Image Spec
strikr .
 
PDF
OCI Runtime Spec
strikr .
 
PDF
Container Orchestration
strikr .
 
PDF
cgo and Go plugins
strikr .
 
PDF
Referee project
strikr .
 
PDF
Immutable Infrastructure
strikr .
 
PDF
Reflection in Go
strikr .
 
PDF
Go 1.8 'new' networking features
strikr .
 
Monitoring
strikr .
 
OpenStack for Telco Cloud
strikr .
 
DBOps
strikr .
 
Making Automation Work
strikr .
 
Taking the Containers First Approach
strikr .
 
Docker enterprise Technologies
strikr .
 
Data Center to Cloud
strikr .
 
containerD
strikr .
 
from Docker to Moby and back. what changed ?
strikr .
 
OCI Image Spec
strikr .
 
OCI Runtime Spec
strikr .
 
Container Orchestration
strikr .
 
cgo and Go plugins
strikr .
 
Referee project
strikr .
 
Immutable Infrastructure
strikr .
 
Reflection in Go
strikr .
 
Go 1.8 'new' networking features
strikr .
 
Ad

Recently uploaded (20)

PDF
From Data Preparation to Inference: How Alluxio Speeds Up AI
Alluxio, Inc.
 
PDF
Which Hiring Management Tools Offer the Best ROI?
HireME
 
PPTX
Android Notifications-A Guide to User-Facing Alerts in Android .pptx
Nabin Dhakal
 
DOCX
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
 
PDF
What Is an Internal Quality Audit and Why It Matters for Your QMS
BizPortals365
 
PDF
The Next-Gen HMIS Software AI, Blockchain & Cloud for Housing.pdf
Prudence B2B
 
PPTX
Wondershare Filmora Crack 14.5.18 + Key Full Download [Latest 2025]
HyperPc soft
 
DOCX
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
 
PDF
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
Shane Coughlan
 
PDF
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
PDF
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
PPTX
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
 
PPTX
IDM Crack with Internet Download Manager 6.42 [Latest 2025]
HyperPc soft
 
PPTX
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
 
PDF
Best Software Development at Best Prices
softechies7
 
PDF
Rewards and Recognition (2).pdf
ethan Talor
 
PPTX
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
 
PPTX
Introduction to web development | MERN Stack
JosephLiyon
 
PPTX
arctitecture application system design os dsa
za241967
 
PPTX
For my supp to finally picking supp that work
necas19388
 
From Data Preparation to Inference: How Alluxio Speeds Up AI
Alluxio, Inc.
 
Which Hiring Management Tools Offer the Best ROI?
HireME
 
Android Notifications-A Guide to User-Facing Alerts in Android .pptx
Nabin Dhakal
 
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
 
What Is an Internal Quality Audit and Why It Matters for Your QMS
BizPortals365
 
The Next-Gen HMIS Software AI, Blockchain & Cloud for Housing.pdf
Prudence B2B
 
Wondershare Filmora Crack 14.5.18 + Key Full Download [Latest 2025]
HyperPc soft
 
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
 
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
Shane Coughlan
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
 
IDM Crack with Internet Download Manager 6.42 [Latest 2025]
HyperPc soft
 
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
 
Best Software Development at Best Prices
softechies7
 
Rewards and Recognition (2).pdf
ethan Talor
 
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
 
Introduction to web development | MERN Stack
JosephLiyon
 
arctitecture application system design os dsa
za241967
 
For my supp to finally picking supp that work
necas19388
 

Oracle to PostgreSQL migration

  • 2. StrikrSystemsLLP What tools were used ● A variety of "freeware" tools were investigated such as – MyOraDump – SQLines – Ora2Pg – ESF DB migration ● On multiple Oracle databases of varying sizes starting from 10Mb to 80Gb (spanning control experiment db to real-life DB)
  • 3. StrikrSystemsLLP What was the goal ● Within the context of the schema, the focus was high fidelity migration of – Schema – Tablespace – Identifier name(s) – Table – Views – Stored procedures – User-defined functions – Triggers – Index – Constraints
  • 4. StrikrSystemsLLP What went well ● Dump of data from Oracle in CSV format was obtained ● The following objects were migrated – Table – View – Index, but no other database object.
  • 5. StrikrSystemsLLP Challenges faced ● Stored procedures, user-defined function have not migrated at all. ● The storage size of data types of the column(s) changed across both PostgreSQL and MariaDB ●
  • 6. StrikrSystemsLLP utf8mb4 ● utf8mb4 is a 4-byte UTF-8 encoding used in Oracle, where as MariaDB and PostgreSQL use utf8 encoding. ● tuned tool settings to utilize variable length encoding ● Encoding expands the storage used by the table(s) and – impacts 65535 bytes row restriction – impacts 3072 bytes index key-size restriction. ● post multiple customization's, the following object(s) were successfully migrated – Schema – Table – View – Index (partial)
  • 7. StrikrSystemsLLP Stored Procedures CREATE OR REPLACE FUNCTION cs_fmt_browser_version( v_name varchar2, v_version varchar2 ) RETURN varchar2 IS BEGIN IF v_version IS NULL THEN RETURN v_name; END IF; RETURN v_name || '/' || v_version; END; / show errors; CREATE OR REPLACE FUNCTION cs_fmt_browser_version( v_name varchar, v_version varchar ) RETURNS varchar AS $$ BEGIN IF v_version IS NULL THEN RETURN v_name; END IF; RETURN v_name || '/' || v_version; END; $$ LANGUAGE plpgsql; plPERL, plPython, plJava PostgreSQLOracle
  • 8. StrikrSystemsLLP Stored procedures ● Unless the migration tool can successfully parse the SQL grammar for Oracle functions and navigate compiled object representations (ie. stored procedures) and also understand how to map it to the grammar of target PostgreSQL, the migration of procedures, functions would not happen as is
  • 9. StrikrSystemsLLP Way forward ● We strongly recommend using PostgreSQL for all new application and service initiatives. ● We must use this opportunity to refactor existing application database(s) prior to migration to PostgreSQL or MariaDB. ● However, this effort should be split across two parallel efforts – consistent correct and verified data dump – strict SQL standard compliant DDL usage ● We would also recommend that application teams implement business logic inside application server and not push it inside the database under the pretext of performance. ● In the context of PostgreSQL, a strategic decision should be taken regarding which language would be used for writing pgSQL functions aka user-defined functions ie. PERL, Python, Java or some other language.
  • 10. StrikrSystemsLLP Thanks for your time Thanks for viewing Strikr case study on Oracle to PostgreSQL and MariaDB migration. Engineering Ragini Jain Saifi Khan 94 80 87 33 52 [email protected]