-
Migrer PostgreSQL vers Oracle Database avec Oracle SQL Developer
-
Migrer manuellement PostgreSQL vers Oracle Database
-
Sauvegarde de la base de données avant la migration des données
-
Conclusion

La principale différence entre PostgreSQL et Oracle réside dans le fait que PostgreSQL est un système de gestion de bases de données objet-relationnel open source et gratuit, tandis qu’Oracle est un système de base de données commercial. Outre cet aspect, d’autres facteurs tels que les performances, l’assistance technique et les exigences métier déterminent le choix entre les deux.
PostgreSQL dispose d’une vaste communauté de développeurs gratuite qui aide à résoudre les problèmes, bien qu’il faille parfois un certain temps. Il offre une excellente évolutivité, notamment grâce au stockage réparti sur plusieurs nœuds, ainsi que des fonctionnalités de sécurité telles que le chiffrement des communications entre serveurs ou les autorisations basées sur les rôles. En outre, il est compatible avec de nombreux systèmes d’exploitation, notamment Linux, Windows, FreeBSD et macOS.
Mais la base de données Oracle surpasse largement PostgreSQL en matière de sécurité avancée, de vitesse de traitement et de supériorité technique, ce qui lui permet de surpasser cette dernière dans les environnements à grande échelle lorsqu’il s’agit de gérer une quantité massive de données.
La base de données offre également une intégration transversale sur Windows, Linux, macOS et d’autres systèmes. Les applications fonctionnant sur plusieurs plateformes peuvent facilement communiquer entre elles grâce à la pile réseau native d’Oracle. En outre, les fonctionnalités avancées d’analyse d’Oracle effectuent rapidement des calculs analytiques sur les données de l’entreprise.
Certains utilisateurs de PostgreSQL cherchent peut-être un moyen de migrer de PostgreSQL vers Oracle. Dans ce billet de blog, vous découvrirez en détail les deux méthodes de migration.
Migrer PostgreSQL vers Oracle Database avec Oracle SQL Developer
Conditions préalables :
Téléchargez la dernière version de SQL Developer depuis le site web d’Oracle.
Téléchargez le pilote JDBC PostgreSQL depuis ici.
Accordez les privilèges requis au compte d’utilisateur Oracle.
1. Lancez Oracle SQL Developer, puis accédez à Outils > Préférences > Pilotes JDBC tiers de Data Modeler.
2. Connectez-vous à la base de données PostgreSQL.
a. Naviguez jusqu’à Connexions > cliquez avec le bouton droit sur le nœud racine > Nouvelle connexion.
b. Cliquez sur l’onglet PostgreSQL et saisissez les informations de connexion, puis cliquez sur Tester. Ensuite, cliquez sur Enregistrer.
3. Connectez-vous à la nouvelle base de données Oracle.
a. Accédez à Connexions > cliquez avec le bouton droit sur le nœud racine > Nouvelle connexion.
b. Cliquez sur l’onglet Oracle, saisissez les informations de connexion, puis cliquez sur Tester. Ensuite, cliquez sur Se connecter.
La connexion apparaît dans la vue arborescente Connexions.
4. Dans Oracle SQL Developer, accédez à Outils > Migration > Migrer.
5. L’Assistant de migration apparaîtra. Dans la page Référentiel, spécifiez la connexion au référentiel de migration, effectuez un test puis cliquez sur Enregistrer > Suivant. Si vous ne possédez pas encore de référentiel de migration, créez-en un et connectez-le à la base de données comme suit.
a. Créez un utilisateur Oracle (rôle RESOURCE) dont les tablespaces par défaut sont USERS et TEMP. Accordez-lui les privilèges suivants : CREATE SESSION, CREATE VIEW et CREATE MATERIALIZED VIEW.
b. Établir une connexion à la base de données avec l’utilisateur de la base de données nommé Migration Repository.
c. Cliquez avec le bouton droit sur la connexion > Référentiel de migration > Associer un référentiel de migration.
6. Dans la page Projet, spécifiez le projet de migration, puis cliquez sur Suivant.
7. Dans la page Base de données source, définissez le Mode sur En ligne, ajoutez (+) la connexion PostgreSQL, puis cliquez sur Suivant.
8. Dans la page Capture, sélectionnez la base de données à migrer, puis cliquez sur Suivant.
9. Dans l’onglet Convertir, examinez et modifiez les règles de conversion des types de données, puis cliquez sur Suivant.
10. Dans l’onglet Traduire, sélectionnez les éléments à traduire dans la section Objets SQL disponibles puis cliquez sur Suivant.
11. Dans l’onglet Base de données cible, sélectionnez la Connexion comme étant En ligne, ajoutez (+) la connexion Oracle et activez l’option Supprimer les objets cibles afin de garantir que les objets de base de données existants dans le schéma cible soient supprimés avant la migration.
12. Dans l’onglet Transférer les données, spécifiez les options de migration des données de table ; sinon, choisissez Hors ligne. Cliquez sur Suivant.
13. Sur la page Résumé, passez en revue tous les paramètres, puis cliquez sur Terminer.
14. Valider les données migrées.
Comparer le nombre de lignes dans la base de données source avec celle d’Oracle ;
Calculer la somme des colonnes numériques de la base de données Oracle et les comparer à celles de la base de données source.
Migrer manuellement PostgreSQL vers Oracle Database
1. Exporter les données de la table PostgreSQL vers un fichier CSV.
COPY table TO 'destination_path.csv' DELIMITER ',' CSV HEADER;
Ou exportez les données des colonnes d’un tableau vers le fichier CSV.
COPIER table(colonne1,colonne2)
VERS 'destination_path.csv' DÉLIMITEUR ',' CSV EN-TÊTE;
Exclure l’en-tête contenant les noms des colonnes du tableau.
COPIER table(colonne)
VERS 'destination_path.csv' DÉLIMITEUR ',' CSV;
Remarque : le fichier CSV doit se trouver sur l’ordinateur du serveur de base de données et permettre à l’utilisateur du serveur PostgreSQL d’y écrire.
2. Migration vers une nouvelle table : Base de données > Importer des données.
Migration sur une table existante : Explorateur de bases de données > clic droit sur la table cible > Importer des données.
3. L’assistant d’importation des données s’ouvrira. Sélectionnez un format d’importation CSV, spécifiez l’emplacement des données Source, puis cliquez sur Suivant.
4. Accédez à Destination > indiquez la connexion à Oracle > sélectionnez la base de données et la table de destination > cliquez sur Suivant.
5. Sur la page Options, configurez les options relatives au fichier. Sélectionnez le numéro de ligne pour l’en-tête du tableau et le nombre de lignes à ignorer, puis spécifiez un délimiteur de colonne ; le résultat s’affichera dans la section Aperçu. Cliquez sur Suivant.
6. Dans l’onglet Formats des données, spécifiez les formats des données source. Cliquez sur Suivant.
7. Dans l’onglet Mappage, associez les colonnes aux colonnes de la table cible, cliquez sur Effacer les associations pour annuler le mappage, et cliquez sur Remplir le mappage pour les restaurer.
Pour importer des données dans une nouvelle table, double-cliquez sur la grille supérieure afin de modifier la colonne cible, cochez ensuite la case Clé pour la colonne contenant une clé primaire, puis cliquez sur Suivant.
8. Dans l’onglet Modes, sélectionnez un mode d’importation puis cliquez sur Suivant.
9. Dans l’onglet Sortie, sélectionnez une option pour gérer le script d’importation, puis cliquez sur Suivant.
Lancez l’éditeur interne et sélectionnez le script d’importation des données.
Le script d’importation des données peut ensuite être enregistré sous forme de fichier.
Enfin, vous pouvez importer directement des données dans la base de données.
10. Dans l’onglet Gestion des erreurs, sélectionnez une stratégie pour traiter les erreurs d’importation et décidez si vous souhaitez ou non obtenir un fichier journal contenant des informations sur la session d’importation.
11. Cliquez sur Importer pour lancer la migration de PostgreSQL vers Oracle, puis sur Terminer pour fermer l’assistant.
Sauvegarde de la base de données avant la migration des données
Il est recommandé de créer une sauvegarde complète de la base de données source avant de commencer la conversion de PostgreSQL vers Oracle afin d’éviter toute perte de données.
Vinchin Backup & Recovery assure une sauvegarde et une récupération efficaces et sans complication des bases de données Oracle Database, MySQL, SQL Server, PostgreSQL, Postgres Pro et MariaDB sur machines physiques et virtuelles.
Il prend en charge plusieurs versions de bases de données PostgreSQL (12, 13, 14) et Oracle (11g, 12c, 18c, 19c, 21c), avec différents types de sauvegarde, notamment les sauvegardes complètes, différentielles, incrémentales et des journaux (selon la base de données).
Vinchin Backup & Recovery propose de nombreuses stratégies simplifiant les opérations de sauvegarde et de restauration, telles que la réduction des données de 50 %, une politique de conservation des données, la suppression des fichiers archivelog, la transmission multithread, et bien plus encore.
La solution empêche également les attaques de rançongiciels grâce à une surveillance en temps réel des entrées-sorties, qui autorise préalablement les visiteurs afin d’empêcher l’accès aux acteurs malveillants.
Vous souhaitez essayer Vinchin Backup & Recovery ? Cliquez sur l’essai gratuit de 60 jours pour la version Entreprise ci-dessous.
Prenons la sauvegarde PostgreSQL comme exemple.
1. Accédez à Sauvegarde de la base de données > Sauvegarde, puis sélectionnez la source de données dans la liste des bases de données sous licence.

2. Sélectionnez le nœud cible et le stockage pour la tâche.

3. Configurer les stratégies de sauvegarde souhaitées.




4. Afficher les paramètres et cliquer sur Envoyer.
Conclusion
La base de données Oracle surpasse PostgreSQL en matière de support facilement accessible, de vitesse de traitement des données et de mécanismes de sécurité dans les entreprises opérant dans de grands environnements. Certains pourraient envisager de migrer de PostgreSQL vers Oracle afin d’améliorer leurs performances.
Ce blog présente deux méthodes pour migrer PostgreSQL vers la base de données Oracle (voir comment migrer Oracle vers PostgreSQL) sans utiliser d’outils de conversion tiers.
Il est important de sauvegarder la base de données source avant la migration et la base de données cible après le processus afin de garantir l’intégrité des données.
Partager sur :