Provisionner Oracle Zero Downtime Migration

Installez et configurez Oracle Zero Downtime Migration.

A propos des prérequis pour Zero Downtime Migration

Avant d'exécuter l'utilitaire Zero Downtime Migration pour la migration de base de données, il doit respecter certains prérequis.

L'hôte du service Zero Downtime Migration doit accéder aux serveurs de base de données source et cible lors de la migration d'une base de données. Ainsi, pour effectuer la migration vers Oracle Autonomous Database on Dedicated Exadata Infrastructure, l'hôte du service Zero Downtime Migration requiert un accès utilisateur root ou un accès basé sur une clé SSH à l'un des serveurs de base de données source. Assurez-vous que ces exigences en matière de routage et de connectivité réseau sont respectées avant de continuer.

Installation d'un hôte Zero Downtime Migration

Oracle recommande d'installer Zero Downtime Migration sur un hôte distinct exécuté sur Oracle Linux 7 ou 8. Il peut être provisionné au centre de données de la base de données source ou configuré dans OCI. Dans cet exemple, l'hôte du service Zero Downtime Migration a été configuré dans OCI.
  1. Provisionnez un hôte sur Oracle Linux avec un stockage minimal de 100 Go.
  2. Assurez-vous que les packages obligatoires suivants sont disponibles :
    • glibc-devel
    • expect
    • unzip
    • libaio
    • oraclelinux-developer-release-el7

    Remarques :

    Pour les versions supérieures, telles qu'Oracle Linux 8, les packages libnsl et ncurses-compat-libs sont également requis.
  3. Exécutez la commande suivante :
    [root@zdmhost ~]# yum install glibc-devel expect unzip libaio oraclelinux-developer-release-el7 -y
  4. Créez un groupe nommé zdm et un utilisateur nommé zdmuser qui est ajouté au groupe en exécutant les commandes suivantes :
    [root@zdmhost ~]# groupadd zdm
    [root@zdmhost ~]# useradd zdmuser -g zdm
    [root@zdmhost ~]# mkdir -p /home/zdmuser/zdminstall
    [root@zdmhost ~]# mkdir /home/zdmuser/zdmhome
    [root@zdmhost ~]# mkdir /home/zdmuser/zdmbase
    [root@zdmhost ~]# chown -R zdmuser:zdm /home/zdmuser/
  5. Mettez à jour la variable d'environnement requise pour que zdmuser installe ZDM sur l'hôte de service ZDM, en exécutant les commandes suivantes :
    echo "ORACLE_HOME=/home/zdmuser/zdmhome; export ORACLE_HOME" >> ~/.bashrc
    echo "ORACLE_BASE=/home/zdmuser/zdmbase; export ORACLE_BASE" >> ~/.bashrc
    echo "ZDM_BASE=\$ORACLE_BASE; export ZDM_BASE" >> ~/.bashrc
    echo "ZDM_HOME=/home/zdmuser/zdmhome; export ZDM_HOME" >> ~/.bashrc
    echo "ZDM_INSTALL_LOC=/home/zdmuser/zdminstall; export ZDM_INSTALL_LOC" >> ~/.bashrc

Installation d'outils supplémentaires sur l'hôte ZDM

  1. Installez l'interface de ligne de commande OCI (interface de ligne de commande OCI) sur l'hôte de service ZDM en tant que root :
    [root@zdmhost ~]# yum install python36-oci-cli
  2. Installez le client SQL Oracle Database sur l'hôte ZDM pour établir la connectivité avec les bases de données source et cible.
  3. Assurez-vous d'avoir téléchargé les packages RPM d'Oracle Instant Client (reportez-vous à la section Télécharger les packages logiciels) :
    • Package de base (RPM)
    • Package SQL*Plus (RPM)
    • Ensemble d'outils (RPM)
  4. Installez les packages RPM en tant qu'utilisateur root, dans l'ordre de Basic, SQL*Plus, puis Tools, en exécutant les commandes suivantes :
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-basic-19.20.0.0.0-1.x86_64.rpm
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-sqlplus-19.20.0.0.0-1.x86_64.rpm
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-tools-19.20.0.0.0-1.x86_64.rpm
  5. Mettez à jour les variables d'environnement pour zdmuser pour TNS_ADMIN et PATH en exécutant les commandes suivantes :
    TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
    PATH=/usr/lib/oracle/19.20/client64/bin:$PATH; export PATH

Installer Zero Downtime Migration sur l'hôte

