Migration d'Amazon Redshift vers Autonomous Database

L'assistant de migration Amazon Redshift de SQL Developer, disponible avec SQL Developer 18.3 et versions ultérieures, fournit un cadre pour une migration facile des environnements Amazon Redshift sur une base par schéma.

Cette section décrit les étapes et le workflow d'une migration en ligne d'Amazon Redshift et de la génération de scripts pour une migration manuelle planifiée que vous exécuterez ultérieurement.

Présentation de la migration Redshift d'Autonomous Database

A l'aide de SQL Developer, vous pouvez migrer des fichiers de base de données d'Amazon Redshift vers Autonomous Database.

  • Capture : capture les schémas et les tables de métadonnées de la base de données source et les stocke dans le référentiel de migration.

  • Convertir : les types de données Redshift sont mis en correspondance avec les types de données Oracle. Les noms d'objet Redshift sont convertis en noms Oracle en fonction de la convention de dénomination Oracle. Les valeurs par défaut de colonne qui utilisent les fonctions Redshift sont remplacées par leurs équivalents Oracle.

  • Générer : générez des schémas et des instructions LDD en fonction des métadonnées converties.

  • Déployer : déployez les instructions LDD et les schémas générés.

  • Copier les données : déchargez les données des tables Redshift vers Amazon Storage S3, puis copiez les données d'Amazon Storage vers les tables Autonomous Database (dans les schémas) qui ont été déployées précédemment.

Se connecter à Amazon Redshift

Avec SQL Developer, vous pouvez migrer des schémas et des tables de base de données d'Amazon Redshift vers Autonomous Database. Pour extraire des métadonnées et des données d'Amazon Redshift pour une migration, vous devez vous connecter à Amazon Redshift avec SQL Developer.

Télécharger le pilote JDBC Amazon Redshift et ajouter le pilote tiers

  1. Téléchargez un pilote JDBC Amazon Redshift pour accéder à Amazon Redshift. Consultez la documentation Amazon Redshift pour connaître l'emplacement du pilote JDBC le plus récent. Pour plus d'informations, voir Configurer une connexion JDBC.

    Remarque

    Utilisez le pilote compatible JDBC 4.2 du pilote JDBC Amazon Redshift.
  2. Stockez le pilote JDBC Amazon Redshift dans un répertoire local où SQL Developer peut accéder au pilote JDBC Amazon Redshift.

  3. Ajoutez le pilote JDBC Amazon Redshift en tant que tiers à SQL Developer avant d'établir une connexion. Dans SQL Developer, sélectionnez Outils > Préférences > Base de données > Pilotes JDBC tiers (pour Mac, il s'agit de Oracle SQL Developer > Base de données des préférences > Pilotes JDBC tiers).

  4. Cliquez sur Ajouter une entrée et sélectionnez le chemin d'accès au pilote JDBC Amazon Redshift que vous téléchargez.


    Description de l'image dwcs_aws_migration_jdbc_add1.png
    Description de l'illustration dwcs_aws_migration_jdbc_add1.png
  5. Cliquez sur OK pour ajouter le pilote JDBC Amazon Redshift que vous téléchargez.


Description de l'image dwcs_aws_migration_jdbc_add2.png
Description de l'illustration dwcs_aws_migration_jdbc_add2.png

Ajouter une connexion à la base de données Amazon Redshift

Connectez-vous à la base de données Amazon Redshift.

  1. Dans le panneau Connexions, cliquez avec le bouton droit de la souris sur Connexions et sélectionnez Nouvelle connexion....

  2. Sélectionnez l'onglet Amazon Redshift et entrez les informations de connexion pour Amazon Redshift.

    Si vous envisagez de migrer plusieurs schémas, il est recommandé de vous connecter avec le nom d'utilisateur Master à votre système Amazon Redshift.


    Description de l'image adw_migrate_aws_connect1.png
    Description de l'illustration adw_migrate_aws_connect1.png

Testez la connexion avant de l'enregistrer.

Informations supplémentaires pour l'authentification et le contrôle d'accès Amazon

Connexion à Autonomous Database

En utilisant SQL Developer, vous créez une connexion à Autonomous Database.

