SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Trivadis Blog@rstirnimann_ch
Oracle to PostgreSQL
A Travel Guide from Practice
Roland Stirnimann
Roland
• 14 years Trivadis
• Oracle HA, migration
• DevOps with Ansible
• PostgreSQL
• Data platforms
rstirnimann_ch
Agenda
• Warm-Up - Some Differences to Oracle…
• PostgreSQL versus EDB Postgres
• Project Experiences
• Oracle to PostgreSQL
• Oracle to EDB PostgreSQL Advanced Server
• Conclusion
Warm-Up – Some Differences
to Oracle…
• Oracle enforces constraints per statement, PostgreSQL per row
• Set constraint to DEFERRABLE in PostgreSQL for the same behavior
• Possible error: cannot use a deferrable unique constraint for referenced table
• Referenced columns by a foreign key must be a non-deferrable unique or primary key
INSERT INTO demo VALUES (1),(2);
UPDATE demo SET n=n+1;
ERROR: duplicate key value violates unique constraint "demo_pk"
DETAIL: Key (n)=(2) already exists.
CONSTRAINT behavior (demo)
Hint: INSERT of two rows at the same time does not work in Oracle.
VALUES (1),(2)
Source: Mathias Zarick, Trivadis Vienna
• Different behavior of SELECT INTO
• Oracle: Restrictive – allows only one value
• PostgreSQL: Tolerant – returns the first value of the SELECT
Oracle
CREATE OR REPLACE FUNCTION
get_bal(acc_no IN NUMBER)
RETURN NUMBER
IS
acc_bal NUMBER(11,2);
BEGIN
SELECT balance
INTO acc_bal
FROM accounts
WHERE account_id = acc_no;
RETURN acc_bal;
END;
/
FUNCTION in PL/SQL and PL/pgSQL
(demo)
PostgreSQL
CREATE OR REPLACE FUNCTION
get_bal(acc_no IN INTEGER)
RETURNS INTEGER
AS $$
DECLARE acc_bal INTEGER;
BEGIN
SELECT balance
INTO acc_bal
FROM accounts
WHERE account_id = acc_no;
RETURN acc_bal;
END;
$$ LANGUAGE plpgsql;
Source: Mathias Zarick, Trivadis Vienna
Statement error – ROLLBACK (demo)
• Statement error in PostgreSQL
• Uses by default AUTOCOMMIT
• Rollback to the beginning or to the last save point
• Transactional DDL support rollbacks DDL statements as well (e.g. CREATE TABLE)
• Statement error in Oracle
• Only the failed statement will be discarded
• Transaction is still open
Source: Mathias Zarick, Trivadis Vienna
What is crucial for the Migration?
Test, Test, Test…
PostgreSQL versus EDB
Postgres
EDB Postgres platform
Tools and support for enterprise level usage
Source: https://www.enterprisedb.com/
EDB subscriptions based on number of CPU
Source: https://www.enterprisedb.com/
EDB Postgres Advanced Server – the same
core
• EDB is based on PostgreSQL (binary compatible)
• Additional enterprise features
• Security: Password profiles, EDB*Wrap, etc.
• Performance features: Hints, extended analysis, resource manager, etc.
• Developer: Oracle PL/SQL, hierarchical query, synonyms, Oracle DBMS_* packages, etc.
• Tools: BART, failover manager, PEM, migration toolkit, etc.
• Oracle compatibility for simpler migration
• EDB documentation extends the community documentation by the specific EDB features
• https://www.postgresql.org/docs/11/index.html
• https://www.enterprisedb.com/docs/en/11.0/EPAS_Guide_v11/toc.html
• EDB has several well-known PostgreSQL developers on board
Project Experiences
Project 1
Project 1 - Energy supplier
Estimation for the migration effort to
PostgreSQL/EDB
• Strategy:
• 80% of all databases are in the AWS cloud until 2020
• Move away from commercial RDBMS and no vendor lock-in
• Motivation:
• Hardware renewal for Oracle RAC is not required
• For the time being, the existing hardware is sufficient if some applications are moved to AWS
(PostgreSQL)
• Project goal:
• Analysis tool for a migration feasibility assessment into the AWS cloud for the existing 800
Oracle schemas
• Target-RDBMS is either PostgreSQL (RDS, DBaaS) or EDB Postgres AS (EC2, IaaS)
Project 1 - Requirements
• No direct database access. Collecting and analyzing happens separately
• Step 1: Collect data as CSV
• Step 2: Analyze data and present them as HTML report
• No software installation, only a script deployment is required
• Gathering the required data:
• gather_db_details.sql: Feature usage, Object types and schema details
• gather_db_behavior.sql: Application behavior, e.g. programs, drivers accessing the application
• gather_db_metrics.sql: Metrics about the resource usage (CPU, I/O)
• Oracle RAC awareness
• Important to assign the Oracle instances to the corresponding AWS DB-instance-classes
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
• Execute the collector scripts in Oracle as DBA user
• Option -M is only available since 12.2, otherwise use set colsep in SQL*Plus
• Export the result from SQL Developer into a text file delimited by ;
export NLS_DATE_FORMAT='dd.mm.yyyy hh24:mi:ss'
sqlplus -S -M 'CSV on delimiter ;' system@REPO1
@../sql/gather_db_details.sql >gather_db_details.csv
sqlplus -S -M 'CSV on delimiter ;' system@REPO1 
@../sql/gather_db_behavior.sql >gather_db_behavior.csv
sqlplus -S -M 'CSV on delimiter ;' system@REPO1 
@../sql/gather_db_metrics.sql >gather_db_metrics.csv
Project 1 - Collect information as CSV
• CSV files are used as input for the report creation
perl -I ../lib mactl.pl 
--input-files "REPO1;../csv/gather_db_details.csv" 
--behavior-input-files "REPO1;../csv/gather_db_behavior.csv" 
--metric-input-files "REPO1;../csv/gather_db_metrics.csv" 
--output-directory ../html --schemas-only
Project 1 - Analyze the collected data
Project 1 - Report demo
Project 1 - Next steps
• Identify easily portable applications and migrate to PostgreSQL or EDB Postgres AS
• After first experience try the harder ones
• Migration tools for schema or database
• PostgreSQL: ora2pg http://ora2pg.darold.net
• EDB Postgres AS: Migration Toolkit
https://www.enterprisedb.com/products/edb-postgres-platform/edb-migration-tool-kit
• Get some Oracle compatibility in PostgreSQL with orafce tool
https://github.com/orafce/orafce
• EDB Postgres AS has comprehensive Oracle compatibility out-of-the-box
Project Experiences
Project 2
Project 2 - Aviation
Migration to EDB Postgres Advanced Server
• Strategy:
• Consolidation of vendors
• Analyzing cost saving potentials
• Motivation:
• Reducing maintenance and support costs
• Complete renewal of an application (Oracle Forms)
• Project goal:
• Find out the feasibility of replacing Oracle with EDB Postgres Advanced Server
• Knowledge about the migration scenarios and tools
• Know the required structural changes in the code
Project 2 - Requirements
• Perform a two-piece proof-of-concept
• EDB: Database migration assessment (DMA) and online EDB Postgres migration portal
• Trivadis: Practical migration part
• Timely limited EDB Postgres Advanced Server license
• Doing based on a complex and critical Oracle database
• Customer provided a server with OS (Centos 7)
• EDB Postgres Advanced Server 11
• Access to the Oracle database via SQLNet
Project 2 - EDB database migration
assessment
• Input was based on a structure export of the source database (export script from EDB)
• PDF report from EDB Professional Services
• It looks worse than it really is as we will see later during the practical part!
Project 2 - DMA classification
• Classification of objects like procedures, functions, tables, indizes, etc.
• The status Invalid occurs often because of dependencies to objects in other schemas
• Incompatible means not impossible
• Requires some additional effort in the code
• Examples: Index organized table must be replaced or some reserved words must be enclosed
by quotes
Project 2 - EDB Postgres migration portal
(1)
• Upload of the structure export incl. analysis (https://www.enterprisedb.com/edb-postgres-
migration-portal)
Project 2 - EDB Postgres migration portal
(2)
• EDB offers many ready-to-use solutions in Postgres for most of the known incompatibilites
• EDB MTK is a CLI tool
• Documentation: https://www.enterprisedb.com/docs/en/52.0/MTK_Guide_v52.0/toc.html
• Installation via EDB YUM repository (yum install edb-migrationtoolkit)
• Configuration file contains connection details to Postgres and Oracle
vi /usr/edb/migrationtoolkit/etc/toolkit.properties
SRC_DB_URL=jdbc:oracle:thin:@192.168.38.186:1521:DB01
SRC_DB_USER=system
SRC_DB_PASSWORD=pw
TARGET_DB_URL=jdbc:edb://localhost:5444/edb
TARGET_DB_USER=enterprisedb
TARGET_DB_PASSWORD=pw
/usr/edb/migrationtoolkit/bin/runMTK.sh –help
Project 2 - EDB migration toolkit (1)
Project 2 - EDB migration toolkit (2)
• Online or offline migration
• Online exports from Oracle and imports directly to EDB Postgres
• Offline (-offlineMigration) exports into SQL files for manual import
• Only structure and/or data
• -schemaOnly export/import only the sturcture (DDL)
• -dataOnly export/import only the data
• Without explicit parameter definition it copies structure and data
• Different options for importing of different objects types:
-allTables, -allSequences, -skipFKConst, etc.
• Oracle specific options: -allProfiles, -allDBLinks, -allSynonyms, etc.
• Further migration options, e.g. to change data types during the migration
• Modify/correct DDL scripts within the export directory ~/mig
• Create Postgres database user, schema and tablespace
• Load the structure
• Offline structure export from Oracle (select any dictionary privilege)
runMTK.sh -offlineMigration ~/mig -schemaOnly -logDir ~/mig/logs 
-sourcedbtype oracle -targetSchema schema1 schema1
create user admin password 'xxx';
create database mydb with owner admin;
c mydb enterprisedb
create user schema1 with login identified by pw;
create tablespace ts_schema1 owner schema1 location '/opt/tbs/schema1';
edb-psql -f mtk_schema1_ddl.sql -o mtk_schema1_ddl.log mydb schema1
Project 2 - MTK approach
• Many initial errors because of dependencies
• Included further schemas
• Created a database link to another database (Instant Client required)
c mydb schema1
CREATE DATABASE LINK oradb.world CONNECT TO user1 IDENTIFIED BY 'pw'
USING '//192.168.40.223:1521/ORADB’;
select count(*) from table1@oradb.world;
Project 2 - Findings (1)
• Import order is key, order of schemas and DDL scripts
• Permissions (GRANT) are required between schemas as well
grant select on all tables in schema schema1 to schema2,schema3,schema4;
• ROWID functionality in EDB Postgres activated
Parameter default_with_rowids=on in $PGDATA/postgresql.conf
• Several syntax fixes required where the EDB parser is somehow more restrictive than Oracle
• Few keywords as column names had to be enclosed in quotation marks
• BLOB data type changed for one table to BYTEA
• Granted access on SYS package UTL_FILE and a directory object created
• search_path extended in DDL files with “public” for the visibility of public synonyms
• Tablespace names defined in DDL files to create the objects correctly
SET search_path=schema1,public;
SET default_tablespace = ts_schema1;
Project 2 - Findings (2)
Project 2 - Recommendations
• Having the right persons at the table (DBA and developer)!
• Work in parallel on application and database related issues
• Agile, interactive approaching - migrate, verify, correct, rollback and the same again
• Do not try to fix all potential problems at the first run
• Start with the structure because loading is fast but the potential for issues is higher
• Use offline migration to modify scripts before importing them
• Data migration should be well thought out due to the long run time
• Identify large objects and migrate them separately without MTK (delta-migration)
• Basically we expect less issues during data migration
• BUT: The run time can be bad especially with the standard JDBC copy (downtime)
• Search for alternatives like database link (parallelism)
Project 2 - Next steps
• Complete the structure migration including all dependencies
• Feasibility of the data migration
• Accepted downtime defines the maximum of run time for the go-live
• Based on that the migration concept has to be created (database link, etc.)
• Test very well the connectivity of interfaces to Postgres (drivers)
• Create a Postgres operation concept
• The 15 days for porting the structure alone is not enough!
Conclusion
Conclusion
• Many things are technically possible with corresponding effort
• EDB Postgres simplifies the migration of Oracle features heavily (PL/SQL)
• Which path does the further development of ported applications follow, Oracle or Postgres?
• Postgres as alternative RDMBS in the company is a wise decision
• EDB offers support for community PostgreSQL as well
• Oracle compatibility is less important for new project without an Oracle history
• Knowledge level about PostgreSQL varies heavily in companies (training)
TechEvent 2019: Oracle to PostgreSQL - a Travel Guide from Practice; Roland Stirnimann - Trivadis

