SlideShare a Scribd company logo
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.
Oracle to Postgres
Schema Migration
Hustle
Raghavendra Rao; Managing Consultant
Marc Linster; SVP, Product Development and
Support
1
Webinar Series
Jan 22 2020 How to monitor Postgres like a Pro
Feb 5 2020 Oracle to Postgres Migration Hustle
Feb 19 2020 Data Migration from Oracle to Postgres
March 4 2020 Using Terraform to deploy highly available Postgres
March 18 2020 5 things to know about Postgres.conf
2
Agenda
● Who is EDB?
● Migration Overview
● Migration Preliminary check
● Oracle vs PostgreSQL Compatibility differences
● Oracle schema migration hurdles
○ First, what schemas to target first
○ Schema objects Classification
○ Incompatibility challenges
● Tools
● Q & A
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.3
4
Get your EDB
Socks!
Ask a question and give us your
business address in the US - and
we will send you a pair of EDB
Socks!
WHO IS EDB?
A global leader in
open-source based Postgres
software and services
5
• Founded in 2004
• Recognized RDBMS leader by:
• Gartner
• Forrester
• Customer base > 4000
• 300+ employees
• Offices worldwide
• Major PostgreSQL community contributor
ONLY OPEN
SOURCE BASED
RDBMS IN
GARTNER MQ
EDB Recognized 7 Years
In A Row on Gartner’s
Magic Quadrant
6
CONFIDENTIAL © Copyright EnterpriseDB Corporation, 2020. All rights reserved.
7
Customers working SMARTER, reducing RISK and being more PRODUCTIVE with EDB.
OVER 4,000 CUSTOMERS
U.S Customers
EMEA Customers APAC Customers
102
of the
Fortune 500
337
of the Forbes
Global 2000
EDB OPEN SOURCE LEADERSHIP
NAMED EDB OPEN SOURCE COMMITTERS AND CONTRIBUTORS
8
● CORE TEAM ● MAJOR CONTRIBUTORS ● CONTRIBUTORS
Akshay
Joshi
Amul
Sul
Ashesh
Vashi
Dilip
Kumar
Jeevan
Ladhe
Mithun
Cy
Devrim
Gündüz
Amit
Kapila
Bruce
Momjian
Dave
Page
Robert
Haas
Ashutosh
Sharma
Rushabh
Lathia
- designates committers
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.9
Migration overview
Database Migration
It means moving definitions, data and stored procedures from
one platform to another. There are many reasons to move to a
different platform, it might be cost, support or so on.
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.10
Migration Preliminary Check
● Client
● Application/Data Access
● Database
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.11
Oracle vs PostgreSQL differences
• Oracle uses the proprietary "TNS" protocol
with the default TCP port 1521 and the OCI
library as native call interface
• Transactions are not auto committed.
• Supports all Isolation Levels
• Drivers: JDBC, ODBC, .NET and many more.
• Concept of Packages/Procedures/Global
• Supports many other languages
• Partitioning(Horizontal)
• Replication: Master-Master and Master-Slave
• Postgres uses its own "frontend/backend" protocol
with the default TCP port 5432 and the libpq library
as native call interface
• Transaction to control COMMIT/ROLLBACK should
start with BEGIN
• Supports all Isolation Level, but default to READ
COMMITTED, which is sufficient
• Drivers: JDBC, ODBC, .NET and very few other
drivers.
• No concept of Package/Global.
• Good set of languages are supported
• Declarative Partitioning(only Range and List)
• Replication: Only Master-Slave
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.12
Oracle Schema Migration Hurdles
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.13
First, Which Schemas to Target
● Good targets...
○ Choose the smallest schemas with few PL/SQL objects
○ Then choose the most representative, on the basis of the experience
○ Add on: if team having multiple database skill set will reduce the conversion human-days.
● More difficult targets....
○ Don't choose Oracle application databases, that are closely tied with OCI
○ Don’t choose application using proprietary software (like Oracle forms)
○ Don’t choose spatial schemas, they need a lot of manual work.
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.14
Schema Object Classification
● Every RDBMS offers the ability to store data and code objects. They are classified as
○ Storage Objects : Objects that holds the data(with reference integrity): Table, Constraint,
Index, Type, Sequence and Synonyms
○ Code Objects: Objects that holds program code to access/modify data: Views, Triggers,
Procedures, Functions, Packages
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.15
Incompatibility Challenges
● Schema
○ In Oracle, users and schemas are essentially the same thing. A user is the account used to
connect to a database, and a schema is the set of objects (tables, views, etc.) that belong to
that account.
○ In Postgres, users’ objects are created in a specific schema (or namespace). When the user
connects the default search_path is “$user,public” schema. “Public” is the default schema
assigned to a user.
■ User can create different schemas, no need to create separate users
■ Users can grant permission to create objects in one of his schema to some other user.
■ Allows flexibility to divide application logically.
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.16
Incompatibility Challenges...
● Identifiers
○ In Oracle, all identifiers are in UPPER CASE, unless quoted.
○ Postgres converts them to lower case, unless quoted. Identifiers in Postgres are case
insensitive, unless quoted.
■ If application quotes the identifiers then it might lead to some manual work at both the
ends.
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.17
Incompatibility Challenges...
● Storage Objects
○ Tables - Mostly compatible, except
■ Global Temporary Table (use Local Temp or Unlogged Tables)
■ KEEP/CACHE/IOT/EXTERNAL/COMPRESSED/CLUSTER/NESTED - They are normal
tables, and functionality need to be handled by Postgres supported modules.
■ Partition (Only Range/List supported)
○ Constraints
■ All constraints are supported(No foreign key support on Partition Table key)
○ Indexes
■ Most of the indexes are supported
■ Reverse Key(A functional based index can be used to reverse the order)
■ Global (Not yet supported)
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.18
Incompatibility Challenges...
● Storage Objects.. contd
○ Type
■ CREATE DOMAIN or CREATE TYPE with some limitations(Use ARRAYs)
○ Sequences
■ Oracle supports 2^63 as max value(PostgreSQL supports upto 2^63)
■ NOCACHE, NOORDER not supported
■ .nextval, .curval (need to call nextval(),currval() function on sequence name)
○ Synonyms
■ Not supported in PostgreSQL (use “search_path”)
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.19
Incompatibility Challenges...
● Data Types
Oracle PostgreSQL Comment
varchar,varchar2, nvarchar,
nvarchar2
varchar or text
char,nchar char
clob,long varchar or text
number bigint, int, smallint,
real, double
precision
Limited control of scale
binary_integer, binar_float integer, float
blog, raw, long raw bytea Size limitation
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.20
Incompatibility Challenges...
Oracle PostgreSQL Comment
Date Date or timestamp Postgres, returns timestamp with
date
Timestamp with time zone Timestamptz
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.21
Incompatibility Challenges...
● In Code objects
○ RETURN statement becomes RETURNS
○ EXECUTE IMMEDIATE becomes EXECUTE
○ SELECT becomes PERFORM
○ Functions
■ MUST choose a language
■ %TYPE and %ROWTYPE supported
■ cursor_name%ROWTYPE not yet supported; Use RECORD
○ Autonomous Transaction
■ use DBLINK module (slight performance overhead due to loopback connection)
○ COMMIT/ROLLBACK in PROCEDURE
■ Use EXCEPTION handling
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.22
Incompatibility Challenges...
● In Code objects
○ REVERSE LOOPs (must rewrite with start/end condition)
○ Packages
■ Use schema to group functions/procedures (no support for private variable/function)
■ No built-in package. Use Orafce library, which support some of the standard packages
(https://github.com/orafce/orafce)
○ Accessing Remote Objects
■ DBLINK module or Foreign Data Wrapper(oracle_fdw) to access any other database
○ Optimizer Hints
■ Postgres doesn’t have them, its discarded. No conversion required.
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.23
Incompatibility Challenges...
● In Code objects
○ Query Conversion
■ OUTER Joins(+) marks at the NULL augmented side - (Use FULL OUTER JOINS
or UNION)
■ Pseudocolumns
● ROWNUM - Use LIMIT clause in the query(SELECT * FROM table LIMIT 10)
● ROWID - Its ROW Physical Address in Oracle (CTID in PostgreSQL, use
ROW_NUMBER OVER() windows function)
■ Hierarchical Queries - START WITH… CONNECT BY
● Need to convert using CTE or Tablefunc module, which has support of LEVEL
and PATH
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.24
Incompatibility Challenges...
● In Code objects
○ Empty Strings vs NULL
■ In Oracle Empty String and NULL are treated as NULLs, but in PostgreSQL both are not
treated as NULL. (Need special attention of queries comparing empty strings.)
○ Usage of Oracle Built-in functions
■ NVL - Use COALESCE()
■ DECODE - Use CASE clause
■ SYSDATE - Use current_timestamp
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.25
Other option
● EDB Postgres Advanced Server
○ EDB has developed database compatibility for Oracle based on popular features across many
versions of Oracle. EDB Postgres Advanced Server database behave or produce the
identical result as they would in Oracle. It natively support some of the Oracle functionalities in
the database which makes migration exercise easy to migrate the existing Oracle Database
Objects as is and work with similar functionality and performance.
○ What all natively supported in EDB Postgres Advanced Server ?
■ All Data types (except BINARY_FLOAT, BINARY_INTEGER,.,..)
■ Sequences/Synonyms/Database Links
■ Partition/Sub-Partition
■ Some of standard Oracle built-in Packages and Functions
■ Security(DBMS_RLS/SQLProtect/Policies)
■ User defined Packages/Procedures/Type(UDT)
■ Supporting Drivers (JDBC, ODBC, .NET
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.26
Tools
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.27
Tools
● Assessment and Conversion Tools
○ Open Source
■ ora2pg (https://github.com/darold/ora2pg)
○ Free to use
■ AWS Schema Conversion Tool (https://aws.amazon.com/dms/schema-conversion-tool/)
■ EDB Migration Portal (https://www.enterprisedb.com/edb-postgres-migration-portal)
■ EDB Migration ToolKit (https://www.enterprisedb.com/downloads/edb-migration-toolkit)
(No Assessment)
● Migration Supporting tools
■ orafce - support only Packages/No Conversion (https://github.com/orafce/orafce)
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.28
Ora2Pg Sample Report
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.29
EDB Migration Portal Sample Report
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.30
AWS SCT Sample Report
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.31
Tools
Assessment
Migration of
data objects
Migration of
code objects
Migration
Data
Approach Target
EDB Migration Portal Use EDB
MTK
Native +
Transformation
Postgres
Advanced
Server
EDB MTK
Native Only Postgres
Advanced
Server
AWS SCT Transformation
Only
PostgreSQL
Ora2Pg Transformation
only
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.32
Overall Migration steps
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.33
QUESTIONS
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.
THANK YOU
info@enterprisedb.com
www.enterprisedb.com
34
Ad

Recommended

Migrating Oracle database to PostgreSQL
Migrating Oracle database to PostgreSQL
Umair Mansoob
 
Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2
PgTraining
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQL
PGConf APAC
 
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
Equnix Business Solutions
 
Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1
PgTraining
 
Manage your ODI Development Cycle – ODTUG Webinar
Manage your ODI Development Cycle – ODTUG Webinar
Jérôme Françoisse
 
What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1
Satishbabu Gunukula
 
How to Migrate from Oracle to EDB Postgres
How to Migrate from Oracle to EDB Postgres
Ashnikbiz
 
Domain Driven Design
Domain Driven Design
Hannah Farrugia
 
Migration from Oracle to PostgreSQL: NEED vs REALITY
Migration from Oracle to PostgreSQL: NEED vs REALITY
Ashnikbiz
 
Stumbling stones when migrating from Oracle
Stumbling stones when migrating from Oracle
EDB
 
Oracle RAC on Extended Distance Clusters - Presentation
Oracle RAC on Extended Distance Clusters - Presentation
Markus Michalewicz
 
Auditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPAS
EDB
 
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Markus Michalewicz
 
DOAG Oracle Unified Audit in Multitenant Environments
DOAG Oracle Unified Audit in Multitenant Environments
Stefan Oehrli
 
Domain Driven Design
Domain Driven Design
Harsh Jegadeesan
 
Migrating from Oracle to Postgres
Migrating from Oracle to Postgres
EDB
 
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best Practices
Bobby Curtis
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
 
Midi technique - présentation docker
Midi technique - présentation docker
Olivier Eeckhoutte
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19c
Maria Colgan
 
Domain-Driven Design
Domain-Driven Design
Andriy Buday
 
Oracle LOB Internals and Performance Tuning
Oracle LOB Internals and Performance Tuning
Tanel Poder
 
Brownfield Domain Driven Design
Brownfield Domain Driven Design
Nicolò Pignatelli
 
Domain Driven Design
Domain Driven Design
Nader Albert
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
Olivier DASINI
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
Markus Michalewicz
 
Webinar Oracle Data Integrator 12c (ODI)
Webinar Oracle Data Integrator 12c (ODI)
avanttic Consultoría Tecnológica
 
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
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
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
EDB
 

More Related Content

What's hot (20)

Domain Driven Design
Domain Driven Design
Hannah Farrugia
 
Migration from Oracle to PostgreSQL: NEED vs REALITY
Migration from Oracle to PostgreSQL: NEED vs REALITY
Ashnikbiz
 
Stumbling stones when migrating from Oracle
Stumbling stones when migrating from Oracle
EDB
 
Oracle RAC on Extended Distance Clusters - Presentation
Oracle RAC on Extended Distance Clusters - Presentation
Markus Michalewicz
 
Auditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPAS
EDB
 
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Markus Michalewicz
 
DOAG Oracle Unified Audit in Multitenant Environments
DOAG Oracle Unified Audit in Multitenant Environments
Stefan Oehrli
 
Domain Driven Design
Domain Driven Design
Harsh Jegadeesan
 
Migrating from Oracle to Postgres
Migrating from Oracle to Postgres
EDB
 
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best Practices
Bobby Curtis
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
 
Midi technique - présentation docker
Midi technique - présentation docker
Olivier Eeckhoutte
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19c
Maria Colgan
 
Domain-Driven Design
Domain-Driven Design
Andriy Buday
 
Oracle LOB Internals and Performance Tuning
Oracle LOB Internals and Performance Tuning
Tanel Poder
 
Brownfield Domain Driven Design
Brownfield Domain Driven Design
Nicolò Pignatelli
 
Domain Driven Design
Domain Driven Design
Nader Albert
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
Olivier DASINI
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
Markus Michalewicz
 
Webinar Oracle Data Integrator 12c (ODI)
Webinar Oracle Data Integrator 12c (ODI)
avanttic Consultoría Tecnológica
 
Migration from Oracle to PostgreSQL: NEED vs REALITY
Migration from Oracle to PostgreSQL: NEED vs REALITY
Ashnikbiz
 
Stumbling stones when migrating from Oracle
Stumbling stones when migrating from Oracle
EDB
 
Oracle RAC on Extended Distance Clusters - Presentation
Oracle RAC on Extended Distance Clusters - Presentation
Markus Michalewicz
 
Auditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPAS
EDB
 
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Markus Michalewicz
 
DOAG Oracle Unified Audit in Multitenant Environments
DOAG Oracle Unified Audit in Multitenant Environments
Stefan Oehrli
 
Migrating from Oracle to Postgres
Migrating from Oracle to Postgres
EDB
 
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best Practices
Bobby Curtis
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
 
Midi technique - présentation docker
Midi technique - présentation docker
Olivier Eeckhoutte
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19c
Maria Colgan
 
Domain-Driven Design
Domain-Driven Design
Andriy Buday
 
Oracle LOB Internals and Performance Tuning
Oracle LOB Internals and Performance Tuning
Tanel Poder
 
Brownfield Domain Driven Design
Brownfield Domain Driven Design
Nicolò Pignatelli
 
Domain Driven Design
Domain Driven Design
Nader Albert
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
Olivier DASINI
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
Markus Michalewicz
 

Similar to Oracle to Postgres Schema Migration Hustle (20)

Un guide complet pour la migration de bases de données héritées vers PostgreSQL
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
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
EDB
 
An Expert Guide to Migrating Legacy Databases to PostgreSQL
An Expert Guide to Migrating Legacy Databases to PostgreSQL
EDB
 
Expert Guide to Migrating Legacy Databases to Postgres
Expert Guide to Migrating Legacy Databases to Postgres
EDB
 
EDB's Migration Portal - Migrate from Oracle to Postgres
EDB's Migration Portal - Migrate from Oracle to Postgres
EDB
 
EDB & ELOS Technologies - Break Free from Oracle
EDB & ELOS Technologies - Break Free from Oracle
EDB
 
How to migrate from Oracle to EDB Postgres
How to migrate from Oracle to EDB Postgres
Ashnikbiz
 
Szabaduljon ki az Oracle szorításából
Szabaduljon ki az Oracle szorításából
EDB
 
Oracle Migration to Postgres in the Cloud
Oracle Migration to Postgres in the Cloud
EDB
 
Break Free from Oracle
Break Free from Oracle
EDB
 
EPAS + Cloud = Oracle Compatible Postgres in Minutes
EPAS + Cloud = Oracle Compatible Postgres in Minutes
EDB
 
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
EDB
 
Porting Applications From Oracle To PostgreSQL
Porting Applications From Oracle To PostgreSQL
Peter Eisentraut
 
Enterprise-class security with PostgreSQL - 2
Enterprise-class security with PostgreSQL - 2
Ashnikbiz
 
Postgres Databases in Minutes with the EDB Postgres Cloud Database Service
Postgres Databases in Minutes with the EDB Postgres Cloud Database Service
EDB
 
Porting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQL
Peter Eisentraut
 
Oracle to PostgreSQL, Challenges to Opportunity.pdf
Oracle to PostgreSQL, Challenges to Opportunity.pdf
Equnix Business Solutions
 
Postgres for Digital Transformation: NoSQL Features, Replication, FDW & More
Postgres for Digital Transformation: NoSQL Features, Replication, FDW & More
Ashnikbiz
 
Reducing the Risks of Migrating Off Oracle
Reducing the Risks of Migrating Off Oracle
EDB
 
Replacing Oracle with EDB Postgres
Replacing Oracle with EDB Postgres
EDB
 
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
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
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
EDB
 
An Expert Guide to Migrating Legacy Databases to PostgreSQL
An Expert Guide to Migrating Legacy Databases to PostgreSQL
EDB
 
Expert Guide to Migrating Legacy Databases to Postgres
Expert Guide to Migrating Legacy Databases to Postgres
EDB
 
EDB's Migration Portal - Migrate from Oracle to Postgres
EDB's Migration Portal - Migrate from Oracle to Postgres
EDB
 
EDB & ELOS Technologies - Break Free from Oracle
EDB & ELOS Technologies - Break Free from Oracle
EDB
 
How to migrate from Oracle to EDB Postgres
How to migrate from Oracle to EDB Postgres
Ashnikbiz
 
Szabaduljon ki az Oracle szorításából
Szabaduljon ki az Oracle szorításából
EDB
 
Oracle Migration to Postgres in the Cloud
Oracle Migration to Postgres in the Cloud
EDB
 
Break Free from Oracle
Break Free from Oracle
EDB
 
EPAS + Cloud = Oracle Compatible Postgres in Minutes
EPAS + Cloud = Oracle Compatible Postgres in Minutes
EDB
 
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
EDB
 
Porting Applications From Oracle To PostgreSQL
Porting Applications From Oracle To PostgreSQL
Peter Eisentraut
 
Enterprise-class security with PostgreSQL - 2
Enterprise-class security with PostgreSQL - 2
Ashnikbiz
 
Postgres Databases in Minutes with the EDB Postgres Cloud Database Service
Postgres Databases in Minutes with the EDB Postgres Cloud Database Service
EDB
 
Porting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQL
Peter Eisentraut
 
Oracle to PostgreSQL, Challenges to Opportunity.pdf
Oracle to PostgreSQL, Challenges to Opportunity.pdf
Equnix Business Solutions
 
Postgres for Digital Transformation: NoSQL Features, Replication, FDW & More
Postgres for Digital Transformation: NoSQL Features, Replication, FDW & More
Ashnikbiz
 
Reducing the Risks of Migrating Off Oracle
Reducing the Risks of Migrating Off Oracle
EDB
 
Replacing Oracle with EDB Postgres
Replacing Oracle with EDB Postgres
EDB
 
Ad

More from EDB (20)

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
EDB
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
EDB
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube
EDB
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021
EDB
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
EDB
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQL
EDB
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
EDB
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?
EDB
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQL
EDB
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with Postgres
EDB
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
EDB
 
IOT with PostgreSQL
IOT with PostgreSQL
EDB
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
EDB
 
Psql is awesome!
Psql is awesome!
EDB
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJ
EDB
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos données
EDB
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - Italiano
EDB
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
EDB
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
EDB
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJ
EDB
 
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
EDB
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
EDB
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube
EDB
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021
EDB
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
EDB
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQL
EDB
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
EDB
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?
EDB
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQL
EDB
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with Postgres
EDB
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
EDB
 
IOT with PostgreSQL
IOT with PostgreSQL
EDB
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
EDB
 
Psql is awesome!
Psql is awesome!
EDB
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJ
EDB
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos données
EDB
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - Italiano
EDB
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
EDB
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
EDB
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJ
EDB
 
Ad

Recently uploaded (20)

June Patch Tuesday
June Patch Tuesday
Ivanti
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
 
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
SOFTTECHHUB
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
Precisely
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
Safe Software
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
June Patch Tuesday
June Patch Tuesday
Ivanti
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
 
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
SOFTTECHHUB
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
Precisely
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
Safe Software
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 

Oracle to Postgres Schema Migration Hustle

  • 1. © Copyright EnterpriseDB Corporation, 2020. All rights reserved. Oracle to Postgres Schema Migration Hustle Raghavendra Rao; Managing Consultant Marc Linster; SVP, Product Development and Support 1
  • 2. Webinar Series Jan 22 2020 How to monitor Postgres like a Pro Feb 5 2020 Oracle to Postgres Migration Hustle Feb 19 2020 Data Migration from Oracle to Postgres March 4 2020 Using Terraform to deploy highly available Postgres March 18 2020 5 things to know about Postgres.conf 2
  • 3. Agenda ● Who is EDB? ● Migration Overview ● Migration Preliminary check ● Oracle vs PostgreSQL Compatibility differences ● Oracle schema migration hurdles ○ First, what schemas to target first ○ Schema objects Classification ○ Incompatibility challenges ● Tools ● Q & A © Copyright EnterpriseDB Corporation, 2020. All rights reserved.3
  • 4. 4 Get your EDB Socks! Ask a question and give us your business address in the US - and we will send you a pair of EDB Socks!
  • 5. WHO IS EDB? A global leader in open-source based Postgres software and services 5 • Founded in 2004 • Recognized RDBMS leader by: • Gartner • Forrester • Customer base > 4000 • 300+ employees • Offices worldwide • Major PostgreSQL community contributor
  • 6. ONLY OPEN SOURCE BASED RDBMS IN GARTNER MQ EDB Recognized 7 Years In A Row on Gartner’s Magic Quadrant 6 CONFIDENTIAL © Copyright EnterpriseDB Corporation, 2020. All rights reserved.
  • 7. 7 Customers working SMARTER, reducing RISK and being more PRODUCTIVE with EDB. OVER 4,000 CUSTOMERS U.S Customers EMEA Customers APAC Customers 102 of the Fortune 500 337 of the Forbes Global 2000
  • 8. EDB OPEN SOURCE LEADERSHIP NAMED EDB OPEN SOURCE COMMITTERS AND CONTRIBUTORS 8 ● CORE TEAM ● MAJOR CONTRIBUTORS ● CONTRIBUTORS Akshay Joshi Amul Sul Ashesh Vashi Dilip Kumar Jeevan Ladhe Mithun Cy Devrim Gündüz Amit Kapila Bruce Momjian Dave Page Robert Haas Ashutosh Sharma Rushabh Lathia - designates committers
  • 9. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.9 Migration overview Database Migration It means moving definitions, data and stored procedures from one platform to another. There are many reasons to move to a different platform, it might be cost, support or so on.
  • 10. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.10 Migration Preliminary Check ● Client ● Application/Data Access ● Database
  • 11. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.11 Oracle vs PostgreSQL differences • Oracle uses the proprietary "TNS" protocol with the default TCP port 1521 and the OCI library as native call interface • Transactions are not auto committed. • Supports all Isolation Levels • Drivers: JDBC, ODBC, .NET and many more. • Concept of Packages/Procedures/Global • Supports many other languages • Partitioning(Horizontal) • Replication: Master-Master and Master-Slave • Postgres uses its own "frontend/backend" protocol with the default TCP port 5432 and the libpq library as native call interface • Transaction to control COMMIT/ROLLBACK should start with BEGIN • Supports all Isolation Level, but default to READ COMMITTED, which is sufficient • Drivers: JDBC, ODBC, .NET and very few other drivers. • No concept of Package/Global. • Good set of languages are supported • Declarative Partitioning(only Range and List) • Replication: Only Master-Slave
  • 12. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.12 Oracle Schema Migration Hurdles
  • 13. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.13 First, Which Schemas to Target ● Good targets... ○ Choose the smallest schemas with few PL/SQL objects ○ Then choose the most representative, on the basis of the experience ○ Add on: if team having multiple database skill set will reduce the conversion human-days. ● More difficult targets.... ○ Don't choose Oracle application databases, that are closely tied with OCI ○ Don’t choose application using proprietary software (like Oracle forms) ○ Don’t choose spatial schemas, they need a lot of manual work.
  • 14. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.14 Schema Object Classification ● Every RDBMS offers the ability to store data and code objects. They are classified as ○ Storage Objects : Objects that holds the data(with reference integrity): Table, Constraint, Index, Type, Sequence and Synonyms ○ Code Objects: Objects that holds program code to access/modify data: Views, Triggers, Procedures, Functions, Packages
  • 15. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.15 Incompatibility Challenges ● Schema ○ In Oracle, users and schemas are essentially the same thing. A user is the account used to connect to a database, and a schema is the set of objects (tables, views, etc.) that belong to that account. ○ In Postgres, users’ objects are created in a specific schema (or namespace). When the user connects the default search_path is “$user,public” schema. “Public” is the default schema assigned to a user. ■ User can create different schemas, no need to create separate users ■ Users can grant permission to create objects in one of his schema to some other user. ■ Allows flexibility to divide application logically.
  • 16. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.16 Incompatibility Challenges... ● Identifiers ○ In Oracle, all identifiers are in UPPER CASE, unless quoted. ○ Postgres converts them to lower case, unless quoted. Identifiers in Postgres are case insensitive, unless quoted. ■ If application quotes the identifiers then it might lead to some manual work at both the ends.
  • 17. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.17 Incompatibility Challenges... ● Storage Objects ○ Tables - Mostly compatible, except ■ Global Temporary Table (use Local Temp or Unlogged Tables) ■ KEEP/CACHE/IOT/EXTERNAL/COMPRESSED/CLUSTER/NESTED - They are normal tables, and functionality need to be handled by Postgres supported modules. ■ Partition (Only Range/List supported) ○ Constraints ■ All constraints are supported(No foreign key support on Partition Table key) ○ Indexes ■ Most of the indexes are supported ■ Reverse Key(A functional based index can be used to reverse the order) ■ Global (Not yet supported)
  • 18. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.18 Incompatibility Challenges... ● Storage Objects.. contd ○ Type ■ CREATE DOMAIN or CREATE TYPE with some limitations(Use ARRAYs) ○ Sequences ■ Oracle supports 2^63 as max value(PostgreSQL supports upto 2^63) ■ NOCACHE, NOORDER not supported ■ .nextval, .curval (need to call nextval(),currval() function on sequence name) ○ Synonyms ■ Not supported in PostgreSQL (use “search_path”)
  • 19. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.19 Incompatibility Challenges... ● Data Types Oracle PostgreSQL Comment varchar,varchar2, nvarchar, nvarchar2 varchar or text char,nchar char clob,long varchar or text number bigint, int, smallint, real, double precision Limited control of scale binary_integer, binar_float integer, float blog, raw, long raw bytea Size limitation
  • 20. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.20 Incompatibility Challenges... Oracle PostgreSQL Comment Date Date or timestamp Postgres, returns timestamp with date Timestamp with time zone Timestamptz
  • 21. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.21 Incompatibility Challenges... ● In Code objects ○ RETURN statement becomes RETURNS ○ EXECUTE IMMEDIATE becomes EXECUTE ○ SELECT becomes PERFORM ○ Functions ■ MUST choose a language ■ %TYPE and %ROWTYPE supported ■ cursor_name%ROWTYPE not yet supported; Use RECORD ○ Autonomous Transaction ■ use DBLINK module (slight performance overhead due to loopback connection) ○ COMMIT/ROLLBACK in PROCEDURE ■ Use EXCEPTION handling
  • 22. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.22 Incompatibility Challenges... ● In Code objects ○ REVERSE LOOPs (must rewrite with start/end condition) ○ Packages ■ Use schema to group functions/procedures (no support for private variable/function) ■ No built-in package. Use Orafce library, which support some of the standard packages (https://github.com/orafce/orafce) ○ Accessing Remote Objects ■ DBLINK module or Foreign Data Wrapper(oracle_fdw) to access any other database ○ Optimizer Hints ■ Postgres doesn’t have them, its discarded. No conversion required.
  • 23. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.23 Incompatibility Challenges... ● In Code objects ○ Query Conversion ■ OUTER Joins(+) marks at the NULL augmented side - (Use FULL OUTER JOINS or UNION) ■ Pseudocolumns ● ROWNUM - Use LIMIT clause in the query(SELECT * FROM table LIMIT 10) ● ROWID - Its ROW Physical Address in Oracle (CTID in PostgreSQL, use ROW_NUMBER OVER() windows function) ■ Hierarchical Queries - START WITH… CONNECT BY ● Need to convert using CTE or Tablefunc module, which has support of LEVEL and PATH
  • 24. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.24 Incompatibility Challenges... ● In Code objects ○ Empty Strings vs NULL ■ In Oracle Empty String and NULL are treated as NULLs, but in PostgreSQL both are not treated as NULL. (Need special attention of queries comparing empty strings.) ○ Usage of Oracle Built-in functions ■ NVL - Use COALESCE() ■ DECODE - Use CASE clause ■ SYSDATE - Use current_timestamp
  • 25. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.25 Other option ● EDB Postgres Advanced Server ○ EDB has developed database compatibility for Oracle based on popular features across many versions of Oracle. EDB Postgres Advanced Server database behave or produce the identical result as they would in Oracle. It natively support some of the Oracle functionalities in the database which makes migration exercise easy to migrate the existing Oracle Database Objects as is and work with similar functionality and performance. ○ What all natively supported in EDB Postgres Advanced Server ? ■ All Data types (except BINARY_FLOAT, BINARY_INTEGER,.,..) ■ Sequences/Synonyms/Database Links ■ Partition/Sub-Partition ■ Some of standard Oracle built-in Packages and Functions ■ Security(DBMS_RLS/SQLProtect/Policies) ■ User defined Packages/Procedures/Type(UDT) ■ Supporting Drivers (JDBC, ODBC, .NET
  • 26. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.26 Tools
  • 27. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.27 Tools ● Assessment and Conversion Tools ○ Open Source ■ ora2pg (https://github.com/darold/ora2pg) ○ Free to use ■ AWS Schema Conversion Tool (https://aws.amazon.com/dms/schema-conversion-tool/) ■ EDB Migration Portal (https://www.enterprisedb.com/edb-postgres-migration-portal) ■ EDB Migration ToolKit (https://www.enterprisedb.com/downloads/edb-migration-toolkit) (No Assessment) ● Migration Supporting tools ■ orafce - support only Packages/No Conversion (https://github.com/orafce/orafce)
  • 28. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.28 Ora2Pg Sample Report
  • 29. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.29 EDB Migration Portal Sample Report
  • 30. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.30 AWS SCT Sample Report
  • 31. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.31 Tools Assessment Migration of data objects Migration of code objects Migration Data Approach Target EDB Migration Portal Use EDB MTK Native + Transformation Postgres Advanced Server EDB MTK Native Only Postgres Advanced Server AWS SCT Transformation Only PostgreSQL Ora2Pg Transformation only
  • 32. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.32 Overall Migration steps
  • 33. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.33 QUESTIONS
  • 34. © Copyright EnterpriseDB Corporation, 2020. All rights reserved. THANK YOU [email protected] www.enterprisedb.com 34