Installez Zero Downtime Migration une fois l'hôte prêt.

  1. Assurez-vous que le fichier binaire a été téléchargé précédemment à partir de la section Télécharger les packages logiciels et transférez-le vers l'hôte du service Zero Downtime Migration.
  2. Décompressez le package zdmuser sur l'hôte en exécutant les commandes suivantes :
    • [zdmuser@zdmhost ~]$ cd $ZDM_INSTALL_LOC
    • [zdmuser@zdmhost zdminstall]$ unzip /tmp/V1037236-01.zip
    • [zdmuser@zdmhost zdminstall]$ ls -rlt
  3. Installez Zero Downtime Migration en tant que zdmuser sur l'hôte, en exécutant la commande : [zdmuser@zdmhost zdm21.4.1]$ ./zdminstall.sh setup oraclehome=$ZDM_HOME oraclebase=$ZDM_BASE ziploc=./zdm_home.zip -zdm
  4. Démarrez le service Zero Downtime Migration sur l'hôte en exécutant la commande : [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmservice start
  5. Vérifiez le statut en exécutant les commandes suivantes :
    • [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmcli -build
    • [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmservice status
    Running doit être égal à true si Zero Downtime Migration est en cours d'exécution.

Configurer la migration sans temps d'arrêt

  1. Configurez le fichier /etc/hosts sur l'hôte de service Zero Downtime Migration afin de garantir la connectivité entre l'hôte de service Zero Downtime Migration et la base de données source en ajoutant les informations de base de données source en tant qu'utilisateur root.
    [root@zdmhost ~]# cat /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.1.179 hr9246.appsubnet.exadatainfrastr.oraclevcn.com hr9246
    10.0.1.78 zdmhost.appsubnet.exadatainfrastr.oraclevcn.com zdmhost
    [root@zdmhost ~]#
  2. Configurez la connectivité SSH de l'hôte Zero Downtime Migration vers la base de données source en fonction de clés SSH sans phrase de passe en tant que zdmuser.
    1. En tant que zdmuser, générez la clé SSH en exécutant les commandes suivantes :
      • [zdmuser@zdmhost~]$ ssh-keygen -t rsa
      • [zdmuser@zdmhost~]$ cd ~/.ssh
      • [zdmuser@zdmhost~]$ cat id_rsa.pub>>authorized keys
      • [zdmuser@zdmhost~]$ chmod 600 authorized keys
    2. Mettez à jour le fichier de clés autorisées en ajoutant le contenu du fichier /home/zdmuser/.ssh/id_rsa.pub dans le fichier opc_user_home/.ssh/authorized_keys sur le serveur de base de données source.
    3. Validez la connectivité SSH de l'hôte Zero Downtime Migration vers l'hôte PSFT.

Configurer l'accès à l'API

  1. Générez une clé publique en tant que zdmuser en exécutant les commandes suivantes :
    [zdmuser@zdmhost ~]$ mkdir zdmhome/.oci
    [zdmuser@zdmhost ~]$ cd zdmhome/.oci
    [zdmuser@zdmhost .oci]$ openssl genrsa -out /home/zdmuser/zdmhome/.oci/oci_api_key.pem 2048
    [zdmuser@zdmhost .oci]$ openssl rsa -pubout -in /home/zdmuser/zdmhome/.oci/oci_api_key.pem -out /home/zdmuser/zdmhome/.oci/oci_api_key_public.pem
  2. Ajoutez la clé d'API à la console OCI.
    1. Dans le tableau de bord Oracle Cloud, cliquez sur l'icône de profil, puis sur votre compte (courriel).
    2. Cliquez sur clés d'API.
    3. Cliquez sur Ajouter une clé d'API.
    4. Sélectionnez Coller une clé publique.
    5. Dans le champ Clé publique, entrez oci_api_key_public.pem.
    6. Cliquez sur Ajouter.
  3. Copiez le contenu du fichier de configuration pour la clé d'API correspondante.
  4. En tant que zdmuser, créez un fichier de configuration et mettez à jour le chemin key_file avec un chemin de fichier de clé privée.
  5. Générez un jeton d'authentification OCI.
    L'authentification par jeton pour la CLI vous permet de créer un jeton de session temporaire pour authentifier une demande de commande de la CLI.

Configurer SSH

Configurez la connectivité SSH, générez une paire de clés SSH et mettez à jour le fichier de clés autorisées.

  1. Sur l'hôte Zero Downtime Migration en tant que zdmuser, configurez la connectivité SSH à l'hôte de base de données source en fonction de clés SSH sans phrase de passe.
  2. Générez une clé SSH en tant que zdmuser.
    [zdmuser@zdmhost ~]$ ssh-keygen -t rsa
    [zdmuser@zdmhost ~]$ cd ~/.ssh
    [zdmuser@zdmhost .ssh]$ cat id_rsa.pub >> authorized_keys
    [zdmuser@zdmhost .ssh]$ chmod 600 authorized_keys
  3. Ajoutez le contenu du fichier /home/zdmuser/.ssh/id_rsa.pub dans le fichier opc_user_home/.ssh/authorized_keys sur le serveur de base de données source.