Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
The Real Scoop on Migrating from
Oracle Databases

Kevin.Martyn@EnterpriseDB.com
2013-10-30
© 2013 EnterpriseDB Corporation. All rights reserved.

1
Agenda
•  Company Overview
•  What is Postgres Plus Advanced Server?
•  What do we mean by ‘Oracle Compatibility’?
•  What does this mean to you?
•  Migration Methodology
•  How to Migrate
•  Handling migration issues
•  How EnterpriseDB can help
•  Summary
•  Some common questions answered
•  Q&A
© 2013 EnterpriseDB Corporation. All rights reserved.

2
Providing enterprises with the cost-performance benefits of
Postgres by offering the products, resources, support and
dependability required for high-level commercial applications.!
• 140+ employees
• 2,500+ customers across all market segments
• Global presence with offices in North America, Europe, Asia
• Fast growing: 60%+ YOY sales growth in 2012, 80%+ YOY 2013
• Strong financial banking:

© 2013 EnterpriseDB. All rights reserved.
© 2013 EnterpriseDB Corporation. All rights reserved.

3
New Gartner ODBMS Magic Quadrant
Gartner Comments:
•  Community leadership — EnterpriseDB
is the primary contributor to the
PostgreSQL community and is responsible
for many new features of PostgreSQL,
including JSON.
•  Functionality — The functionality of
EnterpriseDB's Postgres Plus has
increased greatly, and with the Oracle
Compatibility Feature is now more than
sufficient to run both mission-critical and
non-mission-critical applications.
•  Stability and compatibility —
References specifically call out
compatibility with Oracle, the stability of the
DBMS and product support as strengths.

© 2013 EnterpriseDB Corporation. All rights reserved.

4
Agenda
•  Company Overview
•  What is Postgres Plus Advanced Server?
•  What do we mean by ‘Oracle Compatibility’?
•  What does this mean to you?
•  Migration Methodology
•  How to Migrate
•  Handling migration issues
•  How EnterpriseDB can help
•  Summary
•  Some common questions answered
•  Q&A
© 2013 EnterpriseDB Corporation. All rights reserved.

5
Postgres Plus: A Super-Set of Features
Synchronized with and contributing to the PostgreSQL community

© 2013 EnterpriseDB Corporation. All rights reserved.

6
What Is Postgres Plus Advanced Server?

u 
u 
u 
u 
u 
u 
u 

© 2013 EnterpriseDB Corporation. All rights reserved.

7

Superset of community
PostgreSQL
10th generation of Oracle
compatibility, since 2005
World-class security add-ons
Performance that rivals any other
proprietary RDBMS
Enterprise-class developer and
DBA tools
Installation, performance tuning,
and maintenance services
Software indemnification
Agenda
•  Company Overview
•  What is Postgres Plus Advanced Server?
•  What do we mean by ‘Oracle Compatibility’?
•  What does this mean to you?
•  Migration Methodology
•  How to Migrate
•  Handling migration issues
•  How EnterpriseDB can help
•  Summary
•  Some common questions answered
•  Q&A
© 2013 EnterpriseDB Corporation. All rights reserved.

8
Oracle Compatibility - Goals
•  Run applications written for Oracle virtually unchanged
•  No need to re-train Oracle DBAs and developers
•  Support for SQL, PL/SQL, OCI and Pro*C
•  Replication for easy sharing of data
•  Dramatic Cost Savings
•  No Vendor Lock-in

© 2013 EnterpriseDB Corporation. All rights reserved.

9
Compatibility means:
•  SQL extension support
−  Decode, NVL, Substr, NVL2
−  Date/time functions: add_months, extract, next_day

•  PL/SQL support
− 
− 
− 
− 
− 
− 
− 

REF Cursors, Implicit and explicit cursors
Looping, variable declarations, conditional statements
Collections: Associative Arrays, Varrays, Nested tables
Bulk binding
Named parameters
User Defined Exceptions
Explicit Transaction Control
−  within a stored procedure
−  (not supported by PostgreSQL)

© 2013 EnterpriseDB Corporation. All rights reserved.

10
Compatibility means: (cont.)
•  Features
− 
− 
− 
− 
− 
− 
− 
− 
− 
− 
− 
− 

Packages
Stored procedures
Functions
Triggers
Hints
Database Links
Hierarchical Queries
Materialized view (foundation) (*1)
Synonyms – Public and Private
Sequences
Rownum
Object types
−  Create type … as object, … as table, …as varray
−  Constructor and collection methods

−  Users/Roles
−  Dynamic SQL

© 2013 EnterpriseDB Corporation. All rights reserved.

*1 – PPAS 9.3

11
Compatibility means: (cont.)
•  Data Types
Integer, number, char, double precision,
float, varchar2, blob, clob, xmltype, rowid

•  Built-in Packages
DBMS_:
SQL, RLS, LOB, JOB, PIPE, ALERT, OUTPUT, UTILITY, PROFILER
RANDOM, LOCK, CRYPTO, SCHEDULER, MVIEW (*1)

UTL_:
FILE, MAIL, SMTP, ENCODE, TCP
HTTP, URL (*1)

REGEXP_:
INSTR, SUBSTR, COUNT (*1)

•  Oracle-like Data Dictionary
−  ALL_, DBA_, USER_ views
−  Most commonly accessed views
*1 – PPAS 9.3

© 2013 EnterpriseDB Corporation. All rights reserved.

12
Compatibility means: (cont.)
•  Diagnostics - DRITA
−  System and session waits
−  Not exposed in PostgreSQL
−  Part of Advanced Server

−  Statspack like reporting

•  Tools
−  EDB*Plus
−  EDB*Loader
−  EDB*Wrap

(SQL*Plus look-a-like)
(SQL*Loader equivalent)
(similar to the PL/SQL wrapper)

*1 – PPAS 9.3

© 2013 EnterpriseDB Corporation. All rights reserved.

