Oracle Zero Downtime Migration bereitstellen

Installieren und konfigurieren Sie Oracle Zero Downtime Migration.

Voraussetzungen für die Migration ohne Ausfallzeit

Bevor Sie das Utility "Zero Downtime Migration" für die Datenbankmigration ausführen, müssen bestimmte Voraussetzungen erfüllt sein.

Der Host des Zero Downtime Migration-Service muss während einer Datenbankmigration auf die Quell- und Zieldatenbankserver zugreifen können können. Damit die Migration zu Oracle Autonomous Database on Dedicated Exadata Infrastructure ausgeführt werden kann, erfordert der Servicehost für die Zero Downtime Migration entweder Root-Benutzerzugriff oder SSH-schlüsselbasierten Zugriff auf einen der Quelldatenbankserver. Stellen Sie sicher, dass diese Anforderungen an Netzwerkroute und Konnektivität erfüllt sind, bevor Sie fortfahren.

Host für Migration ohne Ausfallzeit installieren

Oracle empfiehlt, die Zero Downtime Migration auf einem separaten Host zu installieren, der auf Oracle Linux 7 oder 8 ausgeführt wird. Sie kann im Data Center der Quelldatenbank bereitgestellt oder in OCI konfiguriert werden. In diesem Beispiel wurde der Host des Zero Downtime Migration-Service in OCI konfiguriert.
  1. Stellen Sie einen Host auf Oracle Linux mit einem Speicher von mindestens 100 GB bereit.
  2. Stellen Sie sicher, dass diese obligatorischen Packages verfügbar sind:
    • glibc-devel
    • expect
    • unzip
    • libaio
    • oraclelinux-developer-release-el7

    Hinweis:

    Für höhere Versionen, wie Oracle Linux 8, sind auch die Packages libnsl und ncurses-compat-libs erforderlich.
  3. Führen Sie den folgenden Befehl aus:
    [root@zdmhost ~]# yum install glibc-devel expect unzip libaio oraclelinux-developer-release-el7 -y
  4. Erstellen Sie eine Gruppe mit dem Namen zdm und einen Benutzer mit dem Namen zdmuser, der der Gruppe hinzugefügt wird, indem Sie die folgenden Befehle ausführen:
    [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. Aktualisieren Sie die erforderliche Umgebungsvariable für zdmuser, um ZDM auf dem ZDM-Servicehost zu installieren, indem Sie die folgenden Befehle ausführen:
    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

Zusätzliche Tools auf dem ZDM-Host installieren

  1. Installieren Sie die OCI-Befehlszeilenschnittstelle (OCI-CLI) auf dem ZDM-Servicehost als root:
    [root@zdmhost ~]# yum install python36-oci-cli
  2. Installieren Sie den Oracle Database SQL-Client auf dem ZDM-Host, um die Konnektivität zur Quell- und Zieldatenbank herzustellen.
  3. Stellen Sie sicher, dass Sie die RPM-Packages von Oracle Instant Client heruntergeladen haben (siehe Abschnitt "Softwarepackages herunterladen":
    • Basispaket (RPM)
    • SQL*Plus-Package (RPM)
    • Tools-Paket (RPM)
  4. Installieren Sie die RPM-Packages als root-Benutzer in der Reihenfolge Basic, SQL*Plus und dann Tools, indem Sie die folgenden Befehle ausführen:
    [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. Aktualisieren Sie die Umgebungsvariablen für zdmuser für TNS_ADMIN und PATH, indem Sie die folgenden Befehle ausführen:
    TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
    PATH=/usr/lib/oracle/19.20/client64/bin:$PATH; export PATH

Migration ohne Ausfallzeit auf Host installieren

Installieren Sie die Zero Downtime Migration, sobald der Host bereit ist.

  1. Stellen Sie sicher, dass die Binärdatei zuvor aus dem Abschnitt "Softwarepackages herunterladen" heruntergeladen wurde, und übertragen Sie sie auf den Host des Zero Downtime Migration-Service.
  2. Dekomprimieren Sie das Package zdmuser auf dem Host, indem Sie die folgenden Befehle ausführen:
    • [zdmuser@zdmhost ~]$ cd $ZDM_INSTALL_LOC
    • [zdmuser@zdmhost zdminstall]$ unzip /tmp/V1037236-01.zip
    • [zdmuser@zdmhost zdminstall]$ ls -rlt
  3. Installieren Sie die Zero Downtime Migration als zdmuser auf dem Host, indem Sie den folgenden Befehl ausführen: [zdmuser@zdmhost zdm21.4.1]$ ./zdminstall.sh setup oraclehome=$ZDM_HOME oraclebase=$ZDM_BASE ziploc=./zdm_home.zip -zdm
  4. Starten Sie den Zero Downtime Migration-Service auf dem Host, indem Sie den folgenden Befehl ausführen: [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmservice start
  5. Prüfen Sie den Status, indem Sie die Befehle ausführen:
    • [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmcli -build
    • [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmservice status
    Running muss gleich true sein, wenn die Migration ohne Ausfallzeit ausgeführt wird.

Migration ohne Ausfallzeit konfigurieren

  1. Konfigurieren Sie die Datei /etc/hosts auf dem Host des Zero Downtime Migration-Service, um die Konnektivität zwischen dem Host des Zero Downtime Migration-Service und der Quelldatenbank sicherzustellen, indem Sie die Quelldatenbankinformationen als Root-Benutzer hinzufügen.
    [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. Konfigurieren Sie die SSH-Konnektivität vom Host für die Migration ohne Ausfallzeit zur Quelldatenbank basierend auf SSH-Schlüsseln ohne Passphrase als zdmuser.
    1. Generieren Sie als zdmuser den SSH-Schlüssel, indem Sie die folgenden Befehle ausführen:
      • [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. Aktualisieren Sie die Datei mit den autorisierten Schlüsseln, indem Sie den Inhalt der Datei /home/zdmuser/.ssh/id_rsa.pub in die Datei opc_user_home/.ssh/authorized_keys auf dem Quelldatenbankserver einfügen.
    3. Validieren Sie die SSH-Konnektivität vom Host für Zero Downtime Migration zum PSFT-Host.

API-Zugriff konfigurieren

  1. Generieren Sie einen Public Key als zdmuser, indem Sie die folgenden Befehle ausführen:
    [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. Fügen Sie den API-Schlüssel zur OCI-Konsole hinzu.
    1. Klicken Sie im Oracle Cloud-Dashboard auf das Profilsymbol und dann auf Ihren Account (E-Mail).
    2. Click API keys.
    3. Click Add API key.
    4. Wählen Sie Public Key einfügen aus.
    5. Geben Sie im Feld Public Key oci_api_key_public.pem ein.
    6. Klicken Sie auf "Hinzufügen".
  3. Kopieren Sie den Inhalt der Konfigurationsdatei für den entsprechenden API-Schlüssel.
  4. Erstellen Sie als zdmuser eine Konfigurationsdatei, und aktualisieren Sie den key_file-Pfad mit einem Private-Key-Dateipfad.
  5. OCI-Authentifizierungstoken generieren.
    Mit der tokenbasierten Authentifizierung für die CLI können Sie ein temporäres Sessiontoken zur Authentifizierung einer CLI-Befehlsanforderung erstellen.

SSH konfigurieren

Konfigurieren Sie die SSH-Konnektivität, generieren Sie ein SSH-Schlüsselpaar, und aktualisieren Sie die Datei mit den autorisierten Schlüsseln.

  1. Konfigurieren Sie im Host für die Migration ohne Ausfallzeit als zdmuser die SSH-Konnektivität zum Quelldatenbankhost basierend auf SSH-Schlüsseln ohne Passphrase.
  2. Generieren Sie einen SSH-Schlüssel als 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. Fügen Sie den Inhalt der Datei /home/zdmuser/.ssh/id_rsa.pub in die Datei opc_user_home/.ssh/authorized_keys auf dem Quelldatenbankserver ein.