Weitere ähnliche Inhalte

Was ist angesagt?

Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and dockerBob Ward
 
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...Leighton Nelson
 
Oracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsOracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsMaria Colgan
 
UKOUG TechFest PDB Isolation and Security
UKOUG TechFest PDB Isolation and SecurityUKOUG TechFest PDB Isolation and Security
UKOUG TechFest PDB Isolation and SecurityStefan Oehrli
 
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQLEin Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQLEDB
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackBobby Curtis
 
Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Bobby Curtis
 
OEM12c, DB12c and You! - RMOUG TD2014 Edition
OEM12c, DB12c and You! - RMOUG TD2014 EditionOEM12c, DB12c and You! - RMOUG TD2014 Edition
OEM12c, DB12c and You! - RMOUG TD2014 EditionBobby Curtis
 
Oracle to Postgres Schema Migration Hustle
Oracle to Postgres Schema Migration HustleOracle to Postgres Schema Migration Hustle
Oracle to Postgres Schema Migration HustleEDB
 
JSON and the Oracle Database
JSON and the Oracle DatabaseJSON and the Oracle Database
JSON and the Oracle DatabaseMaria Colgan
 
Sql server 2016 it just runs faster sql bits 2017 edition
Sql server 2016 it just runs faster   sql bits 2017 editionSql server 2016 it just runs faster   sql bits 2017 edition
Sql server 2016 it just runs faster sql bits 2017 editionBob Ward
 