13
Partitioning in PPAS v9.3
Partitioning Performance: PPAS 9.3 v. PostgreSQL 9.3 v. PPAS 9.2
PPAS 9.2

80

PostgreSQL 9.3

Improvement Factor

70

PPAS 9.3

60
50
40

76 times Faster!

30
20
10
0
250

500

1000

Number of Table Partitions

•  Oracle syntax for partitioning (create, add, exchange, split, …)
•  Postgres Plus Advanced Server is up to 76 times faster for data
retrieval than PostgreSQL 9.3 or PPAS 9.2 (Partition pruning, and inserts)
•  The greater the number partitions, the greater the performance benefits

© 2013 EnterpriseDB Corporation. All rights reserved.

14
Agenda
•  Company Overview
•  What is Postgres Plus Advanced Server?
•  What do we mean by ‘Oracle Compatibility’?
•  What does this mean to you?
•  Migration Methodology
•  How to Migrate
•  Handling migration issues
•  How EnterpriseDB can help
•  Summary
•  Some common questions answered
•  Q&A
© 2013 EnterpriseDB Corporation. All rights reserved.

15
Migration Example

© 2013 EnterpriseDB Corporation. All rights reserved.

16
Database Migration Toolkit
•  Online Migration Toolkit enables point and click migration from
Oracle
•  Automatically Migrates:
u 
u 
u 
u 
u 

Data
Schemas
Stored Procedures
Triggers
Functions

© 2013 EnterpriseDB Corporation. All rights reserved.

u 
u 
u 
u 
u 

17

Sequences
Packages
Views
Database Links
Synonyms
Oracle Compatibility & Migration Strategies
Strategy

Benefits

Develop/Deploy
New LOB Applications

§ Significant cost savings for non mission critical
systems
§ Leverages all existing Oracle skills
§ Very low risk

Deploy Postgres Plus
as Oracle
Replication Server

§ Significant cost savings
§ Leverages Postgres Plus Replication Server
§ Leverages all existing Oracle skills
§ Improves transaction and query performance

Migrate non Mission
Critical Oracle Apps to
Postgres Plus

§ Significant cost savings
§ Leverages all existing Oracle skills
§ Very low risk

Migrate Mission Critical
Oracle Apps to
Postgres Plus

§ Biggest cost savings
§ Leverages all existing Oracle skills
§ Greatest deployment flexibility

© 2013 EnterpriseDB Corporation. All rights reserved.

18
Agenda
•  Company Overview
•  What is Postgres Plus Advanced Server?
•  What do we mean by ‘Oracle Compatibility’?
•  What does this mean to you?
•  Migration Methodology
•  How to Migrate
•  Handling migration issues
•  How EnterpriseDB can help
•  Summary
•  Some common questions answered
•  Q&A
© 2013 EnterpriseDB Corporation. All rights reserved.

19
Multi-phase Migration Process
u 

Phase I – Planning
• 

Determine what application to migrate"
– 
– 
– 
– 

• 
• 

Home grown applications!
Java, C!
Packaged applications that support multiple databases!
Support JDBC, ODBC"

Once candidate applications are chosen, sign up for OMA"
Oracle Migration Assessment (OMA) Identifies:"
–  Possible migration issues!
–  Gives time estimate to migrate system"

• 

Establish migration team:"
–  Need source system knowledgeable resource!
–  Need target system knowledgeable resource"

• 

Establish project plan with milestones

© 2013 EnterpriseDB Corporation. All rights reserved.

20
Multi-phase Migration Process
•  Phase II – Prepare Environment
−  Obtain and install necessary software
−  Establish connectivity between systems
−  Copy the Oracle JDBC jar file to jre/lib/ext directory in Postgres Plus Advanced
Server Installation

•  Phase III – Migrate Schema
−  Use Migration Toolkit in schema only mode
−  Resolve issues here before going to next phase

•  Phase IV – Migrate Data
−  Use command line MTK
−  Use –copyViaDBLinkOra
− 

Uses OCI to connect to Oracle

−  Use parallel threads

−  Use dblink_ora_copy function directly to bypass logging
−  Export Oracle data to flat files, load using EDB*Loader

© 2013 EnterpriseDB Corporation. All rights reserved.

21
Multi-phase Migration Process
•  Phase V – Port Application
−  Change connection information
−  Recompile /Link application (OCI or Pro*C)

•  Phase VI – Test
− 
− 
− 
− 

Verify application functionality
Address issues
Test performance
Tune

•  Phase VII Integration
−  Establish co-existence strategy
−  Setup database links to other databases
−  Setup replication between Oracle or SQL Server and Postgres
Plus Advanced Server

•  Phase VIII – Rollout
−  System becomes production
22
© 2013 EnterpriseDB Corporation. All rights reserved.

22
Agenda
•  Company Overview
•  What is Postgres Plus Advanced Server?
•  What do we mean by ‘Oracle Compatibility’?
•  What does this mean to you?
•  Migration Methodology
•  How to Migrate
•  Handling migration issues
•  How EnterpriseDB can help
•  Summary
•  Some common questions answered
•  Q&A
© 2013 EnterpriseDB Corporation. All rights reserved.

23
Phase I Oracle Migration Assessment
Work Products
•  Detailed OMA Analysis Report

•  List of known workarounds
•  Technology risks
•  Compatibility Score
•  Proposed migration approach including skills requirements,
training, architecture support, developer subscription, and
development resources
© 2013 EnterpriseDB Corporation. All rights reserved.

24
Phase I Setup MTK Environment
•  Establish connectivity
−  Copy Oracle JDBC jar file to Postgres Plus Advanced Server install
cp /usr/lib/oracle/xe/app/oracle/product/11.2.0/server/jdbc/lib/ojdbc14.jar /opt/
PostgresPlus/9.2AS/jre/lib/ext
−  Edit the toolkit.properties file to contain Oracle and Postgres Plus Advanced
Server connection information:
SRC_DB_URL=jdbc:oracle:thin:@localhost:1521:xe
SRC_DB_USER=system
SRC_DB_PASSWORD=manager
TARGET_DB_URL=jdbc:edb://localhost:5999/demo
TARGET_DB_USER=demo
TARGET_DB_PASSWORD=manager

