Migrer les fonctions natives d'Oracle vers Postgre à SQL l'aide d'extensions - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migrer les fonctions natives d'Oracle vers Postgre à SQL l'aide d'extensions

Créée par Pinesh Singal () AWS

Environnement : PoC ou pilote

Source : Bases de données : relationnelles

Cible : Amazon RDS Postgrer SQL

Type R : Ré-architecte

Charge de travail : Oracle ; logiciel libre

Technologies : migration ; bases de données

AWSservices : Amazon EC2 ; Amazon RDS

Récapitulatif

Ce modèle de migration fournit des step-by-step conseils pour migrer une instance de base de données Amazon Relational Database Service (RDSAmazon) pour Oracle vers une base de données Amazon for Postgre ou RDS SQL Amazon Aurora SQL Postgre -Compatible Edition en modifiant le code intégré natif de Postgre () orafce et les extensions aws_oracle_ext du code intégré natif de SQL psql Postgre (). Cela permettra de gagner du temps de traitement.

Le modèle décrit une stratégie de migration manuelle hors ligne sans interruption pour une base de données source Oracle de plusieurs téraoctets comportant un grand nombre de transactions.

Le processus de migration utilise AWS Schema Conversion Tool (AWSSCT) avec les orafce extensions aws_oracle_ext and pour convertir un schéma de base de données Amazon RDS for Oracle en un schéma de base de données SQL compatible avec Amazon RDS for Postgre SQL ou Aurora Postgre. Ensuite, le code est modifié manuellement en code psql intégré natif SQL pris en charge par Postgre. Cela est dû au fait que les appels d'extension ont un impact sur le traitement du code sur le serveur SQL de base de données Postgre, et le code d'extension n'est pas entièrement conforme ou compatible avec le code PostgreSQL.

Ce modèle se concentre principalement sur la migration manuelle des SQL codes à l'aide AWS SCT des extensions aws_oracle_ext etorafce. Vous convertissez les extensions déjà utilisées en extensions natives de Postgre SQL (psql). Ensuite, vous supprimez toutes les références aux extensions et vous convertissez les codes en conséquence.

Conditions préalables et limitations

Prérequis

  • Un AWS compte actif 

  • Système d'exploitation (Windows ou Mac) ou EC2 instance Amazon (en cours d'exécution) 

  • Orace

Limites

Toutes les fonctions Oracle utilisant des orafce extensions aws_oracle_ext ou ne peuvent pas être converties en SQL fonctions Postgre natives. Il peut nécessiter une refonte manuelle afin de le compiler avec les bibliothèques PostgreSQL.

L'un des inconvénients de l'utilisation des AWS SCT extensions est leur lenteur lors de l'exécution et de la récupération des résultats. Son coût peut être compris à partir d'un simple SQLEXPLAINplan Postgre (plan d'exécution d'une instruction) relatif à la migration de la SYSDATE fonction Oracle vers la SQL NOW() fonction Postgre entre les trois codes (aws_oracle_ext,orafce, et psql par défaut), comme expliqué dans la section Contrôle de comparaison des performances du document ci-joint.

Versions du produit

  • Source : Amazon RDS pour Oracle database 10.2 et versions ultérieures (pour 10.x), 11g (11.2.0.3.v1 et versions ultérieures) et jusqu'à 12.2, 18c et 19c (et versions ultérieures) pour Enterprise Edition, Standard Edition, Standard Edition 1 et Standard Edition 2

  • Cible : Amazon RDS pour Postgre SQL ou Aurora Postgre SQL -Base de données compatible 9.4 et versions ultérieures (pour 9.x), 10.x, 11.x, 12.x, 13.x et 14.x (et versions ultérieures)

  • AWSSCT: Dernière version (ce modèle a été testé avec 1.0.632)

  • Oracle : dernière version (ce modèle a été testé avec 3.9.0)

Architecture

Pile technologique source

  • Une instance de base de données Amazon RDS pour Oracle avec la version 12.1.0.2.v18

Pile technologique cible

  • Une instance de base de données SQL compatible avec Amazon RDS for Postgre SQL ou Aurora Postgre avec la version 11.5

Architecture de migration de base de données

Le schéma suivant représente l'architecture de migration de base de données entre les SQL bases de données Oracle source et Postgre cible. L'architecture comprend le AWS cloud, un cloud privé virtuel (VPC), des zones de disponibilité, un sous-réseau privé, une base de données Amazon RDS pour Oracle AWSSCT, une base de données SQL compatible avec Amazon RDS pour Postgre ou SQL Aurora Postgre, des extensions pour Oracle (aws_oracle_extetorafce) et des fichiers de langage de requête structuré (). SQL

Le processus est expliqué dans la liste suivante.
  1. Lancez l'instance de base de données Amazon RDS pour Oracle (base de données source).

  2. AWSSCTÀ utiliser avec les packs d'orafceextension aws_oracle_ext et pour convertir le code source d'Oracle en Poster. SQL

  3. La conversion produit des fichiers .sql migrés SQL compatibles avec Postgre.

  4. Convertissez manuellement les codes d'extension Oracle non convertis en codes Postgre SQL (psql).

  5. La conversion manuelle produit des fichiers .sql convertis SQL compatibles avec Postgre.

  6. Exécutez ces fichiers .sql sur votre SQL instance de base de données Amazon RDS pour Postgre (base de données cible).

Outils

Outils