IOUG Data Integration SIG w/ Oracle GoldenGate Solutions and Configuration
IOUG Data Integration SIG w/ Oracle GoldenGate Solutions and ConfigurationIOUG Data Integration SIG w/ Oracle GoldenGate Solutions and Configuration
IOUG Data Integration SIG w/ Oracle GoldenGate Solutions and ConfigurationBobby Curtis
 
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...EDB
 
Spotlight private dns-oraclecloudservices
Spotlight private dns-oraclecloudservicesSpotlight private dns-oraclecloudservices
Spotlight private dns-oraclecloudservicesTammy Bednar
 
Oracle GoldenGate and Baseball - 5 Keys for Moving to the Cloud
Oracle GoldenGate and Baseball - 5 Keys for Moving to the CloudOracle GoldenGate and Baseball - 5 Keys for Moving to the Cloud
Oracle GoldenGate and Baseball - 5 Keys for Moving to the CloudBobby Curtis
 
Improve PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGateImprove PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGateBobby Curtis
 
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UIDatabase@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UITammy Bednar
 
Deep Dive into Automating Oracle GoldenGate Using the New Microservices
Deep Dive into Automating Oracle GoldenGate Using the New MicroservicesDeep Dive into Automating Oracle GoldenGate Using the New Microservices
Deep Dive into Automating Oracle GoldenGate Using the New MicroservicesKal BO
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresEDB
 
Understanding Oracle GoldenGate 12c
Understanding Oracle GoldenGate 12cUnderstanding Oracle GoldenGate 12c
Understanding Oracle GoldenGate 12cIT Help Desk Inc
 

Was ist angesagt? (20)

Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
 
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
 
Oracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsOracle database 12c_and_DevOps
Oracle database 12c_and_DevOps
 
UKOUG TechFest PDB Isolation and Security
UKOUG TechFest PDB Isolation and SecurityUKOUG TechFest PDB Isolation and Security
UKOUG TechFest PDB Isolation and Security
 
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQLEin Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attack
 
Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)
 
OEM12c, DB12c and You! - RMOUG TD2014 Edition
OEM12c, DB12c and You! - RMOUG TD2014 EditionOEM12c, DB12c and You! - RMOUG TD2014 Edition
OEM12c, DB12c and You! - RMOUG TD2014 Edition
 
Oracle to Postgres Schema Migration Hustle
Oracle to Postgres Schema Migration HustleOracle to Postgres Schema Migration Hustle
Oracle to Postgres Schema Migration Hustle
 
JSON and the Oracle Database
JSON and the Oracle DatabaseJSON and the Oracle Database
JSON and the Oracle Database
 
Sql server 2016 it just runs faster sql bits 2017 edition
Sql server 2016 it just runs faster   sql bits 2017 editionSql server 2016 it just runs faster   sql bits 2017 edition
Sql server 2016 it just runs faster sql bits 2017 edition
 
IOUG Data Integration SIG w/ Oracle GoldenGate Solutions and Configuration
IOUG Data Integration SIG w/ Oracle GoldenGate Solutions and ConfigurationIOUG Data Integration SIG w/ Oracle GoldenGate Solutions and Configuration
IOUG Data Integration SIG w/ Oracle GoldenGate Solutions and Configuration
 
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...
 
Spotlight private dns-oraclecloudservices
Spotlight private dns-oraclecloudservicesSpotlight private dns-oraclecloudservices
Spotlight private dns-oraclecloudservices
 
Oracle GoldenGate and Baseball - 5 Keys for Moving to the Cloud
Oracle GoldenGate and Baseball - 5 Keys for Moving to the CloudOracle GoldenGate and Baseball - 5 Keys for Moving to the Cloud
Oracle GoldenGate and Baseball - 5 Keys for Moving to the Cloud
 
Improve PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGateImprove PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGate
 
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UIDatabase@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UI
 
