Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
Migración de una base de datos sin contenedor 19c local a una base de datos de contenedores de Oracle Database 23ai
Introducción
Zero Downtime Migration (ZDM) 21.5 presenta la migración física con una actualización en curso, lo que permite transiciones perfectas para las bases de datos de Oracle. Esta función soporta la migración de bases de datos Oracle 11.2.0.4 y 12c a bases de datos Oracle 19c, así como migraciones de bases de datos de origen 19c a Oracle Database 23ai.
En este tutorial se describe cómo ZDM facilita la migración y conversión de una base de datos sin contenedor (CDB) 19c de origen en una CDB al realizar una actualización en el nivel de destino. ZDM realiza una migración inicial mediante una base de datos de destino no CDB temporal para que los clientes migren y actualicen una base de datos no CDB. Al completar esta fase inicial, ZDM aprovecha la actualización automática para convertir a multi-inquilino y actualizar la base de datos a la versión deseada.
Este tutorial está específicamente adaptado para migrar bases de datos no CDB locales que ejecuten la versión 19c desde una plataforma Linux a la CDB de Oracle Database 23ai.
A continuación, se muestran las propiedades y los detalles de los entornos de origen y destino.
Objetivos
- Migre a Oracle Cloud Infrastructure (OCI) mediante la herramienta ZDM.
Requisitos
-
La base de datos origen debe ser el modo archive log.
-
Si la base de datos de origen está en 12c versión 2 y posteriores, se debe activar el cifrado de datos transparente (TDE). Asegúrese de que
WALLET_TYPE
está definido enAUTOLOGIN
oPASSWORD
. -
El parámetro
DB_UNIQUE_NAME
debe ser diferente tanto en la base de datos origen como en la base de datos destino. -
La base de datos de destino se debe crear antes de la migración.
-
Aprovisione un directorio raíz de Oracle en el servidor de destino igual que la versión del directorio raíz de la base de datos origen.
Tarea 1: Preparación e instalación del servidor ZDM
-
Aprovisione un host de recursos informáticos dedicado para la instalación del software ZDM. El host donde está instalado el software ZDM se denomina host de servicio ZDM. Se deben cumplir los siguientes requisitos en el host:
- Oracle Linux 8 y un tamaño de volumen de inicio de 200 GB.
- 100 GB de espacio de almacenamiento libre.
- No hay Oracle Grid Infrastructure en ejecución.
- Posible conectar a la base de datos de origen y destino (servidores).
-
Conéctese al host de ZDM mediante putty.
-
Ejecute el siguiente comando para ampliar el sistema de archivos y que los 200 GB estén disponibles.
[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% /
-
Cree un nuevo grupo, usuario y los directorios necesarios como usuario root con el siguiente comando.
[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/
-
Instale los paquetes de software necesarios como usuario root con el siguiente comando.
[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
-
Descargue la versión 21.5 del software ZDM y copie el archivo zip en el host ZDM en el directorio
/home/zdmuser/zdminstall/
. Cambie el propietario del archivo zip azdmuser
como usuario root con el siguiente comando.[root@zdm ~]# chown zdmuser:zdm /home/zdmuser/zdminstall/zdm21.5.zip
-
Instale el software ZDM como
zdmuser
con el siguiente comando.[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...
-
Ejecute el siguiente comando para iniciar ZDM y compruebe el estado como
zdmuser
.[zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice start Return code is 0 Server started successfully. [zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice status --------------------------------------- Service Status --------------------------------------- Running: true
-
Ejecute el siguiente comando para crear un par de claves SSH para
zdmuser
. Se utilizará más adelante para conectarse al servidor de base de datos de origen y destino mediante SSH. Mantenga los valores por defecto.[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:
-
Cree un token de autenticación para el usuario de OCI desde la página Detalles de usuario.
Haga clic en Tokens de autenticación, Generar token, introduzca Descripción y haga clic en Generar token.
Nota: Copie este token para sus registros, ya que no se volverá a mostrar.
-
Ejecute el siguiente comando para instalar la herramienta de interfaz de línea de comandos (CLI de OCI) de Oracle Cloud Infrastructure como
zdmuser
, que se utilizará para acceder a los recursos de OCI. Por ejemplo, copie el archivo de volcado del pump de datos en OCI Object Storage.[zdmuser@zdm ~]$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
Nota: La instalación de la CLI de OCI requiere OCID de usuario, OCID de arrendamiento, región de inicio, utilizar estos valores según su arrendamiento en la nube y mantener el resto de valores de parámetros como valores por defecto.
[zdmuser@zdm ~]$ oci setup config
-
Ejecute el siguiente comando para cargar la clave pública de firma de API en el usuario de OCI en el arrendamiento en la nube desde
zdmhost
.[zdmuser@zdmhost ~]$ cat /home/zdmuser/.oci/oci_api_key_public.pem -----BEGIN PUBLIC KEY----- ********** -----END PUBLIC KEY-----
Vaya a la consola de OCI, vaya a la página Detalles de usuario, haga clic en Claves de API y Agregar clave de API. Seleccione Pegar clave pública, introduzca la salida del comando anterior y haga clic en Agregar.
-
Ejecute el siguiente comando para crear un cubo estándar de OCI Object Storage en el arrendamiento de OCI mediante la CLI de OCI o la consola de OCI.
[zdmuser@zdm ~]$ oci os bucket create --compartment-id ocid1.compartment.oc1.....lh4lfamxdrpuxg3x……… --name zdmbucket
-
Conectividad de
zdmhost
a los servidores de base de datos de origen y destino: copie la clave SSH dezdmhost
comozdmuser
en el origen y destino como se ha creado en la tarea 1.9.#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
-
Resuelva los nombres de host de la base de datos origen y la base de datos destino en zdmhost copiando el nombre de host, la IP y el FQDN en
/etc/hosts
en zdmhost como usuario raíz.
Tarea 2: Ejecución de comprobaciones previas en la base de datos de origen y de destino
-
Ejecute los siguientes comandos para crear
ORACLE_HOME
en la instancia de Oracle Base Database Service de destino con la misma versión que el origen.[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:
-
Ejecute el siguiente comando para validar la creación del directorio raíz de base de datos.
[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
Tarea 3: Preparación del archivo de respuesta
-
Copie el archivo de respuesta de plantilla en
zdmhost
colocado en$ZDM_HOME/rhp/zdm/template/
en un directorio diferente. -
Modifique el archivo de respuesta copiado según la configuración del entorno de origen y destino. A continuación, se muestra un archivo de respuesta de ejemplo compartido con parámetros mínimos utilizados para completar la migración con actualización.
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
Tarea 4: Evaluación de la migración
Evalúe la migración modificando los parámetros según los detalles de origen y destino.
./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
Nota: Puede supervisar el trabajo mediante el siguiente comando.
$ZDM_HOME/bin/zdmcli query job -jobid <jobid>
Tarea 5: Realizar la migración real
Realice la migración real con el siguiente comando. Modifique los valores según el entorno de origen y de destino.
./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
Enlaces relacionados
Agradecimientos
- Autor: Snehaa Patnaik (Especialista en implantación - Personalizado, 3a parte, VM Database & Apps)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Migrate from an On-Premises 19c non-Container Database to Oracle Database 23ai Container Database
G25674-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.