17
28/04/2016 POC PostgreSQL 1 Proof of Concept : d’Oracle à PostgreSQL

Transition d'Oracle à PostgreSQL

Embed Size (px)

Citation preview

Page 1: Transition d'Oracle à PostgreSQL

POC PostgreSQL 128/04/2016

Proof of Concept : d’Oracle à PostgreSQL

Page 2: Transition d'Oracle à PostgreSQL

POC PostgreSQL 2

SommaireSocleInstallationConfigurationUtilisationSauvegarde / RestaurationBarmanOracle vs PostgreSQLOra2pgMonitoring

28/04/2016

Page 3: Transition d'Oracle à PostgreSQL

POC PostgreSQL 3

SocleCentOS Linux release 7.2.1511 (Core)Kernel 3.10.0-327.10.1.el7.x86_644 core8 Go de RAM20 Go d’espace disque

VG dataVG adminVG backupVG archives

28/04/2016

Page 4: Transition d'Oracle à PostgreSQL

POC PostgreSQL 4

InstallationDépôt PostgreSQL officielPostgreSQL 9.4.7 64-bitCompilé avec gcc (GCC) 4.8.5 20150623

Dernière version stable 9.5.2

28/04/2016

Page 5: Transition d'Oracle à PostgreSQL

POC PostgreSQL 5

ConfigurationUn utilisateur système par base Structure choisie similaire à Oracle

/postgre/u0/postgre/admin/postgre/backup/postgre/archives

Variable d’environnement PGDATA

28/04/2016

Page 6: Transition d'Oracle à PostgreSQL

POC PostgreSQL 6

ConfigurationFichier de configuration

$PGDATA/postgresql.conf

Fichier de gestion de l’authentification

$PGDATA/pg_hba.conf

28/04/2016

Page 7: Transition d'Oracle à PostgreSQL

POC PostgreSQL 7

UtilisationCréation de la base

initdb --pgdata=/postgre/u0/pg_test--xlogdir=/postgre/admin/pg_test --encoding=UTF8 --locale=fr_FR.UTF8

28/04/2016

Page 8: Transition d'Oracle à PostgreSQL

POC PostgreSQL 8

UtilisationArrêt / Relance

pg_ctl stoppg_ctl start

Connection

psql

28/04/2016

Page 9: Transition d'Oracle à PostgreSQL

POC PostgreSQL 9

Sauvegarde /RestaurationSauvegarde (à chaud)

Définition dans postgresql.conf pg_basebackup --xlog --format=t -D /postgre/backup/$PG_INSTANCE_date

Restauration (à froid)Définition dans recovery.conf tar -xf

/postgre/backup/$PG_INSTANCE_date.tar -C $PGDATA

28/04/2016

Page 10: Transition d'Oracle à PostgreSQL

POC PostgreSQL 10

BarmanBAckup and Restore MANager

barman list-server barman backup postgres-t

barman recover --target-time "2016-04-27

13:12:20.017538+02:00" --remote-ssh-command "ssh

postgres@localhost" postgres-t 20160427T131219 /postgre/u0/pg_test

28/04/2016

Page 11: Transition d'Oracle à PostgreSQL

POC PostgreSQL 11

BarmanBAckup and Restore MANager

Outil en python se basant sur SSHGestion de multiples serveurs PostgreSQLHot BackupPoint in Time RecoveryGestion de la rétentionRestauration à froid

28/04/2016

Page 12: Transition d'Oracle à PostgreSQL

POC PostgreSQL 12

Oracle vs PostgreSQLOracle PostgreSQL

OS AIX,Linux LinuxRôles / Logins √ √Tablespaces √ √Datafiles √Schéma √ √ORM √ √Flashback √Point In Time Recovery

√ √

Admin GUI Toad pgAdmin III

28/04/2016

Page 13: Transition d'Oracle à PostgreSQL

POC PostgreSQL 13

Ora2pgSur une machine pivotOracle ClientPerlOra2pgPremière passe : récupération de la

structureDeuxième passe : injection des données

Obligation de respecter les mots clés réservés

28/04/2016

Page 14: Transition d'Oracle à PostgreSQL

POC PostgreSQL 14

Ora2pgSur une machine pivotOracle ClientPerlOra2pgPremière passe : récupération de la

structureDeuxième passe : injection des données

Obligation de respecter les mots clés réservés

28/04/2016

Page 15: Transition d'Oracle à PostgreSQL

POC PostgreSQL 15

Ora2pgConfiguration :ORACLE_DSN

dbi:Oracle:host=server;sid=OracleSid;port=1521

Première passe : TYPE TABLE ora2pg -c ora2pg.conf

Deuxième passe : TYPE INSERTora2pg -c ora2pg.conf

28/04/2016

Page 16: Transition d'Oracle à PostgreSQL

POC PostgreSQL 16

Monitoring

Plugin Icinga disponible pour le monitoring

Sortie possible pour la métrologieInstallation du client postgresql

nécessaire

28/04/2016

Page 17: Transition d'Oracle à PostgreSQL

POC PostgreSQL 17

Fin

Merci

28/04/2016