Deep Dive into Automating Oracle GoldenGate Using the New Microservices
Deep Dive into Automating Oracle GoldenGate Using the New MicroservicesDeep Dive into Automating Oracle GoldenGate Using the New Microservices
Deep Dive into Automating Oracle GoldenGate Using the New Microservices
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to Postgres
 
Understanding Oracle GoldenGate 12c
Understanding Oracle GoldenGate 12cUnderstanding Oracle GoldenGate 12c
Understanding Oracle GoldenGate 12c
 

Ähnlich wie TechEvent 2019: Oracle to PostgreSQL - a Travel Guide from Practice; Roland Stirnimann - Trivadis

COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesAlfredo Abate
 
Evolutionary database design
Evolutionary database designEvolutionary database design
Evolutionary database designSalehein Syed
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsTeamstudio
 
APEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdfAPEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdfRichard Martens
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13EDB
 
The Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesThe Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesEDB
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresqlbotsplash.com
 
Running Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on HadoopRunning Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on Hadoopclairvoyantllc
 
pandas.(to/from)_sql is simple but not fast
pandas.(to/from)_sql is simple but not fastpandas.(to/from)_sql is simple but not fast
pandas.(to/from)_sql is simple but not fastUwe Korn
 
From ddd to DDD : My journey from data-driven development to Domain-Driven De...
From ddd to DDD : My journey from data-driven development to Domain-Driven De...From ddd to DDD : My journey from data-driven development to Domain-Driven De...
From ddd to DDD : My journey from data-driven development to Domain-Driven De...Thibaud Desodt
 
DMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDavid Mann
 
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Gabriele Bartolini
 
Massively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard wayMassively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard wayJ On The Beach
 
Frame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine LearningFrame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine LearningDavid Stein
 
Azure - Data Platform
Azure - Data PlatformAzure - Data Platform
Azure - Data Platformgiventocode
 
Evolutionary Database Design
Evolutionary Database DesignEvolutionary Database Design
Evolutionary Database DesignAndrei Solntsev
 
Adding Support for Networking and Web Technologies to an Embedded System
Adding Support for Networking and Web Technologies to an Embedded SystemAdding Support for Networking and Web Technologies to an Embedded System
Adding Support for Networking and Web Technologies to an Embedded SystemJohn Efstathiades
 

Ähnlich wie TechEvent 2019: Oracle to PostgreSQL - a Travel Guide from Practice; Roland Stirnimann - Trivadis (20)

COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
 
Evolutionary database design
Evolutionary database designEvolutionary database design
Evolutionary database design
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational Controls
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
Ow
OwOw
Ow
 
APEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdfAPEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdf
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
The Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesThe Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle Databases
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresql
 
Running Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on HadoopRunning Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on Hadoop
 
pandas.(to/from)_sql is simple but not fast
pandas.(to/from)_sql is simple but not fastpandas.(to/from)_sql is simple but not fast
pandas.(to/from)_sql is simple but not fast
 
From ddd to DDD : My journey from data-driven development to Domain-Driven De...
From ddd to DDD : My journey from data-driven development to Domain-Driven De...From ddd to DDD : My journey from data-driven development to Domain-Driven De...
From ddd to DDD : My journey from data-driven development to Domain-Driven De...
 
DMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4Reporting
 
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
 
Massively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard wayMassively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard way
 
Frame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine LearningFrame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine Learning
 
Azure - Data Platform
Azure - Data PlatformAzure - Data Platform
Azure - Data Platform
 
Evolutionary Database Design
Evolutionary Database DesignEvolutionary Database Design
Evolutionary Database Design
 
Adding Support for Networking and Web Technologies to an Embedded System
Adding Support for Networking and Web Technologies to an Embedded SystemAdding Support for Networking and Web Technologies to an Embedded System
Adding Support for Networking and Web Technologies to an Embedded System
 

Mehr von Trivadis

Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...
Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...
Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...Trivadis
 
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...Trivadis
 
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)Trivadis
 
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)Trivadis
 
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...Trivadis
 
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)Trivadis
 
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...Trivadis
 
Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...
Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...
Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...Trivadis
 
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...Trivadis
 
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...Trivadis
 
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...Trivadis
 
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...Trivadis
 
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - TrivadisTechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - TrivadisTrivadis
 
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...Trivadis
 
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...Trivadis
 
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...Trivadis
 
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...Trivadis
 
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...Trivadis
 
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - Trivadis
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - TrivadisTechEvent 2019: The sleeping Power of Data; Eberhard Lösch - Trivadis
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - TrivadisTrivadis
 