Obtenez le fichier ZIP de portefeuille d'informations d'identification client. Pour plus d'informations, reportez-vous à Téléchargement d'informations d'identification client (portefeuilles).
  1. Dans le panneau Connexions, cliquez avec le bouton droit de la souris sur Connexions et sélectionnez Nouvelle connexion....
  2. Sélectionnez l'onglet Oracle et entrez les informations de connexion pour Autonomous Database.
  3. Pour la connexion à AWS Redshift Migration, sélectionnez la connexion _low à votre base de données.

    Pour plus d'informations, reportez-vous à Noms de service Database pour Autonomous Database pour plus d'informations.

  4. Ajoutez une connexion à Autonomous Database.


    Description de l'image adb_connect_sqldev_17.4.png ci-après
    Description de l'illustration adb_connect_sqldev_17.4.png

    Pour plus d'informations, reportez-vous à Connexion à Oracle SQL Developer avec un portefeuille (mTLS).

    Testez la connexion avant de l'enregistrer.

Démarrer l'assistant Cloud Migration Wizard

Appelez l'assistant de migration vers le cloud à partir du menu Outils de SQL Developer pour lancer votre migration vers Autonomous Database via Amazon Redshift.

L'assistant Migration cloud démarre lorsque vous cliquez sur Migrations cloud depuis Migration dans le menu Outils. L'assistant Migrations cloud vous permet de migrer des schémas, des objets (tables) et des données d'une base de données Amazon Redshift vers Autonomous Database.

L'assistant de migration cloud est un ensemble d'étapes facile. L'assistant Cloud Migration Wizard vous aide à :

  • Identifiez les schémas de votre base de données Amazon Redshift à migrer.

  • Identifiez l'instance Autonomous Database cible.

  • Indiquez si vous souhaitez migrer les métadonnées (DDL), les données ou les deux.

  • Choisissez de migrer votre système en ligne, de générer des scripts ou les deux.

Identifier la base de données Amazon Redshift

Identifiez les schémas de la base de données Amazon Redshift à migrer. Tous les objets, principalement les tables, du schéma seront migrés. La migration vers Autonomous Database est effectuée par schéma. Les schémas ne peuvent pas être renommés dans le cadre de la migration.

  1. Dans la migration Redshift AWS, indiquez la connexion.


    Description de l'image adw_migrate_redshift_step1of3.png
    Description de l'illustration adw_migrate_redshift_step1of3.png
  • Connexion : nom de la connexion de base de données Redshift.

  • Schémas disponibles : schémas disponibles pour la connexion spécifique.

  • Schémas sélectionnés : cliquez sur l'icône Ajouter pour sélectionner les schémas à migrer dans Schémas disponibles.

  • Inclure les données : DDL et DATA migrent les schémas et les données sélectionnés.

Lorsque vous migrez des données, vous devez fournir la clé d'accès AWS, la clé d'accès secrète AWS et un URI de bucket S3 existant où les données Redshift seront déchargées et préparées. Les informations d'identification de sécurité nécessitent certains privilèges pour stocker les données dans S3. Il est recommandé de créer des clés d'accès distinctes pour la migration. La même clé d'accès sera utilisée ultérieurement pour charger les données dans Autonomous Database à l'aide de demandes REST sécurisées.

Format d'URI de bucket Amazon S3

Pour les fichiers source résidant dans Amazon S3, reportez-vous à la section suivante pour obtenir une description du format d'URI permettant d'accéder à vos fichiers : Accès à un bucket. Par exemple, la section suivante fait référence au dossier de fichiers 'folder_name' dans le bucket adwc de la région us-west-2.

https://s3-us-west-2.amazonaws.com/adwc/folder_name

S3 Exemple de configuration de bucket 1

Si vous fournissez l'URI de bucket S3 suivant :

https://s3-us-west-2.amazonaws.com/my_bucket

L'assistant vérifie l'ensemble du chemin, y compris my_bucket. Tentative d'écriture d'un fichier de test, s'il n'est pas accessible, une invite s'affiche. Si my_bucket n'existe pas, une erreur est signalée :

Validation Failed

La génération de code crée ensuite le chemin suivant pour la fonction DBMS_CLOUD.COPY_DATA :

file_uri_list => "https://s3-us-west-2.amazonaws.com/my_bucket/oracle_schema_name/oracle_table_name/*.gz"

L'assistant de migration crée les dossiers suivants : oracle_schema_name/oracle_table_name dans le bucket : my_bucket.

S3 Exemple de bucket 2

Si vous fournissez l'URI de bucket S3 suivant :

https://s3-us-west-2.amazonaws.com/my_bucket/another_folder

L'assistant vérifie l'ensemble du chemin, y compris my_bucket. Tentative d'écriture d'un fichier de test, s'il n'est pas accessible, une invite s'affiche. Si my_bucket n'existe pas, une erreur est signalée :

Validation Failed

