Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Ersetzen Sie diese Werte nach Abschluss der Übung durch Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Migration von einer On-Premise-Nicht-Containerdatenbank des Typs 19c zu einer Oracle Database 23ai-Containerdatenbank
Einführung
Zero Downtime Migration (ZDM) 21.5 führt die physische Migration mit einem laufenden Upgrade ein und ermöglicht nahtlose Übergänge für Oracle-Datenbanken. Dieses Feature unterstützt die Migration von Oracle-Datenbanken 11.2.0.4 und 12c in 19c Oracle-Datenbanken sowie Migrationen von 19c-Quelldatenbanken zu Oracle Database 23ai.
In diesem Tutorial wird erläutert, wie ZDM die Migration und Konvertierung einer Nicht-Containerdatenbank (CDB) 19c-Quelldatenbank in eine CDB erleichtert, während ein Upgrade auf Zielebene durchgeführt wird. ZDM führt eine anfängliche Migration mit einer temporären Nicht-CDB-Zieldatenbank aus, damit Kunden eine Nicht-CDB-Datenbank migrieren und upgraden können. Nach Abschluss dieser Anfangsphase nutzt ZDM das automatische Upgrade, um in Multi-Tenant zu konvertieren und die Datenbank auf die gewünschte Version zu aktualisieren.
Dieses Tutorial wurde speziell für die Migration von On-Premise-Nicht-CDB-Datenbanken mit Version 19c von einer Linux-Plattform auf die Oracle Database 23ai-CDB entwickelt.
Im Folgenden werden die Eigenschaften und Details der Quell- und Zielumgebungen beschrieben.
Ziele
- Migrieren Sie mit dem ZDM-Tool zu Oracle Cloud Infrastructure (OCI).
Voraussetzungen
-
Quelldatenbank muss im Archive-Logmodus sein.
-
Wenn sich die Quelldatenbank in 12c Release 2 und höher befindet, muss Transparent Data Encryption (TDE) aktiviert werden. Stellen Sie sicher, dass
WALLET_TYPE
aufAUTOLOGIN
oderPASSWORD
gesetzt ist. -
Der Parameter
DB_UNIQUE_NAME
muss sowohl in der Quelldatenbank als auch in der Zieldatenbank unterschiedlich sein. -
Die Zieldatenbank muss vor der Migration erstellt werden.
-
Stellen Sie ein Oracle Home auf dem Zielserver bereit, das der Home-Version der Quelldatenbank entspricht.
Aufgabe 1: ZDM-Server vorbereiten und installieren
-
Stellen Sie einen dedizierten Compute-Host für die ZDM-Softwareinstallation bereit. Der Host, auf dem die ZDM-Software installiert ist, wird als ZDM-Servicehost bezeichnet. Die folgenden Voraussetzungen müssen auf dem Host erfüllt sein:
- Oracle Linux 8 und Boot-Volume-Größe von 200 GB.
- 100 GB freier Speicherplatz.
- Es wird keine Oracle Grid Infrastructure ausgeführt.
- Verbindung zur Quell- und Zieldatenbank (Server) möglich.
-
Stellen Sie mit putty eine Verbindung zum ZDM-Host her.
-
Führen Sie den folgenden Befehl aus, um das Dateisystem zu erweitern und die 200 GB verfügbar zu machen.
[opc@zdm ~]$ sudo su - [root@zdm ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 39G 3.2G 36G 9% / [root@zdm ~]# /usr/libexec/oci-growfs -y [root@zdm ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 192G 3.2G 189G 2% /
-
Erstellen Sie mit dem folgenden Befehl eine neue Gruppe, einen neuen Benutzer und die erforderlichen Verzeichnisse als Root-Benutzer.
[root@zdm ~]# groupadd zdm [root@zdm ~]# useradd -g zdm zdmuser [root@zdm ~]# mkdir -p /home/zdmuser/zdminstall [root@zdm ~]# mkdir /home/zdmuser/zdmhome [root@zdm ~]# mkdir /home/zdmuser/zdmbase [root@zdm ~]# chown -R zdmuser:zdm /home/zdmuser/
-
Installieren Sie die erforderlichen Softwarepackages mit dem folgenden Befehl als Root-Benutzer.
[root@zdm ~]# yum install oraclelinux-developer-release-el8 libnsl perl unzip glibc-devel expect libaio ncurses-compat-libs ncurses-devel numactl-libs openssl mlocate bind-utils
-
Laden Sie die ZDM-Softwareversion 21.5 herunter, und kopieren Sie die ZIP-Datei in den ZDM-Host in das Verzeichnis
/home/zdmuser/zdminstall/
. Ändern Sie den Eigentümer der ZIP-Datei mit dem folgenden Befehl als Root-Benutzer inzdmuser
.[root@zdm ~]# chown zdmuser:zdm /home/zdmuser/zdminstall/zdm21.5.zip
-
Installieren Sie die ZDM-Software mit dem folgenden Befehl als
zdmuser
.[zdmuser@zdm ~]$ cd /home/zdmuser/zdminstall/ [zdmuser@zdm zdminstall]$ unzip zdm21.5.zip [zdmuser@zdm zdminstall]$ ZDMHOME=/home/zdmuser/zdmhome [zdmuser@zdm zdminstall]$ ZDMBASE=/home/zdmuser/zdmbase [zdmuser@zdm zdminstall]$ /home/zdmuser/zdminstall/zdm21.5/zdminstall.sh setup oraclehome=/home/zdmuser/zdmhome oraclebase=/home/zdmuser/zdmbase ziploc=/home/zdmuser/zdminstall/zdm21.5/zdm_home.zip -zdm ZDM service setup finished successfully...
-
Führen Sie den folgenden Befehl aus, um ZDM zu starten, und prüfen Sie den Status als
zdmuser
.[zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice start Return code is 0 Server started successfully. [zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice status --------------------------------------- Service Status --------------------------------------- Running: true
-
Führen Sie den folgenden Befehl aus, um ein SSH-Schlüsselpaar für
zdmuser
zu erstellen. Dies wird später verwendet, um sich mit SSH beim Quell- und Zieldatenbankserver anzumelden. Behalten Sie die Standardwerte bei.[zdmuser@zdm ~]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/zdmuser/.ssh/id_rsa): Created directory '/home/zdmuser/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/zdmuser/.ssh/id_rsa. Your public key has been saved in /home/zdmuser/.ssh/id_rsa.pub. The key fingerprint is: SHA256:giU7jz/8Z1VPiS9Ds/gfokHdevpm0dk59fPYEHRChs4 zdmuser@zdmhost The key's randomart image is:
-
Erstellen Sie auf der Seite Benutzerdetails ein Authentifizierungstoken für den OCI-Benutzer.
Klicken Sie auf Authentifizierungstoken, Token generieren, geben Sie eine Beschreibung ein, und klicken Sie auf Token generieren.
Hinweis: Kopieren Sie dieses Token für Ihre Datensätze, da es nicht erneut angezeigt wird.
-
Führen Sie den folgenden Befehl aus, um das Oracle Cloud Infrastructure-Befehlszeilenschnittstellen-(OCI-CLI-)Tool als
zdmuser
zu installieren, mit dem auf die OCI-Ressourcen zugegriffen wird. Beispiel: Kopieren Sie die Data Pump-Dumpdatei in OCI Object Storage.[zdmuser@zdm ~]$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
Hinweis: Für die OCI-CLI-Installation ist Benutzer-OCID, Mandanten-OCID, Home-Region erforderlich. Verwenden Sie diese Werte gemäß Ihrem Cloud-Mandanten, und behalten Sie die anderen Parameterwerte als Standardwert bei.
[zdmuser@zdm ~]$ oci setup config
-
Führen Sie den folgenden Befehl aus, um den Public Key der API-Signatur aus
zdmhost
in den OCI-Benutzer im Cloud-Mandanten hochzuladen.[zdmuser@zdmhost ~]$ cat /home/zdmuser/.oci/oci_api_key_public.pem -----BEGIN PUBLIC KEY----- ********** -----END PUBLIC KEY-----
Gehen Sie zur OCI-Konsole, navigieren Sie zur Seite Benutzerdetails, klicken Sie auf API-Schlüssel und API-Schlüssel hinzufügen. Wählen Sie Public Key einfügen aus, geben Sie die Ausgabe des obigen Befehls ein, und klicken Sie auf Hinzufügen.
-
Führen Sie den folgenden Befehl aus, um einen Standard-OCI-Objektspeicher-Bucket im OCI-Mandanten mit der OCI-CLI oder OCI-Konsole zu erstellen.
[zdmuser@zdm ~]$ oci os bucket create --compartment-id ocid1.compartment.oc1.....lh4lfamxdrpuxg3x……… --name zdmbucket
-
Konnektivität von
zdmhost
zu Quell- und Zieldatenbankservern: Kopieren Sie den SSH-Schlüssel auszdmhost
alszdmuser
in die Quelle und das Ziel, wie in Aufgabe 1.9 erstellt.#on ZDM host as zdmuser [zdmuser@zdm ~]$ cat .ssh/id_rsa.pub #on the source database host as user opc [opc@sourcedb ~]$ vi .ssh/authorized_keys #insert the public key and save the changes [opc@targetdb ~]$ vi .ssh/authorized_keys #insert the public key and save the changes
-
Lösen Sie die Hostnamen der Quelldatenbank und der Zieldatenbank auf zdmhost, indem Sie den Hostnamen, die IP und den FQDN als Root-Benutzer in
/etc/hosts
auf zdmhost kopieren.
Aufgabe 2: Vorabprüfungen in Quell- und Zieldatenbank ausführen
-
Führen Sie die folgenden Befehle aus, um
ORACLE_HOME
in der Oracle Base Database Service-Zielinstanz mit derselben Version wie die Quelle zu erstellen.[root@tgtzdm ~]# dbcli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- c548b052-64b7-4257-bfdc-d7c201a430ab OraDB23000_home1 23.5.0.24.07 /u01/app/oracle/product/23.0.0.0/dbhome_1 Configured
[root@tgt23ai ~]# dbcli create-dbhome -v 19.23 Job details ---------------------------------------------------------------- ID: a63db258-7ffc-4dee-b8e5-5accf223e39b Description: Database Home creation with Id : db1b4bb8-2ed0-4c0f-ade9-a656f21cf808 Status: Created Created: September 19, 2024 at 3:22:48 PM IST Progress: 0% Message: Create Database Home Error Code:
-
Führen Sie den folgenden Befehl aus, um die Erstellung des Datenbank-Homes zu validieren.
[root@tgt23ai ~]# dbcli describe-job --jobid a63db258-7ffc-4dee-b8e5-5accf223e39b Job details ---------------------------------------------------------------- ID: a63db258-7ffc-4dee-b8e5-5accf223e39b Description: Database Home creation with Id : db1b4bb8-2ed0-4c0f-ade9-a656f21cf808 Status: Success Created: September 19, 2024 at 3:22:48 PM IST Progress: 100% Message: Create Database Home Error Code: Task Name Start Time End Time Status ------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ---------- Database home creation September 19, 2024 at 3:22:49 PM IST September 19, 2024 at 3:27:40 PM IST Success [root@test23ai ~]# dbcli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- 43247858-4ff6-4fcb-85f2-09d453d863bf OraDB23000_home1 23.5.0.24.07 /u01/app/oracle/product/23.0.0.0/dbhome_1 Configured a63db258-7ffc-4dee-b8e5-5accf223e39b OraDB19000_home1 19.23.0.0.0 /u01/app/oracle/product/19.0.0.0/dbhome_1 Configured
Aufgabe 3: Vorbereiten der Antwortdatei
-
Kopieren Sie die Antwortdatei der Vorlage unter
zdmhost
unter$ZDM_HOME/rhp/zdm/template/
in ein anderes Verzeichnis. -
Ändern Sie die kopierte Antwortdatei gemäß dem Setup der Quell- und Zielumgebung. Im Folgenden finden Sie eine Beispielantwortdatei, die mit minimalen Parametern gemeinsam verwendet wird, um die Migration mit einem Upgrade abzuschließen.
TGT_DB_UNIQUE_NAME=tgt23ai_ai MIGRATION_METHOD=OFFLINE_PHYSICAL DATA_TRANSFER_MEDIUM=OSS PLATFORM_TYPE=VMDB SRC_DB_LISTENER_PORT=1521 HOST=https://swiftobjectstorage.eu-frankfurt-1.oraclecloud.com/v1/frrudica1wgd OPC_CONTAINER=ZDM NONCDBTOPDB_CONVERSION=TRUE TGT_SKIP_DATAPATCH=FALSE ZDM_NONCDBTOPDB_PDB_NAME=newpdb23 ZDM_PRE_UPGRADE_TARGET_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
Aufgabe 4: Migration auswerten
Bewerten Sie die Migration, indem Sie die Parameter gemäß Quell- und Zieldetails ändern.
./zdmcli migrate database -rsp /home/zdmuser/response_files/zdm_phyupg.rsp \
-sourcedb test \
-sourcenode test23ai1 \
-srcauth zdmauth \
-srcarg1 user:opc \
-srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-srcarg3 sudo_location:/usr/bin/sudo \
-targetnode tgt23ai \
-tgtauth zdmauth \
-tgtarg1 user:opc \
-tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-tgtarg3 sudo_location:/usr/bin/sudo \
-tdekeystorepasswd \
-tgttdekeystorepasswd \
-backupuser oracleidentitycloudservice/s****aik@oracle.com \
-eval
Hinweis: Sie können den Job mit dem folgenden Befehl überwachen.
$ZDM_HOME/bin/zdmcli query job -jobid <jobid>
Aufgabe 5: Tatsächliche Migration ausführen
Führen Sie die tatsächliche Migration mit dem folgenden Befehl aus. Ändern Sie die Werte entsprechend der Quell- und Zielumgebung.
./zdmcli migrate database -rsp /home/zdmuser/response_files/zdm_phyupg.rsp \
-sourcedb test \
-sourcenode test23ai1 \
-srcauth zdmauth \
-srcarg1 user:opc \
-srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-srcarg3 sudo_location:/usr/bin/sudo \
-targetnode tgt23ai \
-tgtauth zdmauth \
-tgtarg1 user:opc \
-tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-tgtarg3 sudo_location:/usr/bin/sudo \
-tdekeystorepasswd \
-tgttdekeystorepasswd \
-backupuser oracleidentitycloudservice/s***aik@oracle.com
Verwandte Links
Danksagungen
- Autor - Snehaa Patnaik (Implementation Specialist - Benutzerdefiniert, 3. Partei, VM-Datenbank und Apps)
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Migrate from an On-Premises 19c non-Container Database to Oracle Database 23ai Container Database
G25673-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.