Más contenido relacionado La actualidad más candente (20) Similar a An Expert Guide to Migrating Legacy Databases to PostgreSQL (20) An Expert Guide to Migrating Legacy Databases to PostgreSQL1. An Expert Guide to
Migrating Legacy
Databases to Postgres
Presented by:
Simon Anthony
Senior Sales Engineer
12 August 2020
2. Slides and recording will be available in next 48 hours
Submit questions via Zoom – will be answering at end
We will be sharing info about EDB and Postgres later
Welcome – Housekeeping Items
3. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.3
Agenda
Break free from Oracle
1. EDB introduction
2. Challenges with Oracle database
3. Leave Oracle for PostgreSQL
4. Choose EDB for your Oracle migration
5. Next steps
5. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.5
Why leave Oracle database?
Oracle’s high licensing costs
• Many features now commoditized
• Painful contract terms
70% of new apps on open source DBs
• Take control
• Increase innovation
• Reduce lock-in risks
Cloud/containers increasingly important
• Cloud provides new alternatives
• Often coupled with open source
Price Open Source Strategy Cloud/Replatforming
6. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.6
What obstacles exist?
Migrations are hard Oracle skills
Troublesome contracts Apps developed for Oracle
• Much assessment and effort required
• Across schema, data, and application
• Businesses have invested Oracle training
• Concern of losing those skills/expertise
• Oracle licenses are complicated
• And audits are disruptive
• Oracle-specifics ingrained in the app
• Difficult to migrate one without the
other
7. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.7
The considerations of a migration
• Objects and code
• Mapping data types
• Handling syntax differences
• Raising incompatibilities
Schemas
• Methodology: Bulk, ongoing, fallback
• Tools: ETL, validation
Data
• Hosting environment
• Deployment type
• DBMS optimization
• Proprietary utilization
Infrastructure
• Code
• Languages
• Connectors
• Syntax
Application
• Performance
• Optimization
• Indexing
8. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.8
Survey: What is your biggest obstacle when
migrating Oracle databases to Postgres?
1500 respondents from EDB
PostgreSQL download page
(July 2020)
10. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.10
You’re not alone
Here are the top 5 reasons enterprises leave Oracle for PostgreSQL.
PostgreSQL offers
significant
cost savings
Easier to
replatform to
cloud/hybrid
You can avoid
vendor lock-in
Innovation action
in in Open Source
Smoother path
to Digital
Transformation
12. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.12
Choose EDB for your Oracle migration
With over 300 successful customers migrated, we have the knowledge
and expertise to help you reduce costs and mitigate risks of migration
Deep compatibility
with Oracle database
24x7 support for any Postgres
deployment at any scale
Comprehensive migration
tools and services
14. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.14
EDB Postgres Advanced Server
Migrate from
Oracle faster
Reduce risk and
support compliance
Improve developer
and DBA productivity
The Oracle alternative
Compatibility with Oracle
database schemas, data types,
indexes, users, roles,
partitioning, packages, views,
PL/SQL triggers, stored procedures,
functions, and utilities
Meet HIPAA, GDPR, and PCI
regulations with enhanced
security features such as password
policy management, session tag
auditing, data redaction, and SQL
injection protection
Over 200 pre-packaged utility
functions, user-defined object
types, autonomous
transactions, nested tables,
synonyms, advanced queueing,
catalog views, and more
15. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.15
EDB Postgres Advanced Server
Benefits of compatibility
Leverage existing infrastructure
with native PL/SQL support
and OCI interoperability
No need to retrain
Oracle DBAs and developers
Lower costs and
reduce risks
Your apps Your people Your business
16. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.16
Robust compatibility
SCHEMAS
DATA TYPES
SQL EXTENSIONS
SQL CAPABILITIES
TRIGGERS
INDEXES
TABLES
TOOLS
EDB*LOADER
EDB*PLUS
VIEWS
FUNCTIONS
USERS/ROLES
STORED PROCEDURES
WAITEVENTS
PL/SQLSUPPORT
PARTITIONING
17. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.17
Database compatibility support
SQL extension support
Decode, NVL, Substr, NVL2, Date/time functions
DDL syntax support
PL/SQL support – native language
REF Cursors, Implicit and explicit cursors
Looping, variable declarations, conditional statements
Collections: Associative Arrays, Varrays, Nested tables
Pragmas
Named parameters
User Defined Exceptions
Explicit Transaction Control (within sp)
Tools
EDB*Plus – SQL*Plus look-a-like
EDB*Loader – SQL*Loader equivalent
Oracle-like Data Dictionary
ALL_, DBA_, USER_ views
Wait Events
System and session waits
Statspack-like reporting
PL/SQL supplied packages
18 DBMS
7 UTL
Data types
Blobs, Clobs, XMLTYPE, VARCHAR2, NUMBER, CHAR, Integer
Drivers
JDBC, ODBC, .NET with Oracle extensions
OCI & ProC compatible drivers
Features
Packages
Stored procedures
Functions
Triggers
Hints
Hierarchical Queries
Synonyms – Public and Private
Sequences
Rownum
Users/Roles
Dynamic SQL
Materialized Views
Partitioning
EDB Postgres Advanced Server 11:
Pragma Autonomous Transaction and DBMS_REDACT
EDB Postgres Advanced Server 12:
Interval partition; MEDIAN, LISTAGG, COMPOUND TRIGGER
18. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.18
DBA UTILITIES
EDB Postgres Advanced Server Native Capabilities
CLIENT INTERFACES DB SERVER
PARSER
PostgreSQL types,
function, queries,
pl/pgSQL, etc.
Oracle types,
function, procedures,
queries, pl/SQL,
packages,
declarative partitions,
etc.
OPTIMIZER/
PLANNER
Declarative
partitioning, interval
partitioning,, query
hints, CONNECT BY
ROWNUM,
jdbc, odbc, ocl, libpq,.
node.js,psycopg2, .net,
RPostgresQL, DBD::Pg,
pgtcl, libpqxx,etc.
Oracle compatible jdbc,
.net, odbc,ocl, ecpg*plus
and libpq(EDB)
EXTENSIONS/
LOADABLE MODULES
pl/pgSQL, PostGIS,
pgcrypto, foreign
data wrappers, etc.
PL/SQL compiler &
interpreter (aka SPL)
Value-add packages:
• DBMS_AQ
• DBMS_Profiler
• DBMS_Schedule
• DBMS_RLS
• UTL_FILE, etc.
Installable language
packs:
• Perl
• Python
• TCL
EXECUTOR
Shared Buffers
Write-Ahead Log
Resource Manager
Autonomous
transactions
UTILITIES
CREATE TABLE,
COPY, etc.
Database links,
Oracle catalogue/
dictionary
Synonyms, etc.
SECURITY
Users, roles,
groups, etc.
• Data Redaction
• Password Profiles
• Separate Audit Log
• SQL Protect
• Virtual Private
Database
• EDB*Wrap
DBA UTILITIES
pg_prewarm, pg_catcheck
PL/SQL Debugger, SQL
Profiler, EDB*Loader,
EDB*Plus, Dynatune, etc.
MANAGEMENT UTILITIES
DRITA
PostgreSQL capability
EDB Postgres Advanced Server add-on capability
19. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.19
● 17% of all schemas had at least one
reference to PRAGMA
AUTONOMOUS_TRANSACTION
● 15% had at least one HINT
● 36% referred to at least one of the
EDB supported Oracle packages
● Basis: 2.2M DDL constructs analyzed
in 2020
Migration Portal - 2020 Observations
20. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.20
EDB Postgres Oracle-compatible Database Drivers
Oracle Compatibility Feature JDBC ODBC .NET OCI
PL/SQL Support
REF_CURSOR - OracleTypes.CURSOR
User-defined Exceptions - vendor code
Named Parameters - parameter names
Data Types - VARCHAR2 , STRUCT, ARRAYS
STRUCT - Enhanced Manipulation
Upper Column Names - (OPTIONAL)
Multiple INOUT/OUT parameters
21. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.21
EDB COMPATIBILITY WITH ORACLE
SCHEMA DATA CODE
PART OF THE WAY
SCHEMA AND DATA ONLY
MOST OF THE WAY
SCHEMA, DATA, AND CODE
API Tools
All the way
SCHEMA, DATA, CODE, INTERFACE, and OPERATIONAL TOOLS
Almost there
SCHEMA, DATA, CODE, AND INTERFACE
22. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.22
WHAT MAKES A GOOD MIGRATION CANDIDATE?
• ORM (Hibernate,
Spring, etc. )
• Procedures,
Functions,
Packages written
in PL/SQL
• Ability to modify
source code
• Availability of
Application
Developers
• No use of
RAC for
scalability
• No need for
Flashback
23. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.23
TYPICALLY MORE DIFFICULT TARGETS
Moderate
candidates
• OCI interface
• Spatial/XML
• Oracle extensions of
.NET and ODBC
Typically difficult
candidates:
• ProC interface
• Transaction management control
inside PL/SQL (Commit/rollback/
savepoint/exceptions)
• Stored procedures written in Java
• Must have RAC capabilities and
Flashback
Other
Oracle
proprietary
extensions
24. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.24
EDB POSTGRES MAKES IT EASY
EDB Advanced Server: Oracle
compatible Postgres
Migration tools:
• EDB Migration Portal: Cloud-based migration for
schemas and stored procedures
• EDB Migration Toolkit: One-time data migration
• EDB Replication Server: Change data capture for large
migrations with minimal downtime
Oracle-compatible Application drivers: OCL, JDBC, ODBC, .NET, ECPG*Plus
Management Tools
• EDB Postgres Enterprise Manager
• EDB Failover Manager
26. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.26
Migration tools and services
Migration Portal Migration Toolkit Migration Services
• Free, web-based tool
• Assess Oracle schema compatibility
• Converts Oracle objects to
EDB Postgres Advanced Server
• Command line tool
• Granular control schema and
data migration
• From Oracle to EDB Postgres
Advanced Server
• For complex migrations
• Or business that are short-staffed
• Helps ensure a smooth transition
27. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.27
EDB Migration Portal
• Online assessment and migration of
Oracle schemas
• Compatibility in EDB Postgres Advanced
Server
• Schemas
• DB code
• Application interfaces
• Rich knowledge base from 10+ years of
migrations
• Continuous release of new code
translations
Example output
29. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.29
24/7 world-class support for every EDB product
Experienced support engineers, backed up by some of the world’s leading
Postgres contributors, available 24x7 to help you resolve technical issues
PostgreSQL Technical Support Remote DBA Service
Cloud DBA Service Technical Account Management
24x7 expert technical support
for PostgreSQL
Expert help and 24x7 coverage for
your on-premises applications without
hiring a full-time DBA
DBAs with both cloud and Postgres
expertise for 24x7 coverage
Proactive assistance getting the most
from EDB products, services, and support
30. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.30
Recommended Next Steps
Lunch & Learn
Deep dive on your project needs and EDB compatibility
with Oracle
Migration Assessment
Try the migration portal!
Migration Discovery exercise with EDB
31. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.31
Core team Major contributors Contributors
EDB Open Source Leadership
Named EDB open source committers and contributors
Akshay Joshi Amul Sul Ashesh Vashi Ashutosh Sharma Jeevan Chalke
Dilip Kumar Jeevan Ladhe Mithun Cy Rushabh Lathia Amit Khandekar
Amit Langote Devrim Gündüz
Robert Haas
Bruce Momjian
Dave Page
Designates PostgreSQL committers
32. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.32
• Enterprise PostgreSQL innovations
• 4,000+ global customers
• Recognized by Gartner Magic Quadrant for 7 years in a row
• One of the only sub-$1bn revenue companies
• PostgreSQL community leadership
2019
Challengers Leaders
Niche Players Visionaries
Abilitytoexecute
Completeness of vision
1986
The Design
of PostgreSQL
1996
Birth of
PostgreSQL
2004
EDB
is founded
2020
TodayMaterialized
Views
Parallel
Query
JIT
Compilation
Heap Only
Tuples (HOT)
Serializable
Parallel Query
We’re database fanatics who care
deeply about PostgreSQL
Expertise
33. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.33 © Copyright EnterpriseDB Corporation, 2020. All rights reserved.33
IT Director
Chief
Architect
DevOps
Manager
Developer
Database
Administrator
Enabling teams to understand the full potential of PostgreSQL
Education