© 2013 EnterpriseDB Corporation. All rights reserved.

25
Phase II Oracle Migration Toolkit
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 

*** Checking for Migration Issues ***
Object Type
Type
Count
------------------------------------------------------------------------------TRIGGER
Count
0
SOURCE
Package
0
SOURCE
Syntax - Exception
0
SOURCE
Function
789
SOURCE
Syntax - Object
0
SOURCE
Syntax - Other
792
SOURCE
Syntax - Hints
282
SOURCE
Syntax - Exp Trans Ctl
730
SOURCE
Total Count
2623
COLLECTION
Count
1
VARRAY
Count
0
DIMENSION
Count
0
JOB
Count
0
MATERIALIZED VIEW
Count
0
RESOURCE MGR
Count
0
POLICY
Count
9
PROFILE
Count
6
SUMMARY
Possible Migration Issues
2775

© 2013 EnterpriseDB Corporation. All rights reserved.

26
Phase III Migrate Schema
Use MTK in schema only mode:
[enterprisedb@localhost bin]$ ./runMTK.sh -schemaOnly hr
Source database connectivity info...
conn =jdbc:oracle:thin:@localhost:1521:xe
user =system
password=******
Target database connectivity info...
conn =jdbc:edb://localhost:5999/demo
user =demo
password=******
Connecting with source Oracle database server...
Connecting with target EnterpriseDB database server...
Importing redwood schema hr...
Creating Schema...hr
Creating Object Type: NUMLIST
Creating Sequence: EMPLOYEES_SEQ
Creating Tables...
Creating Table: EMPLOYEES

© 2013 EnterpriseDB Corporation. All rights reserved.

27
Phase III Migrate Schema con’t
******************** Migration Summary ********************
Object Types: 9 out of 9
Sequences: 3 out of 3
Tables: 49 out of 53
Constraints: 39 out of 40
Procedures: 7 out of 7
Functions: 3 out of 3
Packages: 3 out of 3
Total objects: 139
Successful count: 134
Failure count: 5
List of failed objects
======================
Tables
-------------------1. HR.BFTEST
2. HR.TESTBD
3. HR.TESTBF
4. HR.TESTCNTXT

© 2013 EnterpriseDB Corporation. All rights reserved.

28
Phase III Migrate Schema con’t
•  Migration logs stored in user’s home directory :
/home/enterprisedb/.enterprisedb/migration-toolkit/logs

•  Resolve issues:
Error Creating Table TESTCNTXT:ERROR: function sys_context(unknown,
unknown) does not exist
Hint: No function matches the given name and argument types. You might need to
add explicit type casts.

CAUSE: this table used SYS_CONTEXT(‘USERENV’,’CURRENT_USER’) as a
DEFAULT value
RESOLUTION: use CURRENT_USER function instead

© 2013 EnterpriseDB Corporation. All rights reserved.

29
Phase III Migrate Schema con’t
•  Migration logs stored in user’s home directory :
•  Resolve issues:
XMLELEMENT : 35
There is a similar function in Postgres with the same name but the syntax is slightly
different.
SELECT xmlelement(name foo, xmlattributes(current_date as bar), 'cont', 'ent');
xmlelement
------------------------------------<foo bar="2007-01-26">content</foo>

© 2013 EnterpriseDB Corporation. All rights reserved.

30
Phase IV Migrate Data
•  Use MTK in data only mode:
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 

[enterprisedb@localhost bin]$ ./runMTK.sh -dataOnly hr
Source database connectivity info...
conn =jdbc:oracle:thin:@localhost:1521:xe
user =system
password=******
Target database connectivity info...
conn =jdbc:edb://localhost:5999/demo
user =demo
password=******
Connecting with source Oracle database server...
Connecting with target EnterpriseDB database server...
Importing redwood schema hr...
Loading Table Data in 8 MB batches...
Loading Table: AGES ...
[AGES] Migrated 1 rows.
[AGES] Table Data Load Summary: Total Time(s): 0.467 Total Rows: 1
Loading Table: DEPARTMENTS ...

© 2013 EnterpriseDB Corporation. All rights reserved.

31
Phase V Port the Application
§  Change Application Connection method
§  Java application =
§  Old connection syntax:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:
1521:xe”,”hrapp”,”manager”);

§  New connection syntax:
Class.forName("com.edb.Driver");
Connection con = DriverManager.getConnection("jdbc:edb://localhost:5444/edb",
“hrapp",“manager");

© 2013 EnterpriseDB Corporation. All rights reserved.

32
Agenda
•  Company Overview
•  What is Postgres Plus Advanced Server?
•  What do we mean by ‘Oracle Compatibility’?
•  What does this mean to you?
•  Migration Methodology
•  How to Migrate
•  Handling migration issues
•  How EnterpriseDB can help
•  Summary
•  Some common questions answered
•  Q&A
© 2013 EnterpriseDB Corporation. All rights reserved.

33
Handling Issues
•  Not all migrations are error free
−  Migration log will contain all errors

•  Some common issues:
−  Column delimiter chosen is in column data
−  Causes ‘Extra data found’ error
−  Resolve by using different delimiter

•  Oracle built-in package does not exist
−  DBMS_AQ – we use solutions like ActiveMQ, MQSeries or Tibco
−  Or own code. Enqueue and dequeue procedures are fairly easy to code
−  xDB Replication Server can also be used since based on pub/sub architecture
−  DBMS_LOCK.sleep – use pg_sleep function instead

•  Oracle feature not supported
−  MERGE command not supported
−  Can be rewritten to use INSERT and UPDATE with checks

−  Index Organized Tables
−  Cluster a table using CLUSTER command for same read performance gain

© 2013 EnterpriseDB Corporation. All rights reserved.

34
Handling Issues (continued)
•  Database Links
−  Migrated over by tool but password is invalid
−  This is because Oracle hides the password
−  Resolve by dropping and recreating
−  Or by specifying a password to use when running the MTK
−  runMTK -allDBLinks LINK_NAME1=abc,LINK_NAME2=xyz HR

•  Data Movement – performance
−  Migration toolkit connects via jdbc
−  Large datasets are slow to move
−  Use database link functionality instead
−  Dblink_ora_copy – EnterpriseDB method to copy data from Oracle over OCI
−  Much faster

−  OR extract data from Oracle to csv files, load using edbldr

© 2013 EnterpriseDB Corporation. All rights reserved.

35
Tuning Recommendations
•  Use DynaTune
−  Dynamically adjusts database configuration based on available resources
−  Set via edb_dynatune parameter
−  Values 0 – 100 corresponding to % of machines to use

•  Remember to analyze database
−  Use Analyze command

•  Oracle Hints supported
−  No need to remove from embedded SQL

© 2013 EnterpriseDB Corporation. All rights reserved.

36
Agenda
•  Company Overview
•  What is Postgres Plus Advanced Server?
•  What do we mean by ‘Oracle Compatibility’?
•  What does this mean to you?
•  Migration Methodology
•  How to Migrate
•  Handling migration issues
•  How EnterpriseDB can help
•  Summary
•  Some common questions answered
•  Q&A
© 2013 EnterpriseDB Corporation. All rights reserved.

37
How EnterpriseDB Can Help

38
© 2013 EnterpriseDB Corporation. All rights reserved.

38
Oracle Migration Assessment
•  Paid for service from EnterpriseDB
•  What is it?
−  Pre-analysis interview
−  Analysis of Oracle schemas to be migrated
−  Finds possible migration issues
−  Unsupported Features
−  Unsupported Syntax
−  Implementation Differences

−  Findings documented in final report
−  Post analysis discussions to review findings

•  Migration feasibility score assigned (1 – 10)
http://www.enterprisedb.com/solutions/oracle-migration-assessment

© 2013 EnterpriseDB Corporation. All rights reserved.

39
Professional services for your migration
Assist after the OMA
•  Plan rollout
•  Migration the Schema and Stored procedures (OMF next)
•  Migrate the data (once, 2x,… minimal down time)
•  Training
•  Port and test application(s) (typically customer)
•  DBA and application coaching/support
•  Support contract
•  Remote DBA

© 2013 EnterpriseDB Corporation. All rights reserved.

40
Oracle Migration Factory Core Services
•  Customer provides data-less Oracle export of database
•  Migrate the database(s) to Postgres Plus Advanced Server
−  Resolve any issues
−  Implement workarounds for missing or different functionality
−  Perform sanity checking of unit functionality
−  Requires input/output from customer on same units in Oracle

•  Document the changes/workarounds
•  Educate Customer on changes/workarounds
−  Advise on application level changes needed

•  Return migrated databases to Customer
−  Via pg_dump

•  Customer can customize with add on options

© 2013 EnterpriseDB Corporation. All rights reserved.

41
Oracle Migration Factory Add-ons
•  Setup and Migrate test system
−  Installation of Postgres Plus Advanced Server on Customer server
−  Import of migrated database to Postgres Plus Advanced Server
−  Migration of test data from a test Oracle system

•  Application Functional Testing
−  Provide assistance in connecting application to database
−  Provide assistance in functional testing of application
−  Resolve functional testing issues

•  Performance Tuning of Migrated System
•  Production Migration Setup
−  Install Postgres Plus Advanced Server on target production server
−  Import migrated database from testing server
−  Setup of xDB Replication Server
−  Snapshot process will migrate production Oracle data
−  Deltas are captured by xDB triggers
−  Once snapshot is done, synchronization is performed

© 2013 EnterpriseDB Corporation. All rights reserved.

42
Agenda
•  Company Overview
•  What is Postgres Plus Advanced Server?
•  What do we mean by ‘Oracle Compatibility’?
•  What does this mean to you?
•  Migration Methodology
•  How to Migrate
•  Handling migration issues
•  How EnterpriseDB can help
•  Summary
•  Some common questions answered
•  Q&A
© 2013 EnterpriseDB Corporation. All rights reserved.

43
Summary
•  Migrations are no longer impossible
•  Compatibility provides
−  Lower cost of migrations
−  Shorter migration timelines
−  Lower risk (you can always go back)

•  EnterpriseDB provides
−  Oracle compatibility
−  Automated tools to migrate from Oracle
−  And others: MySQL, Sybase, SQL Server (data & schema)

•  Migration Expertise for:
− 
− 
− 
− 

Planning
Performing migration
Testing
Rollout

http://www.enterprisedb.com/solutions/oracle-compatibility

© 2013 EnterpriseDB Corporation. All rights reserved.

44
EDB Serves ALL Your Postgres Needs

PostgreSQL

© 2013 EnterpriseDB Corporation. All rights reserved.

Postgres Plus
Advanced Server

45

Postgres Plus
Cloud
Agenda
•  Company Overview
•  What is Postgres Plus Advanced Server?
•  What do we mean by ‘Oracle Compatibility’?
•  What does this mean to you?
•  Migration Methodology
•  How to Migrate
•  Handling migration issues
•  How EnterpriseDB can help
•  Summary
•  Some common questions answered
•  Q&A
© 2013 EnterpriseDB Corporation. All rights reserved.

46
Some Common
Questions
Answered

47
© 2013 EnterpriseDB Corporation. All rights reserved.

47
How can I replace RAC for HA?

§  Active/Passive Clustering is
proven technology
§  Provides fast detection and
failover
§  No extra database cost

© 2013 EnterpriseDB Corporation. All rights reserved.

48
How can I replace DataGuard(Physical)?

Postgres Plus
Advanced Server

Postgres Plus
Advanced Server

Live
Server
Instance

pg_standby	
  

WAL
Disk
Storage

