Introduction et rappels
- Rappels sur l'architecture et l'administration d'une base de données Oracle.
- Rappels sur l'architecture d'une base de données PostgreSQL.
- Rappels des langages SQL et PL/SQL.
- Comparatif des architecture Oracle et PostgreSQL.
- Les bases et les schémas.
- Le stockage et les tablespaces.
- Les sauvegardes et les restaurations.
Travaux pratiques
Création d'une base de données PostgreSQL. Création d'un rôle avec un schéma associé.
Préparation de la migration
- Migrer vers PostgreSQL ? Les bonnes questions à se poser. Check-list des points importants de la migration.
- Etude des applications et compatibilité avec PostgreSQL.
- Procédures de test de la migration.
- Procédure de test de l'environnement migré.
Travaux pratiques
Création d'une check-list des points importants à prendre en compte lors d'une migration.
Migration des différents types et objets
- Les types d'un BDD Oracle vs les types d'un BDD PostgreSQL.
- Les tables et les tableaux.
- L'utilisation des séquences et des vues.
- Le partitionnement des tables.
- Les vues matérialisées.
Travaux pratiques
Les types. Les tableaux. Mise à jour des vues.
Migration de SQL
- Les instructions de mise à jour.
- Les fonctions SQL.
- Les pseudo colonnes.
- Les spécificités syntaxiques (opérateurs, conversion explicite...).
- Les requêtes hiérarchiques et l'utilisation de la clause WITH récursive.
- L'utilisation des fonctions analytiques.
Travaux pratiques
Fonctions SQL. Pseudo colonnes. Utilisation de la récursivité avec WITH. Fonctions analytiques
Migration PL/SQL vers PL/pgSQL
- Les branchements et les boucles.
- Les curseurs et les variables curseurs.
- Les procédures et les fonctions stockées.
- Le traitement des erreurs.
- Les triggers.
Travaux pratiques
Boucles FOR. "Procédures" stockées dans PostgreSQL. Traitement d'erreur. Triggers.
Tâches de post-migration
- Adaptation des scripts.
- Gestion des statistiques et des sauvegardes.
- Analyse des applications après migration.
- Tâches facultatives.