TechEvent 2019: Tales from a Scrum Master; Ernst Jakob - Trivadis
TechEvent 2019: Tales from a Scrum Master; Ernst Jakob - TrivadisTechEvent 2019: Tales from a Scrum Master; Ernst Jakob - Trivadis
TechEvent 2019: Tales from a Scrum Master; Ernst Jakob - TrivadisTrivadis
 

Mehr von Trivadis (20)

Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...
Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...
Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...
 
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
 
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)
 
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
 
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...
 
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)
 
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...
 
Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...
Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...
Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...
 
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...
 
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...
 
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...
 
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...
 
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - TrivadisTechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
 
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
 
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
 
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...
 
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...
 
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
 
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - Trivadis
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - TrivadisTechEvent 2019: The sleeping Power of Data; Eberhard Lösch - Trivadis
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - Trivadis
 
TechEvent 2019: Tales from a Scrum Master; Ernst Jakob - Trivadis
TechEvent 2019: Tales from a Scrum Master; Ernst Jakob - TrivadisTechEvent 2019: Tales from a Scrum Master; Ernst Jakob - Trivadis
TechEvent 2019: Tales from a Scrum Master; Ernst Jakob - Trivadis
 

Kürzlich hochgeladen

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Kürzlich hochgeladen (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

TechEvent 2019: Oracle to PostgreSQL - a Travel Guide from Practice; Roland Stirnimann - Trivadis

  • 1. Trivadis Blog@rstirnimann_ch Oracle to PostgreSQL A Travel Guide from Practice Roland Stirnimann
  • 2. Roland • 14 years Trivadis • Oracle HA, migration • DevOps with Ansible • PostgreSQL • Data platforms rstirnimann_ch
  • 3. Agenda • Warm-Up - Some Differences to Oracle… • PostgreSQL versus EDB Postgres • Project Experiences • Oracle to PostgreSQL • Oracle to EDB PostgreSQL Advanced Server • Conclusion
  • 4. Warm-Up – Some Differences to Oracle…
  • 5. • Oracle enforces constraints per statement, PostgreSQL per row • Set constraint to DEFERRABLE in PostgreSQL for the same behavior • Possible error: cannot use a deferrable unique constraint for referenced table • Referenced columns by a foreign key must be a non-deferrable unique or primary key INSERT INTO demo VALUES (1),(2); UPDATE demo SET n=n+1; ERROR: duplicate key value violates unique constraint "demo_pk" DETAIL: Key (n)=(2) already exists. CONSTRAINT behavior (demo) Hint: INSERT of two rows at the same time does not work in Oracle. VALUES (1),(2) Source: Mathias Zarick, Trivadis Vienna
  • 6. • Different behavior of SELECT INTO • Oracle: Restrictive – allows only one value • PostgreSQL: Tolerant – returns the first value of the SELECT Oracle CREATE OR REPLACE FUNCTION get_bal(acc_no IN NUMBER) RETURN NUMBER IS acc_bal NUMBER(11,2); BEGIN SELECT balance INTO acc_bal FROM accounts WHERE account_id = acc_no; RETURN acc_bal; END; / FUNCTION in PL/SQL and PL/pgSQL (demo) PostgreSQL CREATE OR REPLACE FUNCTION get_bal(acc_no IN INTEGER) RETURNS INTEGER AS $$ DECLARE acc_bal INTEGER; BEGIN SELECT balance INTO acc_bal FROM accounts WHERE account_id = acc_no; RETURN acc_bal; END; $$ LANGUAGE plpgsql; Source: Mathias Zarick, Trivadis Vienna
  • 7. Statement error – ROLLBACK (demo) • Statement error in PostgreSQL • Uses by default AUTOCOMMIT • Rollback to the beginning or to the last save point • Transactional DDL support rollbacks DDL statements as well (e.g. CREATE TABLE) • Statement error in Oracle • Only the failed statement will be discarded • Transaction is still open Source: Mathias Zarick, Trivadis Vienna
  • 8. What is crucial for the Migration? Test, Test, Test…
  • 10. EDB Postgres platform Tools and support for enterprise level usage Source: https://www.enterprisedb.com/
  • 11. EDB subscriptions based on number of CPU Source: https://www.enterprisedb.com/
  • 12. EDB Postgres Advanced Server – the same core • EDB is based on PostgreSQL (binary compatible) • Additional enterprise features • Security: Password profiles, EDB*Wrap, etc. • Performance features: Hints, extended analysis, resource manager, etc. • Developer: Oracle PL/SQL, hierarchical query, synonyms, Oracle DBMS_* packages, etc. • Tools: BART, failover manager, PEM, migration toolkit, etc. • Oracle compatibility for simpler migration • EDB documentation extends the community documentation by the specific EDB features • https://www.postgresql.org/docs/11/index.html • https://www.enterprisedb.com/docs/en/11.0/EPAS_Guide_v11/toc.html • EDB has several well-known PostgreSQL developers on board
  • 14. Project 1 - Energy supplier Estimation for the migration effort to PostgreSQL/EDB • Strategy: • 80% of all databases are in the AWS cloud until 2020 • Move away from commercial RDBMS and no vendor lock-in • Motivation: • Hardware renewal for Oracle RAC is not required • For the time being, the existing hardware is sufficient if some applications are moved to AWS (PostgreSQL) • Project goal: • Analysis tool for a migration feasibility assessment into the AWS cloud for the existing 800 Oracle schemas • Target-RDBMS is either PostgreSQL (RDS, DBaaS) or EDB Postgres AS (EC2, IaaS)
  • 15. Project 1 - Requirements • No direct database access. Collecting and analyzing happens separately • Step 1: Collect data as CSV • Step 2: Analyze data and present them as HTML report • No software installation, only a script deployment is required • Gathering the required data: • gather_db_details.sql: Feature usage, Object types and schema details • gather_db_behavior.sql: Application behavior, e.g. programs, drivers accessing the application • gather_db_metrics.sql: Metrics about the resource usage (CPU, I/O) • Oracle RAC awareness • Important to assign the Oracle instances to the corresponding AWS DB-instance-classes https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
  • 16. • Execute the collector scripts in Oracle as DBA user • Option -M is only available since 12.2, otherwise use set colsep in SQL*Plus • Export the result from SQL Developer into a text file delimited by ; export NLS_DATE_FORMAT='dd.mm.yyyy hh24:mi:ss' sqlplus -S -M 'CSV on delimiter ;' system@REPO1 @../sql/gather_db_details.sql >gather_db_details.csv sqlplus -S -M 'CSV on delimiter ;' system@REPO1 @../sql/gather_db_behavior.sql >gather_db_behavior.csv sqlplus -S -M 'CSV on delimiter ;' system@REPO1 @../sql/gather_db_metrics.sql >gather_db_metrics.csv Project 1 - Collect information as CSV
  • 17. • CSV files are used as input for the report creation perl -I ../lib mactl.pl --input-files "REPO1;../csv/gather_db_details.csv" --behavior-input-files "REPO1;../csv/gather_db_behavior.csv" --metric-input-files "REPO1;../csv/gather_db_metrics.csv" --output-directory ../html --schemas-only Project 1 - Analyze the collected data
  • 18. Project 1 - Report demo
  • 19. Project 1 - Next steps • Identify easily portable applications and migrate to PostgreSQL or EDB Postgres AS • After first experience try the harder ones • Migration tools for schema or database • PostgreSQL: ora2pg http://ora2pg.darold.net • EDB Postgres AS: Migration Toolkit https://www.enterprisedb.com/products/edb-postgres-platform/edb-migration-tool-kit • Get some Oracle compatibility in PostgreSQL with orafce tool https://github.com/orafce/orafce • EDB Postgres AS has comprehensive Oracle compatibility out-of-the-box
  • 21. Project 2 - Aviation Migration to EDB Postgres Advanced Server • Strategy: • Consolidation of vendors • Analyzing cost saving potentials • Motivation: • Reducing maintenance and support costs • Complete renewal of an application (Oracle Forms) • Project goal: • Find out the feasibility of replacing Oracle with EDB Postgres Advanced Server • Knowledge about the migration scenarios and tools • Know the required structural changes in the code
  • 22. Project 2 - Requirements • Perform a two-piece proof-of-concept • EDB: Database migration assessment (DMA) and online EDB Postgres migration portal • Trivadis: Practical migration part • Timely limited EDB Postgres Advanced Server license • Doing based on a complex and critical Oracle database • Customer provided a server with OS (Centos 7) • EDB Postgres Advanced Server 11 • Access to the Oracle database via SQLNet
  • 23. Project 2 - EDB database migration assessment • Input was based on a structure export of the source database (export script from EDB) • PDF report from EDB Professional Services • It looks worse than it really is as we will see later during the practical part!
  • 24. Project 2 - DMA classification • Classification of objects like procedures, functions, tables, indizes, etc. • The status Invalid occurs often because of dependencies to objects in other schemas • Incompatible means not impossible • Requires some additional effort in the code • Examples: Index organized table must be replaced or some reserved words must be enclosed by quotes
  • 25. Project 2 - EDB Postgres migration portal (1) • Upload of the structure export incl. analysis (https://www.enterprisedb.com/edb-postgres- migration-portal)
  • 26. Project 2 - EDB Postgres migration portal (2) • EDB offers many ready-to-use solutions in Postgres for most of the known incompatibilites
  • 27. • EDB MTK is a CLI tool • Documentation: https://www.enterprisedb.com/docs/en/52.0/MTK_Guide_v52.0/toc.html • Installation via EDB YUM repository (yum install edb-migrationtoolkit) • Configuration file contains connection details to Postgres and Oracle vi /usr/edb/migrationtoolkit/etc/toolkit.properties SRC_DB_URL=jdbc:oracle:thin:@192.168.38.186:1521:DB01 SRC_DB_USER=system SRC_DB_PASSWORD=pw TARGET_DB_URL=jdbc:edb://localhost:5444/edb TARGET_DB_USER=enterprisedb TARGET_DB_PASSWORD=pw /usr/edb/migrationtoolkit/bin/runMTK.sh –help Project 2 - EDB migration toolkit (1)
  • 28. Project 2 - EDB migration toolkit (2) • Online or offline migration • Online exports from Oracle and imports directly to EDB Postgres • Offline (-offlineMigration) exports into SQL files for manual import • Only structure and/or data • -schemaOnly export/import only the sturcture (DDL) • -dataOnly export/import only the data • Without explicit parameter definition it copies structure and data • Different options for importing of different objects types: -allTables, -allSequences, -skipFKConst, etc. • Oracle specific options: -allProfiles, -allDBLinks, -allSynonyms, etc. • Further migration options, e.g. to change data types during the migration
  • 29. • Modify/correct DDL scripts within the export directory ~/mig • Create Postgres database user, schema and tablespace • Load the structure • Offline structure export from Oracle (select any dictionary privilege) runMTK.sh -offlineMigration ~/mig -schemaOnly -logDir ~/mig/logs -sourcedbtype oracle -targetSchema schema1 schema1 create user admin password 'xxx'; create database mydb with owner admin; c mydb enterprisedb create user schema1 with login identified by pw; create tablespace ts_schema1 owner schema1 location '/opt/tbs/schema1'; edb-psql -f mtk_schema1_ddl.sql -o mtk_schema1_ddl.log mydb schema1 Project 2 - MTK approach
  • 30. • Many initial errors because of dependencies • Included further schemas • Created a database link to another database (Instant Client required) c mydb schema1 CREATE DATABASE LINK oradb.world CONNECT TO user1 IDENTIFIED BY 'pw' USING '//192.168.40.223:1521/ORADB’; select count(*) from table1@oradb.world; Project 2 - Findings (1) • Import order is key, order of schemas and DDL scripts • Permissions (GRANT) are required between schemas as well grant select on all tables in schema schema1 to schema2,schema3,schema4;
  • 31. • ROWID functionality in EDB Postgres activated Parameter default_with_rowids=on in $PGDATA/postgresql.conf • Several syntax fixes required where the EDB parser is somehow more restrictive than Oracle • Few keywords as column names had to be enclosed in quotation marks • BLOB data type changed for one table to BYTEA • Granted access on SYS package UTL_FILE and a directory object created • search_path extended in DDL files with “public” for the visibility of public synonyms • Tablespace names defined in DDL files to create the objects correctly SET search_path=schema1,public; SET default_tablespace = ts_schema1; Project 2 - Findings (2)
  • 32. Project 2 - Recommendations • Having the right persons at the table (DBA and developer)! • Work in parallel on application and database related issues • Agile, interactive approaching - migrate, verify, correct, rollback and the same again • Do not try to fix all potential problems at the first run • Start with the structure because loading is fast but the potential for issues is higher • Use offline migration to modify scripts before importing them • Data migration should be well thought out due to the long run time • Identify large objects and migrate them separately without MTK (delta-migration) • Basically we expect less issues during data migration • BUT: The run time can be bad especially with the standard JDBC copy (downtime) • Search for alternatives like database link (parallelism)
  • 33. Project 2 - Next steps • Complete the structure migration including all dependencies • Feasibility of the data migration • Accepted downtime defines the maximum of run time for the go-live • Based on that the migration concept has to be created (database link, etc.) • Test very well the connectivity of interfaces to Postgres (drivers) • Create a Postgres operation concept • The 15 days for porting the structure alone is not enough!
  • 35. Conclusion • Many things are technically possible with corresponding effort • EDB Postgres simplifies the migration of Oracle features heavily (PL/SQL) • Which path does the further development of ported applications follow, Oracle or Postgres? • Postgres as alternative RDMBS in the company is a wise decision • EDB offers support for community PostgreSQL as well • Oracle compatibility is less important for new project without an Oracle history • Knowledge level about PostgreSQL varies heavily in companies (training)