© 2013 EnterpriseDB Corporation. All rights reserved.

Standby
Server
(in recovery mode)

WAL

Archiver

49

Disk
Storage
How can I replace DataGuard(Logical)?
» Uses WAL for speed and
reliability
» Highly cost effective, uses
commodity servers
» Excellent HA solution when
clustering is not an option

© 2013 EnterpriseDB Corporation. All rights reserved.

50
© 2013 EnterpriseDB Corporation. All rights reserved.

51

More Related Content

The Real Scoop on Migrating from Oracle Databases

  • 1. The Real Scoop on Migrating from Oracle Databases Kevin.Martyn@EnterpriseDB.com 2013-10-30 © 2013 EnterpriseDB Corporation. All rights reserved. 1
  • 2. Agenda •  Company Overview •  What is Postgres Plus Advanced Server? •  What do we mean by ‘Oracle Compatibility’? •  What does this mean to you? •  Migration Methodology •  How to Migrate •  Handling migration issues •  How EnterpriseDB can help •  Summary •  Some common questions answered •  Q&A © 2013 EnterpriseDB Corporation. All rights reserved. 2
  • 3. Providing enterprises with the cost-performance benefits of Postgres by offering the products, resources, support and dependability required for high-level commercial applications.! • 140+ employees • 2,500+ customers across all market segments • Global presence with offices in North America, Europe, Asia • Fast growing: 60%+ YOY sales growth in 2012, 80%+ YOY 2013 • Strong financial banking: © 2013 EnterpriseDB. All rights reserved. © 2013 EnterpriseDB Corporation. All rights reserved. 3
  • 4. New Gartner ODBMS Magic Quadrant Gartner Comments: •  Community leadership — EnterpriseDB is the primary contributor to the PostgreSQL community and is responsible for many new features of PostgreSQL, including JSON. •  Functionality — The functionality of EnterpriseDB's Postgres Plus has increased greatly, and with the Oracle Compatibility Feature is now more than sufficient to run both mission-critical and non-mission-critical applications. •  Stability and compatibility — References specifically call out compatibility with Oracle, the stability of the DBMS and product support as strengths. © 2013 EnterpriseDB Corporation. All rights reserved. 4
  • 5. Agenda •  Company Overview •  What is Postgres Plus Advanced Server? •  What do we mean by ‘Oracle Compatibility’? •  What does this mean to you? •  Migration Methodology •  How to Migrate •  Handling migration issues •  How EnterpriseDB can help •  Summary •  Some common questions answered •  Q&A © 2013 EnterpriseDB Corporation. All rights reserved. 5
  • 6. Postgres Plus: A Super-Set of Features Synchronized with and contributing to the PostgreSQL community © 2013 EnterpriseDB Corporation. All rights reserved. 6
  • 7. What Is Postgres Plus Advanced Server? u  u  u  u  u  u  u  © 2013 EnterpriseDB Corporation. All rights reserved. 7 Superset of community PostgreSQL 10th generation of Oracle compatibility, since 2005 World-class security add-ons Performance that rivals any other proprietary RDBMS Enterprise-class developer and DBA tools Installation, performance tuning, and maintenance services Software indemnification
  • 8. Agenda •  Company Overview •  What is Postgres Plus Advanced Server? •  What do we mean by ‘Oracle Compatibility’? •  What does this mean to you? •  Migration Methodology •  How to Migrate •  Handling migration issues •  How EnterpriseDB can help •  Summary •  Some common questions answered •  Q&A © 2013 EnterpriseDB Corporation. All rights reserved. 8
  • 9. Oracle Compatibility - Goals •  Run applications written for Oracle virtually unchanged •  No need to re-train Oracle DBAs and developers •  Support for SQL, PL/SQL, OCI and Pro*C •  Replication for easy sharing of data •  Dramatic Cost Savings •  No Vendor Lock-in © 2013 EnterpriseDB Corporation. All rights reserved. 9
  • 10. Compatibility means: •  SQL extension support −  Decode, NVL, Substr, NVL2 −  Date/time functions: add_months, extract, next_day •  PL/SQL support −  −  −  −  −  −  −  REF Cursors, Implicit and explicit cursors Looping, variable declarations, conditional statements Collections: Associative Arrays, Varrays, Nested tables Bulk binding Named parameters User Defined Exceptions Explicit Transaction Control −  within a stored procedure −  (not supported by PostgreSQL) © 2013 EnterpriseDB Corporation. All rights reserved. 10
  • 11. Compatibility means: (cont.) •  Features −  −  −  −  −  −  −  −  −  −  −  −  Packages Stored procedures Functions Triggers Hints Database Links Hierarchical Queries Materialized view (foundation) (*1) Synonyms – Public and Private Sequences Rownum Object types −  Create type … as object, … as table, …as varray −  Constructor and collection methods −  Users/Roles −  Dynamic SQL © 2013 EnterpriseDB Corporation. All rights reserved. *1 – PPAS 9.3 11
  • 12. Compatibility means: (cont.) •  Data Types Integer, number, char, double precision, float, varchar2, blob, clob, xmltype, rowid •  Built-in Packages DBMS_: SQL, RLS, LOB, JOB, PIPE, ALERT, OUTPUT, UTILITY, PROFILER RANDOM, LOCK, CRYPTO, SCHEDULER, MVIEW (*1) UTL_: FILE, MAIL, SMTP, ENCODE, TCP HTTP, URL (*1) REGEXP_: INSTR, SUBSTR, COUNT (*1) •  Oracle-like Data Dictionary −  ALL_, DBA_, USER_ views −  Most commonly accessed views *1 – PPAS 9.3 © 2013 EnterpriseDB Corporation. All rights reserved. 12
  • 13. Compatibility means: (cont.) •  Diagnostics - DRITA −  System and session waits −  Not exposed in PostgreSQL −  Part of Advanced Server −  Statspack like reporting •  Tools −  EDB*Plus −  EDB*Loader −  EDB*Wrap (SQL*Plus look-a-like) (SQL*Loader equivalent) (similar to the PL/SQL wrapper) *1 – PPAS 9.3 © 2013 EnterpriseDB Corporation. All rights reserved. 13
  • 14. Partitioning in PPAS v9.3 Partitioning Performance: PPAS 9.3 v. PostgreSQL 9.3 v. PPAS 9.2 PPAS 9.2 80 PostgreSQL 9.3 Improvement Factor 70 PPAS 9.3 60 50 40 76 times Faster! 30 20 10 0 250 500 1000 Number of Table Partitions •  Oracle syntax for partitioning (create, add, exchange, split, …) •  Postgres Plus Advanced Server is up to 76 times faster for data retrieval than PostgreSQL 9.3 or PPAS 9.2 (Partition pruning, and inserts) •  The greater the number partitions, the greater the performance benefits © 2013 EnterpriseDB Corporation. All rights reserved. 14
  • 15. Agenda •  Company Overview •  What is Postgres Plus Advanced Server? •  What do we mean by ‘Oracle Compatibility’? •  What does this mean to you? •  Migration Methodology •  How to Migrate •  Handling migration issues •  How EnterpriseDB can help •  Summary •  Some common questions answered •  Q&A © 2013 EnterpriseDB Corporation. All rights reserved. 15
  • 16. Migration Example © 2013 EnterpriseDB Corporation. All rights reserved. 16
  • 17. Database Migration Toolkit •  Online Migration Toolkit enables point and click migration from Oracle •  Automatically Migrates: u  u  u  u  u  Data Schemas Stored Procedures Triggers Functions © 2013 EnterpriseDB Corporation. All rights reserved. u  u  u  u  u  17 Sequences Packages Views Database Links Synonyms
  • 18. Oracle Compatibility & Migration Strategies Strategy Benefits Develop/Deploy New LOB Applications § Significant cost savings for non mission critical systems § Leverages all existing Oracle skills § Very low risk Deploy Postgres Plus as Oracle Replication Server § Significant cost savings § Leverages Postgres Plus Replication Server § Leverages all existing Oracle skills § Improves transaction and query performance Migrate non Mission Critical Oracle Apps to Postgres Plus § Significant cost savings § Leverages all existing Oracle skills § Very low risk Migrate Mission Critical Oracle Apps to Postgres Plus § Biggest cost savings § Leverages all existing Oracle skills § Greatest deployment flexibility © 2013 EnterpriseDB Corporation. All rights reserved. 18
  • 19. Agenda •  Company Overview •  What is Postgres Plus Advanced Server? •  What do we mean by ‘Oracle Compatibility’? •  What does this mean to you? •  Migration Methodology •  How to Migrate •  Handling migration issues •  How EnterpriseDB can help •  Summary •  Some common questions answered •  Q&A © 2013 EnterpriseDB Corporation. All rights reserved. 19
  • 20. Multi-phase Migration Process u  Phase I – Planning •  Determine what application to migrate" –  –  –  –  •  •  Home grown applications! Java, C! Packaged applications that support multiple databases! Support JDBC, ODBC" Once candidate applications are chosen, sign up for OMA" Oracle Migration Assessment (OMA) Identifies:" –  Possible migration issues! –  Gives time estimate to migrate system" •  Establish migration team:" –  Need source system knowledgeable resource! –  Need target system knowledgeable resource" •  Establish project plan with milestones © 2013 EnterpriseDB Corporation. All rights reserved. 20
  • 21. Multi-phase Migration Process •  Phase II – Prepare Environment −  Obtain and install necessary software −  Establish connectivity between systems −  Copy the Oracle JDBC jar file to jre/lib/ext directory in Postgres Plus Advanced Server Installation •  Phase III – Migrate Schema −  Use Migration Toolkit in schema only mode −  Resolve issues here before going to next phase •  Phase IV – Migrate Data −  Use command line MTK −  Use –copyViaDBLinkOra −  Uses OCI to connect to Oracle −  Use parallel threads −  Use dblink_ora_copy function directly to bypass logging −  Export Oracle data to flat files, load using EDB*Loader © 2013 EnterpriseDB Corporation. All rights reserved. 21
  • 22. Multi-phase Migration Process •  Phase V – Port Application −  Change connection information −  Recompile /Link application (OCI or Pro*C) •  Phase VI – Test −  −  −  −  Verify application functionality Address issues Test performance Tune •  Phase VII Integration −  Establish co-existence strategy −  Setup database links to other databases −  Setup replication between Oracle or SQL Server and Postgres Plus Advanced Server •  Phase VIII – Rollout −  System becomes production 22 © 2013 EnterpriseDB Corporation. All rights reserved. 22
  • 23. Agenda •  Company Overview •  What is Postgres Plus Advanced Server? •  What do we mean by ‘Oracle Compatibility’? •  What does this mean to you? •  Migration Methodology •  How to Migrate •  Handling migration issues •  How EnterpriseDB can help •  Summary •  Some common questions answered •  Q&A © 2013 EnterpriseDB Corporation. All rights reserved. 23
  • 24. Phase I Oracle Migration Assessment Work Products •  Detailed OMA Analysis Report •  List of known workarounds •  Technology risks •  Compatibility Score •  Proposed migration approach including skills requirements, training, architecture support, developer subscription, and development resources © 2013 EnterpriseDB Corporation. All rights reserved. 24
  • 25. Phase I Setup MTK Environment •  Establish connectivity −  Copy Oracle JDBC jar file to Postgres Plus Advanced Server install cp /usr/lib/oracle/xe/app/oracle/product/11.2.0/server/jdbc/lib/ojdbc14.jar /opt/ PostgresPlus/9.2AS/jre/lib/ext −  Edit the toolkit.properties file to contain Oracle and Postgres Plus Advanced Server connection information: SRC_DB_URL=jdbc:oracle:thin:@localhost:1521:xe SRC_DB_USER=system SRC_DB_PASSWORD=manager TARGET_DB_URL=jdbc:edb://localhost:5999/demo TARGET_DB_USER=demo TARGET_DB_PASSWORD=manager © 2013 EnterpriseDB Corporation. All rights reserved. 25
  • 26. Phase II Oracle Migration Toolkit •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  *** Checking for Migration Issues *** Object Type Type Count ------------------------------------------------------------------------------TRIGGER Count 0 SOURCE Package 0 SOURCE Syntax - Exception 0 SOURCE Function 789 SOURCE Syntax - Object 0 SOURCE Syntax - Other 792 SOURCE Syntax - Hints 282 SOURCE Syntax - Exp Trans Ctl 730 SOURCE Total Count 2623 COLLECTION Count 1 VARRAY Count 0 DIMENSION Count 0 JOB Count 0 MATERIALIZED VIEW Count 0 RESOURCE MGR Count 0 POLICY Count 9 PROFILE Count 6 SUMMARY Possible Migration Issues 2775 © 2013 EnterpriseDB Corporation. All rights reserved. 26
  • 27. Phase III Migrate Schema Use MTK in schema only mode: [enterprisedb@localhost bin]$ ./runMTK.sh -schemaOnly hr Source database connectivity info... conn =jdbc:oracle:thin:@localhost:1521:xe user =system password=****** Target database connectivity info... conn =jdbc:edb://localhost:5999/demo user =demo password=****** Connecting with source Oracle database server... Connecting with target EnterpriseDB database server... Importing redwood schema hr... Creating Schema...hr Creating Object Type: NUMLIST Creating Sequence: EMPLOYEES_SEQ Creating Tables... Creating Table: EMPLOYEES © 2013 EnterpriseDB Corporation. All rights reserved. 27
  • 28. Phase III Migrate Schema con’t ******************** Migration Summary ******************** Object Types: 9 out of 9 Sequences: 3 out of 3 Tables: 49 out of 53 Constraints: 39 out of 40 Procedures: 7 out of 7 Functions: 3 out of 3 Packages: 3 out of 3 Total objects: 139 Successful count: 134 Failure count: 5 List of failed objects ====================== Tables -------------------1. HR.BFTEST 2. HR.TESTBD 3. HR.TESTBF 4. HR.TESTCNTXT © 2013 EnterpriseDB Corporation. All rights reserved. 28
  • 29. Phase III Migrate Schema con’t •  Migration logs stored in user’s home directory : /home/enterprisedb/.enterprisedb/migration-toolkit/logs •  Resolve issues: Error Creating Table TESTCNTXT:ERROR: function sys_context(unknown, unknown) does not exist Hint: No function matches the given name and argument types. You might need to add explicit type casts. CAUSE: this table used SYS_CONTEXT(‘USERENV’,’CURRENT_USER’) as a DEFAULT value RESOLUTION: use CURRENT_USER function instead © 2013 EnterpriseDB Corporation. All rights reserved. 29
  • 30. Phase III Migrate Schema con’t •  Migration logs stored in user’s home directory : •  Resolve issues: XMLELEMENT : 35 There is a similar function in Postgres with the same name but the syntax is slightly different. SELECT xmlelement(name foo, xmlattributes(current_date as bar), 'cont', 'ent'); xmlelement ------------------------------------<foo bar="2007-01-26">content</foo> © 2013 EnterpriseDB Corporation. All rights reserved. 30
  • 31. Phase IV Migrate Data •  Use MTK in data only mode: •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  [enterprisedb@localhost bin]$ ./runMTK.sh -dataOnly hr Source database connectivity info... conn =jdbc:oracle:thin:@localhost:1521:xe user =system password=****** Target database connectivity info... conn =jdbc:edb://localhost:5999/demo user =demo password=****** Connecting with source Oracle database server... Connecting with target EnterpriseDB database server... Importing redwood schema hr... Loading Table Data in 8 MB batches... Loading Table: AGES ... [AGES] Migrated 1 rows. [AGES] Table Data Load Summary: Total Time(s): 0.467 Total Rows: 1 Loading Table: DEPARTMENTS ... © 2013 EnterpriseDB Corporation. All rights reserved. 31
  • 32. Phase V Port the Application §  Change Application Connection method §  Java application = §  Old connection syntax: Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost: 1521:xe”,”hrapp”,”manager”); §  New connection syntax: Class.forName("com.edb.Driver"); Connection con = DriverManager.getConnection("jdbc:edb://localhost:5444/edb", “hrapp",“manager"); © 2013 EnterpriseDB Corporation. All rights reserved. 32
  • 33. Agenda •  Company Overview •  What is Postgres Plus Advanced Server? •  What do we mean by ‘Oracle Compatibility’? •  What does this mean to you? •  Migration Methodology •  How to Migrate •  Handling migration issues •  How EnterpriseDB can help •  Summary •  Some common questions answered •  Q&A © 2013 EnterpriseDB Corporation. All rights reserved. 33
  • 34. Handling Issues •  Not all migrations are error free −  Migration log will contain all errors •  Some common issues: −  Column delimiter chosen is in column data −  Causes ‘Extra data found’ error −  Resolve by using different delimiter •  Oracle built-in package does not exist −  DBMS_AQ – we use solutions like ActiveMQ, MQSeries or Tibco −  Or own code. Enqueue and dequeue procedures are fairly easy to code −  xDB Replication Server can also be used since based on pub/sub architecture −  DBMS_LOCK.sleep – use pg_sleep function instead •  Oracle feature not supported −  MERGE command not supported −  Can be rewritten to use INSERT and UPDATE with checks −  Index Organized Tables −  Cluster a table using CLUSTER command for same read performance gain © 2013 EnterpriseDB Corporation. All rights reserved. 34
  • 35. Handling Issues (continued) •  Database Links −  Migrated over by tool but password is invalid −  This is because Oracle hides the password −  Resolve by dropping and recreating −  Or by specifying a password to use when running the MTK −  runMTK -allDBLinks LINK_NAME1=abc,LINK_NAME2=xyz HR •  Data Movement – performance −  Migration toolkit connects via jdbc −  Large datasets are slow to move −  Use database link functionality instead −  Dblink_ora_copy – EnterpriseDB method to copy data from Oracle over OCI −  Much faster −  OR extract data from Oracle to csv files, load using edbldr © 2013 EnterpriseDB Corporation. All rights reserved. 35
  • 36. Tuning Recommendations •  Use DynaTune −  Dynamically adjusts database configuration based on available resources −  Set via edb_dynatune parameter −  Values 0 – 100 corresponding to % of machines to use •  Remember to analyze database −  Use Analyze command •  Oracle Hints supported −  No need to remove from embedded SQL © 2013 EnterpriseDB Corporation. All rights reserved. 36
  • 37. Agenda •  Company Overview •  What is Postgres Plus Advanced Server? •  What do we mean by ‘Oracle Compatibility’? •  What does this mean to you? •  Migration Methodology •  How to Migrate •  Handling migration issues •  How EnterpriseDB can help •  Summary •  Some common questions answered •  Q&A © 2013 EnterpriseDB Corporation. All rights reserved. 37
  • 38. How EnterpriseDB Can Help 38 © 2013 EnterpriseDB Corporation. All rights reserved. 38
  • 39. Oracle Migration Assessment •  Paid for service from EnterpriseDB •  What is it? −  Pre-analysis interview −  Analysis of Oracle schemas to be migrated −  Finds possible migration issues −  Unsupported Features −  Unsupported Syntax −  Implementation Differences −  Findings documented in final report −  Post analysis discussions to review findings •  Migration feasibility score assigned (1 – 10) http://www.enterprisedb.com/solutions/oracle-migration-assessment © 2013 EnterpriseDB Corporation. All rights reserved. 39
  • 40. Professional services for your migration Assist after the OMA •  Plan rollout •  Migration the Schema and Stored procedures (OMF next) •  Migrate the data (once, 2x,… minimal down time) •  Training •  Port and test application(s) (typically customer) •  DBA and application coaching/support •  Support contract •  Remote DBA © 2013 EnterpriseDB Corporation. All rights reserved. 40
  • 41. Oracle Migration Factory Core Services •  Customer provides data-less Oracle export of database •  Migrate the database(s) to Postgres Plus Advanced Server −  Resolve any issues −  Implement workarounds for missing or different functionality −  Perform sanity checking of unit functionality −  Requires input/output from customer on same units in Oracle •  Document the changes/workarounds •  Educate Customer on changes/workarounds −  Advise on application level changes needed •  Return migrated databases to Customer −  Via pg_dump •  Customer can customize with add on options © 2013 EnterpriseDB Corporation. All rights reserved. 41
  • 42. Oracle Migration Factory Add-ons •  Setup and Migrate test system −  Installation of Postgres Plus Advanced Server on Customer server −  Import of migrated database to Postgres Plus Advanced Server −  Migration of test data from a test Oracle system •  Application Functional Testing −  Provide assistance in connecting application to database −  Provide assistance in functional testing of application −  Resolve functional testing issues •  Performance Tuning of Migrated System •  Production Migration Setup −  Install Postgres Plus Advanced Server on target production server −  Import migrated database from testing server −  Setup of xDB Replication Server −  Snapshot process will migrate production Oracle data −  Deltas are captured by xDB triggers −  Once snapshot is done, synchronization is performed © 2013 EnterpriseDB Corporation. All rights reserved. 42
  • 43. Agenda •  Company Overview •  What is Postgres Plus Advanced Server? •  What do we mean by ‘Oracle Compatibility’? •  What does this mean to you? •  Migration Methodology •  How to Migrate •  Handling migration issues •  How EnterpriseDB can help •  Summary •  Some common questions answered •  Q&A © 2013 EnterpriseDB Corporation. All rights reserved. 43
  • 44. Summary •  Migrations are no longer impossible •  Compatibility provides −  Lower cost of migrations −  Shorter migration timelines −  Lower risk (you can always go back) •  EnterpriseDB provides −  Oracle compatibility −  Automated tools to migrate from Oracle −  And others: MySQL, Sybase, SQL Server (data & schema) •  Migration Expertise for: −  −  −  −  Planning Performing migration Testing Rollout http://www.enterprisedb.com/solutions/oracle-compatibility © 2013 EnterpriseDB Corporation. All rights reserved. 44
  • 45. EDB Serves ALL Your Postgres Needs PostgreSQL © 2013 EnterpriseDB Corporation. All rights reserved. Postgres Plus Advanced Server 45 Postgres Plus Cloud
  • 46. Agenda •  Company Overview •  What is Postgres Plus Advanced Server? •  What do we mean by ‘Oracle Compatibility’? •  What does this mean to you? •  Migration Methodology •  How to Migrate •  Handling migration issues •  How EnterpriseDB can help •  Summary •  Some common questions answered •  Q&A © 2013 EnterpriseDB Corporation. All rights reserved. 46
  • 47. Some Common Questions Answered 47 © 2013 EnterpriseDB Corporation. All rights reserved. 47
  • 48. How can I replace RAC for HA? §  Active/Passive Clustering is proven technology §  Provides fast detection and failover §  No extra database cost © 2013 EnterpriseDB Corporation. All rights reserved. 48
  • 49. How can I replace DataGuard(Physical)? Postgres Plus Advanced Server Postgres Plus Advanced Server Live Server Instance pg_standby   WAL Disk Storage © 2013 EnterpriseDB Corporation. All rights reserved. Standby Server (in recovery mode) WAL Archiver 49 Disk Storage
  • 50. How can I replace DataGuard(Logical)? » Uses WAL for speed and reliability » Highly cost effective, uses commodity servers » Excellent HA solution when clustering is not an option © 2013 EnterpriseDB Corporation. All rights reserved. 50
  • 51. © 2013 EnterpriseDB Corporation. All rights reserved. 51