Dans ce cas, another_folder n'a pas besoin d'exister. La migration crée le bucket another_folder dans my_bucket.

La génération de code crée ensuite le chemin suivant pour la fonction DBMS_CLOUD.COPY_DATA :

file_uri_list => ‘https://s3-us-west-2.amazonaws.com/my_bucket/another_folder/oracle_schema_name/oracle_table_name/*.gz

Etape 2/3 : Autonomous Data Warehouse Cloud

Commencez par créer une connexion pour votre instance Autonomous Database cible. Reportez-vous à Connexion à Autonomous Database. L'utilisateur de cette connexion doit disposer des privilèges d'administration ; la connexion est utilisée tout au long de la migration pour créer des schémas et des objets.

Remarque

Utilisez l'utilisateur ADMIN ou un utilisateur doté du rôle ADMIN.

L'assistant de migration Amazon Redshift vous permet d'effectuer une migration en ligne immédiatement, de générer tous les scripts nécessaires à une migration, ou les deux. Si vous choisissez de stocker les scripts dans un répertoire local, vous devez spécifier le répertoire local (il doit être accessible en écriture par l'utilisateur).

  • Connexion : nom de la connexion Autonomous Data Warehouse Cloud. Si nécessaire, créez une connexion pour Autonomous Database. L'utilisateur doit disposer de privilèges d'administration car cette connexion est utilisée tout au long de la migration pour créer des schémas et des objets. 

  • Mot de passe du référentiel de migration : mot de passe du référentiel de migration installé dans la base de données Autonomous Database dans le cadre de la migration de schéma. Utilisez le mot de passe prérempli ou entrez un nouveau mot de passe.

  • Enlever le référentiel en cas de migration réussie : sélectionnez cette option pour enlever le référentiel une fois la migration terminée. Le référentiel n'est pas requis après la migration.

  • Migrer maintenant : sélectionnez cette option pour effectuer une migration en ligne immédiatement.

    Remarque

    • Si les options Inclure les données de l'étape 1 et Migrer maintenant sont toutes deux désélectionnées, vous choisissez de générer uniquement tous les scripts SQL requis pour la migration manuelle.

    • Si l'option Inclure les données de l'étape 1 n'est pas sélectionnée et que l'option Migrer maintenant est sélectionnée, tous les schémas sélectionnés et leurs tables seront déployés dans Autonomous Database, mais les données ne seront pas chargées dans les tables.

    • Si l'option Inclure les données de l'étape 1 et l'option Migrer maintenant sont sélectionnées, tous les schémas sélectionnés et leurs tables seront déployés dans Autonomous Database et les données seront chargées dans les tables.

  • Répertoire : indiquez le directeur pour le stockage des scripts générés nécessaires à la migration. Les scripts sont ainsi enregistrés dans un répertoire local.

Paramètres avancés (facultatif)

Les paramètres par défaut doivent fonctionner sauf si vous souhaitez contrôler les options de format lors du déchargement vers le stockage S3 ou de la copie à partir du stockage S3 vers Autonomous Database. Pour plus d'informations sur les options de format, voir DBMS_CLOUD Options de format de package. Pour utiliser les options avancées, cliquez sur Paramètres avancés.

Répertoire de sortie : entrez le chemin ou cliquez sur Sélectionner un répertoire pour sélectionner le répertoire ou le dossier de la migration.

Nombre maximal de threads : entrez le nombre de threads parallèles à activer lors du chargement de données vers des tables dans Autonomous Database.

Utiliser le planificateur : sélectionnez cette option pour activer le planificateur pour la migration. Vous pouvez programmer des travaux pour les opérations de migration de chargement de données du bucket AWS S3 vers Autonomous Database. Vous avez la possibilité d'exécuter les travaux planifiés immédiatement ou à une date et heure futures. Pour surveiller les travaux planifiés de chargement de données, utilisez le noeud Planificateur dans le navigateur de connexions.

Option d'exécution de migration:

  • Immédiat exécute le planificateur dès que la migration Redshift est déclenchée.

  • Une fois exécute le planificateur à une date ultérieure. Indiquez la date de début et le fuseau horaire. Par défaut, la date de début affiche la date et l'heure actuelles du système local. Pour modifier la date de début, utilisez l'icône de calendrier pour double-cliquer et sélectionner la date ou utilisez la flèche pour mettre en surbrillance la date, puis cliquez sur le champ pour la définir.

Options de déchargement Redshift : Autoriser le remplacement : si cette option est activée, le processus de déchargement écrasera les fichiers existants, y compris le fichier manifeste (répertorie les fichiers de données créés par le processus de déchargement). Par défaut, le déchargement échoue si des fichiers peuvent être écrasés.

Options de format ADWC : limite de rejet : entrez le nombre de lignes à rejeter lors du chargement de données dans des tables dans Autonomous Database. L'opération de migration génère une erreur après que le nombre de lignes indiqué a été rejeté. Le numéro de port par défaut est 0.

Vérifier et terminer la migration vers Amazon Redshift

Le récapitulatif présente un récapitulatif des informations que vous avez indiquées.

Pour modifier les informations, appuyez sur la touche Précédent si nécessaire.


Description de l'image adw_migrate_aws_summary.png
Description de l'illustration adw_migrate_aws_summary.png

Si vous avez choisi une migration immédiate, la boîte de dialogue de l'assistant de migration reste ouverte jusqu'à ce que la migration soit terminée. Si vous sélectionnez Générer des scripts, le processus de migration génère les scripts nécessaires dans le répertoire local indiqué et n'exécute pas les scripts.

Pour effectuer la migration, cliquez sur Terminer.

Si le nom de schéma sélectionné dans AWS Redshift existe déjà dans Autonomous Database, le processus de migration exclut le déploiement de ces schémas sélectionnés et affiche une boîte de dialogue :


Description de l'image adw_migrate_aws_schema_exists.png
Description de l'illustration adw_migrate_aws_schema_exists.png

Résumé : Ce que crée l'assistant de migration

  • Crée un utilisateur Autonomous Database à l'aide du fichier schema_name de Redshift.

  • Crée un bucket sur S3 en fonction du nom de schéma.

  • Crée des sous-dossiers sur S3 pour chaque table.

Utiliser les scripts de migration Redshift Amazon générés

Lorsque vous choisissez de générer des scripts de migration, un sous-répertoire est créé dans le répertoire local indiqué dans l'assistant de migration. Vous pouvez exécuter ces scripts en temps réel ou les utiliser pour le traitement par programmation.

Le répertoire contient les scripts suivants :

  • redshift_s3unload.sql

  • adwc_ddl.sql

  • adwc_dataload.sql

  • adwc_dataload_scheduler.sql

Ces scripts contiennent toutes les commandes nécessaires pour migrer votre système Amazon Redshift vers Autonomous Database. Vous pouvez exécuter ces scripts en temps réel ou les utiliser pour le traitement par programmation.

Déchargez vos données Amazon Redshift dans S3

La première étape d'une migration réussie est de décharger vos données Amazon Redshift dans Amazon S3, qui agit comme une zone intermédiaire. Le script redshift_s3unload.sql contient toutes les commandes de déchargement Amazon Redshift permettant de décharger les données à l'aide des informations d'identification d'accès et du bucket S3 indiqués dans le workflow de l'assistant Migration.

Connectez-vous à votre environnement Amazon Redshift pour exécuter ce script.

Créer des objets de data warehouse

Pour préparer votre instance Autonomous Database, créez votre schéma d'entrepôt de données vide avant de charger les données. L'assistant de migration Amazon Redshift a converti toutes les structures de schéma Amazon Redshift en structures Oracle dans le script adwc_ddl.sql.

Le script doit être exécuté lorsque vous êtes connecté à votre instance Autonomous Database en tant qu'utilisateur privilégié, par exemple, ADMIN.

Par défaut, le schéma créé pour la migration porte le même nom que le schéma dans Amazon Redshift. Vous devez remplacer le mot de passe par le mot de passe valide pour l'utilisateur spécifié dans le script ou après l'exécution du script. Si vous souhaitez modifier le nom du schéma, modifiez le nom du schéma et toutes les références au nom.

Charger vos données Amazon Redshift dans Oracle Autonomous Database

Le script adwc_dataload.sql contient toutes les commandes de chargement nécessaires pour charger les données Redshift Amazon déchargées directement à partir de S3 dans votre instance Autonomous Database.

Exécutez le script lorsque vous êtes connecté à votre instance Autonomous Database en tant qu'utilisateur privilégié, par exemple ADMIN.

Si vous souhaitez modifier le nom du schéma cible lors de la création des objets de data warehouse, vous devez ajuster les noms de schéma cible dans ce script en conséquence.

Utilisation de JOB SCHEDULER

SQL Developer fournit une interface graphique permettant d'utiliser le package PL/SQL DBMS_SCHEDULER pour utiliser les objets Oracle Scheduler. Pour utiliser les fonctionnalités de planification de SQL Developer, reportez-vous à la rubrique "Planification de travaux à l'aide de SQL Developer" du manuel SQL Developer User Guide et au Guide de l'administrateur Oracle Database pour comprendre les concepts et les tâches essentielles de la planification des travaux.

Le noeud Scheduler d'une connexion apparaît dans le navigateur Connections et dans le navigateur DBA. Utilisez l'utilisateur ADWC 'admin' pour accéder aux objets du planificateur appartenant au statut de surveillance 'admin' des travaux de chargement de données.

Sous Connexion ADWC 'admin' → Planificateur → Travaux, vous verrez que les travaux de chargement de données AWS Redshift vers ADWC sont créés sous le nom <schema_name>_<table_name>. 

Pour voir le statut de fin de chaque chargement de données, développez chaque travail planifié et vérifiez le statut.

Pour plus d'informations sur l'opération de chargement de données, reportez-vous également à la table MD_REPORT du schéma SQLDEV_MIGREPOS qui contient des informations sur les colonnes de table :

 OPERATION_ID, LOGFILE_TABLE, BADFILE_TABLE, SOURCE_SCHEMA_NAME, TARGET_SCHEMA_NAME, SOURCE_TABLE_NAME, 

et

 TARGET_TABLE_NAME, SOURCE_TABLE_ROWS, TARGET_TABLE_ROWS_LOADED, ERROR MESSAGE, 

et

STATUS (COMPLETED or FAILED)

Fichiers de journal et de rapport de migration Redshift

Après la migration Redshift, vous trouverez trois fichiers :

  • MigrationResults.log : fichier journal de la migration Redshift

  • readme.txt : le fichier explique comment utiliser les scripts de migration Redshift Amazon générés.

  • redshift_migration_reportxxx.txt : contient des informations sur la migration, voici un exemple :

    ______________________________________________________________
    OPERATION ID : 8566
    LOGFILE TABLE : COPY$8566_LOG
    BADFILE TABLE : COPY$8566_BAD
    SOURCE SCHEMA : sample
    TARGET SCHEMA : SAMPLE
    SOURCE TABLE : listing
    TARGET TABLE : LISTING
    SOURCE TABLE ROWS : 192497
    TABLE ROWS LOADED : 192497
    ERROR MESSAGE : null
    STATUS : COMPLETED
    START TIME : 2018-09-27 17:25:18.662075
    END TIME : 2018-09-27 17:25:25.012695
    ______________________________________________________________

Effectuer des tâches après la Migration

Après la migration réussie de votre environnement Redshift, vous devez prendre en compte les tâches de post-migration suivantes :

  • Supprimer le schéma SQLDEV_MIGREPOS

  • Supprimer le bucket Amazon S3 utilisé pour la préparation

  • Renforcez le compte Amazon utilisé pour accéder à S3

  • Supprimer les informations d'identification de base de données utilisées pour le chargement de données à partir de S3

  • Renforcez vos comptes dans votre instance Autonomous Database

  1. Supprimer le schéma SQLDEV_MIGREPOS

    Dans le cadre de la migration de schéma, l'assistant de migration installe un référentiel de migration minimal dans la base de données Autonomous Database cible. Après la migration, ce compte n'est plus nécessaire et peut être supprimé ou verrouillé.

  2. Supprimer le bucket Amazon S3 utilisé pour la préparation

    Sauf si vous souhaitez utiliser les données Redshift déchargées, vous pouvez supprimer le bucket contenant les données déchargées.

  3. Renforcez le compte Amazon utilisé pour accéder à S3

    Vous devez désactiver la clé d'accès de sécurité utilisée pour l'accès S3, sauf si cela est nécessaire à d'autres fins.

  4. Supprimer les informations d'identification de base de données utilisées pour le chargement de données à partir de S3

    Les informations d'identification de sécurité Amazon permettant d'accéder à S3 sont stockées cryptées en tant qu'informations d'identification de base de données REDSHIFT_DWCS_CREDS dans votre instance Autonomous Database dans le schéma utilisateur privilégié utilisé pour la migration. Oracle vous recommande de supprimer ces informations d'identification après la migration, sauf si cela est nécessaire à d'autres fins. Pour plus d'informations, reportez-vous à Procédure DROP_CREDENTIAL.

  5. Renforcez vos comptes dans votre instance Autonomous Database

    Pour le nouveau schéma créé dans le cadre de la migration avec l'assistant Migration, veillez à modifier les mots de passe de ces comptes ou verrouillez-les et faites-les expirer s'ils sont uniquement utilisés pour le stockage des données.