AWSservices

  • AWSSCT- AWS Schema Conversion Tool (AWSSCT) convertit votre schéma de base de données existant d'un moteur de base de données à un autre. Vous pouvez convertir un schéma relationnel de traitement transactionnel en ligne (OLTP) ou un schéma d'entrepôt de données. Votre schéma converti convient à une instance de SQL base de données Amazon RDS for My, à un cluster de base de données Amazon Aurora, à une instance de SQL base de données Amazon RDS for Postgre ou à un cluster Amazon Redshift. Le schéma converti peut également être utilisé avec une base de données sur une EC2 instance Amazon ou stocké sous forme de données dans un compartiment Amazon S3.

    AWSSCTfournit une interface utilisateur basée sur un projet pour convertir automatiquement le schéma de base de données de votre base de données source dans un format compatible avec votre instance Amazon RDS cible. 

    Vous pouvez l'utiliser AWS SCT pour effectuer une migration d'une base de données source Oracle vers l'une des cibles répertoriées ci-dessus. À l'aide de AWSSCT, vous pouvez exporter les définitions d'objets de base de données source telles que le schéma, les vues, les procédures stockées et les fonctions. 

    Vous pouvez l'utiliser AWS SCT pour convertir des données d'Oracle vers Amazon RDS for Postgre SQL ou Amazon Aurora Postgre SQL -Compatible Edition. 

    Dans ce modèle, vous pouvez convertir et migrer le code Oracle vers Postgre AWS SCT à SQL l'aide des extensions aws_oracle_ext et orafce migrer manuellement les codes d'extension vers le code intégré psql par défaut ou natif.

  • Le pack d'AWSSCTextension est un module complémentaire qui émule les fonctions présentes dans la base de données source qui sont requises lors de la conversion d'objets vers la base de données cible. Avant d'installer le pack d'AWSSCTextension, vous devez convertir le schéma de votre base de données.

    Lorsque vous convertissez le schéma de votre base de données ou de votre entrepôt de AWS SCT données, vous ajoutez un schéma supplémentaire à votre base de données cible. Ce schéma implémente les fonctions SQL système de la base de données source requises lors de l'écriture du schéma converti dans la base de données cible. Ce schéma supplémentaire est appelé schéma du kit d'extension.

    Le schéma du pack d'extension pour les OLTP bases de données est nommé en fonction de la base de données source. Pour les bases de données Oracle, le schéma du pack d'extension estAWS_ORACLE_EXT.

Autres outils

  • Oracle — Oracle est un module qui implémente des fonctions, des types de données et des packages compatibles avec Oracle. Il s'agit d'un outil open source avec une licence Berkeley Source Distribution (BSD) afin que tout le monde puisse l'utiliser. Le orafce module est utile pour migrer d'Oracle vers Postgre SQL car de nombreuses fonctions Oracle sont implémentées dans Postgre. SQL

Code

Pour obtenir une liste de tous les codes couramment utilisés et migrés d'Oracle vers Postgre afin d'SQLéviter l'utilisation de code d'AWSSCTextension, consultez le document ci-joint.

Épopées

TâcheDescriptionCompétences requises

Créez l'instance de base de données Oracle.

Créez une instance de base de données SQL compatible avec Amazon RDS for Oracle ou Aurora Postgre à partir de la console AmazonRDS.

GénéralAWS, DBA

Configurez les groupes de sécurité.

Configurez les groupes de sécurité entrants et sortants.

Général AWS

Créez la base de données.

Créez la base de données Oracle avec les utilisateurs et les schémas nécessaires.

GénéralAWS, DBA

Créez les objets.

Créez des objets et insérez des données dans le schéma.

DBA
TâcheDescriptionCompétences requises

Créez l'instance de base de SQL données Postgre.

Créez une instance de SQL base de données Amazon RDS for Postgre SQL ou Amazon Aurora Postgre depuis la console AmazonRDS.

GénéralAWS, DBA

Configurez les groupes de sécurité.

Configurez les groupes de sécurité entrants et sortants.

Général AWS

Créez la base de données.

Créez la base de SQL données Postgre avec les utilisateurs et les schémas nécessaires.

GénéralAWS, DBA

Validez les extensions.

Assurez-vous qu'aws_oracle_extorafceils sont correctement installés et configurés dans la base de SQL données Postgre.

DBA

Vérifiez que la base de SQL données Postgre est disponible.

Assurez-vous que la base de SQL données Postgre est opérationnelle.

DBA
TâcheDescriptionCompétences requises

Installez AWSSCT.

Installez la dernière version de AWSSCT.

DBA

Configurez AWSSCT.

Configurez AWS SCT avec les pilotes Java Database Connectivity (JDBC) pour Oracle (ojdbc8.jar) et Postgre SQL (postgresql-42.2.5.jar).

DBA

Activez le pack d'AWSSCTextension ou le modèle.

Sous Paramètres AWS SCT du projet, activez l'implémentation de fonctions intégrées avec les orafce extensions aws_oracle_ext et pour le schéma de base de données Oracle.

DBA

Convertissez le schéma.

Dans AWSSCT, choisissez Convert Schema pour convertir le schéma d'Oracle en Postgre SQL et générer les fichiers .sql.

DBA
TâcheDescriptionCompétences requises

Convertissez le code manuellement.

Convertissez manuellement chaque ligne de code compatible avec les extensions en code intégré psql par défaut, comme indiqué dans le document ci-joint. Par exemple, modifier AWS_ORACLE_EXT.SYSDATE() ou ORACLE.SYSDATE() faireNOW().

DBA

Validez le code

(Facultatif) Validez chaque ligne de code en l'exécutant temporairement dans la SQL base de données Postgre.

DBA

Créez des objets dans la base de SQL données Postgre.

Pour créer des objets dans la SQL base de données Postgre, exécutez les fichiers .sql générés AWS SCT et modifiés au cours des deux étapes précédentes.

DBA

Ressources connexes

Informations supplémentaires

Pour plus d'informations, suivez les commandes détaillées, avec syntaxe et exemples, pour convertir manuellement le code dans le document joint.

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip