Migrar a base de datos de Exadata
Oracle Zero Downtime Migration (ZDM) se puede utilizar para simplificar y automatizar migraciones de bases de datos complejas, al tiempo que se cumple con los más altos estándares de Oracle Maximum Availability Architecture (MAA). En este tema se explica cómo se puede utilizar ZDM para migrar a Oracle Exadata Database Service on Dedicated Infrastructure, que es una opción importante para las organizaciones que necesitan un entorno multinube seguro y fiable.
Mediante Oracle Zero Downtime Migration, puede:- Minimice las interrupciones del negocio y logre un tiempo de inactividad casi nulo.
- Migre bases de datos entre varias versiones y plataformas de hardware.
- Aproveche la automatización y la orquestación completas para reducir el riesgo y la complejidad.
Entorno de destino: Oracle Exadata Database Service on Dedicated Infrastructure
Oracle Exadata Database Service on Dedicated Infrastructure integra el alto rendimiento, la disponibilidad y la escalabilidad de Oracle Exadata Database y Oracle Real Application Clusters (RAC) directamente dentro de Google Cloud. Esta integración garantiza que la base de datos migrada mantenga una conexión rápida y de baja latencia a todas las aplicaciones asociadas que se ejecutan en Google Cloud.
Ventajas clave del uso de Oracle Zero Downtime Migration para las migraciones de bases de datos de Exadata
Función Descripción Tiempo de inactividad mínimo/cero Oracle Zero Downtime Migration utiliza tecnologías avanzadas de Oracle como Oracle Data Guard y Oracle GoldenGate para mantener la sincronización de origen y destino, lo que garantiza la disponibilidad durante todo el proceso de migración. Orquestación automatizada La utilidad proporciona una experiencia simplificada y de un solo botón mediante la automatización de las comprobaciones previas a la validación, la transferencia de datos y el corte final, lo que reduce significativamente el esfuerzo manual y el posible error humano. Flexibilidad de la plataforma Oracle Zero Downtime Migration admite migraciones entre plataformas y versiones de base de datos idénticas o diferentes, lo que permite la modernización simultánea como parte del movimiento. Eficiencia de costos Oracle Zero Downtime Migration está disponible de forma gratuita, lo que ayuda a las organizaciones a lograr un ahorro de costos sustancial en su proyecto de migración general. Reducción del riesgo Al adherirse a las mejores prácticas probadas de MAA y aprovechar la validación automatizada, Oracle Zero Downtime Migration garantiza una ruta de migración sólida y fiable. Flujos de trabajo de migración soportados
Oracle Zero Downtime Migration admite cuatro flujos de trabajo, lo que te brinda flexibilidad para elegir la mejor opción en función de tus necesidades de disponibilidad y la compatibilidad de tus entornos de origen y destino.
- Migración física en línea
- Perfil de tiempo de inactividad: mínimo (cerca de cero).
- Compatibilidad: requiere la misma versión y plataforma de base de datos entre el origen y el destino.
- Proceso: este flujo de trabajo utiliza Oracle Data Guard para la sincronización física continua. La base de datos de destino se crea mediante un método restauración desde el servicio, que permite la transferencia directa de datos y evita explícitamente la copia de seguridad de la base de datos de origen en una ubicación de almacenamiento intermedia. Esta es la opción en línea más rápida para migraciones de la misma plataforma.
- Migración lógica en línea
- Perfil de tiempo de inactividad: mínimo (cerca de cero).
- Compatibilidad: admite migraciones entre la misma versión de base de datos o entre diferentes plataformas.
- Proceso: este método utiliza la exportación e importación de Oracle Data Pump para crear la base de datos destino. El servidor NFS gestionado por Google Cloud proporciona un recurso compartido de archivos NFS para almacenar los archivos de volcado de pump de datos. Oracle GoldenGate mantiene sincronizadas las bases de datos de origen y destino para lograr una migración con un tiempo de inactividad mínimo.
- Migración física fuera de línea
- Perfil de tiempo de inactividad: fuera de línea (requiere tiempo de inactividad de la aplicación).
- Compatibilidad: Necesita la misma versión y plataforma de base de datos.
- Proceso: crea la base de datos destino mediante la copia de seguridad y restauración de Oracle Recovery Manager (RMAN). El servidor NFS gestionado por Google Cloud proporciona un recurso compartido de archivos NFS para almacenar los archivos de copia de seguridad de RMAN.
- Migración lógica fuera de línea
- Perfil de tiempo de inactividad: fuera de línea (requiere tiempo de inactividad de la aplicación).
- Compatibilidad: admite migraciones entre la misma versión de base de datos o entre diferentes plataformas.
- Proceso: utiliza la exportación e importación de Oracle Data Pump para crear la base de datos destino. El servidor NFS gestionado por Google Cloud proporciona un recurso compartido de archivos NFS para almacenar los archivos de volcado de Oracle Data Pump.
Para obtener más información sobre Oracle Zero Downtime Migration, consulte los siguientes recursos:En las configuraciones multinube, debe transferir datos entre diferentes proveedores de nube o mantenerlos en un entorno mientras consulta o accede a ellos desde otro. El paquete PL/SQL DBMS_CLOUD de Oracle Database simplifica esto al permitir el acceso directo a servicios de almacenamiento de objetos como Oracle Cloud Infrastructure (OCI) Object Storage y Google Cloud Storage y permitir que los datos se consulten a través de tablas externas o se carguen directamente en tablas de base de datos.
En este documento se proporciona una guía detallada sobre cómo acceder a los datos de Google Cloud Storage y cómo importarlos a Oracle Database.
Visión General de la Solución
Esta solución demuestra cómo se puede utilizar Google Cloud Storage (GCS) como zona de llegada para copias de seguridad y archivos.
El paquete DBMS_CLOUD de Oracle permite consultar datos directamente desde cubos de Google Cloud Storage (Parquet, CSV, JSON, etc.) como tablas externas sin moverlas, unirlas en tiempo real con tablas de Oracle para realizar análisis unificados de forma masiva importar archivos a Oracle Database de manera eficiente con carga paralela, minimizar la duplicación de datos y los costos en configuraciones multinube, y admitir escenarios híbridos como la combinación de datos de ERP con logs almacenados en GCS, flujos IoT o funciones de aprendizaje automático para obtener información e informes más rápidos. La arquitectura ilustra un flujo de trabajo en el que el origen es una instancia de Oracle Database que se ejecuta en Linux u Oracle Exadata Database, y el destino es un entorno de Oracle Database que se ejecuta en la infraestructura de Google Cloud. El almacenamiento en la nube de Google lo utilizan tanto los sistemas de base de datos de origen como los de destino, lo que permite que las copias de seguridad de RMAN o los volcados de exportación se escriban una vez y se restauren directamente, sin realizar más pasos de transferencia de archivos.
Al aprovechar Google Cloud Storage como almacenamiento compartido, los flujos de trabajo de migración se benefician de un servicio gestionado que admite el movimiento de datos con facilidad.

Requisitos
- Entorno de Oracle Database
Origen: plataforma de Oracle Database, como Oracle Exadata Database, Oracle RAC o una instancia independiente de Oracle Database en Linux.
Destino: Oracle Exadata Database que se ejecuta en Oracle AI Database@Google Cloud.
- Cubo de almacenamiento de Google Cloud
- Un cubo que contiene los archivos de datos como archivo de volcado de Oracle Data Pump
- Conectividad de Red
- Para Oracle Database, está soportada la conectividad a Internet o el enlace privado que utiliza Oracle Interconnect for Google Cloud.
- Para Oracle AI Database@Google Cloud, la conectividad interna dentro de la misma región de nube está soportada por defecto.
- Credenciales
- Clave y secreto de acceso a Google Cloud (clave HMAC) con permisos de acceso al cubo.
- Configuración
- Crear credenciales de acceso a Google Cloud Storage
- En la consola de Google Cloud, vaya a Almacenamiento en la nube.
- Seleccione Configuración en el menú de la izquierda y, a continuación, seleccione el separador Interoperabilidad.

- Desplácese hacia abajo hasta la sección Claves de acceso para su cuenta de usuario y seleccione el botón Crear una clave para generar una Clave de acceso y un Secreto. Tome nota de la clave de acceso y el secreto, ya que son necesarios para autenticar el acceso a Oracle Database.

- Determinar URL de objeto
- En la consola de Google Cloud, vaya a Almacenamiento en la nube.
- En el menú de la izquierda, seleccione Cubos y, a continuación, seleccione el cubo de destino que está utilizando.

- En la página Detalles de cubo, busque el objeto. Por ejemplo, el archivo de exportación de Oracle Data Pump que desea importar.
- Cree la URL de objeto público en el formulario.
https://<bucket_name>.storage.googleapis.com/<object_name>Por ejemplo:
- Nombre de cubo:
exadbtest - Nombre de objeto:
emp.dmp - URL de objeto:
https://exadbtest.storage.googleapis.com/emp.dmp

- Nombre de cubo:
- Crear credenciales de acceso a Google Cloud Storage
- Configuración de Oracle Database
- Crear Credencial de Oracle
- Mediante el procedimiento PL/SQL DBMS_CLOUD.CREATE_CREDENTIAL, cree una credencial en la base de datos que almacene la clave de acceso y el secreto de GCS:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => '<Credential_Name>', username => '<GCS_Access_Key>', password => '<GCS_Secret>' ); END; /Por ejemplo:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'GCP_CRED', username => 'GOOGXXXXXXXXXXXX', password => 'xs9njBZ+hykXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' ); END; / - Después de ejecutar el procedimiento PL/SQL, la credencial se almacena y está lista para su uso por parte de DBMS_CLOUD. Para obtener más información sobre los parámetros, consulte CREATE_CREDENTIAL Procedure.
- Mediante el procedimiento PL/SQL DBMS_CLOUD.CREATE_CREDENTIAL, cree una credencial en la base de datos que almacene la clave de acceso y el secreto de GCS:
- Verificar el acceso a Google Cloud Storage
- Para asegurarse de que la base de datos puede acceder a su cubo de Google Cloud Storage, ejecute lo siguiente:
SELECT object_name FROM dbms_cloud.list_objects( credential_name => 'GCP_CRED', uri => 'https://exadbtest.storage.googleapis.com' ); - La salida debe mostrar los objetos, lo que confirma el acceso correcto. Por ejemplo:
OBJECT_NAME -------------------------------------------------------------------------------- emp.dmp employee.csv
- Para asegurarse de que la base de datos puede acceder a su cubo de Google Cloud Storage, ejecute lo siguiente:
- Crear Credencial de Oracle
- Carga de datos
Después de crear la credencial necesaria para Google Cloud Storage, puede cargar o acceder a datos en Oracle Database mediante cualquiera de los siguientes métodos: procedimiento DBMS_CLOUD.COPY_DATA, importación de Oracle Data Pump (impdp), DBMS_CLOUD.CREATE_EXTERNAL_TABLE, DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE, herramienta de carga de Data Studio (IU en la base de datos de Exadata) o DBMS_CLOUD.CREATE_HYBRID_PART_TABLE para tablas particionadas híbridas.
Este paso muestra DBMS_CLOUD.COPY_DATA, así como la importación de Oracle Data Pump (impdp).
- Uso del procedimiento DBMS_CLOUD.COPY_DATA
- Cree una tabla en la base de datos en la que desee cargar los datos.
CREATE TABLE emp (id NUMBER, name VARCHAR2(64)); - Importe datos del cubo de Google Cloud Storage a su base de datos de Exadata.
- Especifique el nombre de tabla y el nombre de credencial de GCP seguido de la URL de objeto de Google Cloud Storage.
- Utilice el procedimiento DBMS_CLOUD.COPY_DATA para cargar datos del cubo de Google Cloud Storage en una tabla. El parámetro
file_uri_listespecifica la ruta de acceso a los archivos en Google Cloud Storage.BEGIN DBMS_CLOUD.COPY_DATA( table_name => 'YOUR_TARGET_TABLE', credential_name => 'GOOGLE_CLOUD_CRED', file_uri_list => 'https://exadbtest.storage.googleapis.com/employee.csv', -- Or a list of files format => json_object('type' value 'CSV', 'skipheaders' value '1') -- Specify file format options ); END; /Para obtener más información sobre los parámetros, consulte COPY_DATA Procedure.
- Una vez que haya importado correctamente los datos de Google Cloud Storage a la base de datos de Exadata, puede ejecutar esta sentencia y verificar los datos de la tabla.
SELECT * FROM emp;
- Cree una tabla en la base de datos en la que desee cargar los datos.
- Importación de datos mediante pump de datos
El comando de importación se puede ejecutar en el cluster de VM o en una máquina virtual externa con acceso autorizado de SQL*Plus a la base de datos de destino.
- Cree un archivo de parámetros
imp_gcp.parcon el siguiente contenido:directory=DATA_PUMP_DIR credential=GCP_CRED schemas=emp remap_tablespace=USERS:DATA dumpfile=https://exadbtest.storage.googleapis.com/emp.dmp - Ejecute la importación desde el cliente o el cluster de VM de Exadata. Asegúrese de que el cliente de Oracle está instalado y de que puede conectarse a la base de datos de Exadata:
impdp userid=ADMIN@demo_db parfile=imp_gcp.par - Una ejecución correcta carga los datos en Oracle Database. Ejemplo de un mensaje de finalización correcta:
Job "SYSTEM"."SYS_IMPORT_SCHEMA_01" successfully completed.
- Cree un archivo de parámetros
- Uso del procedimiento DBMS_CLOUD.COPY_DATA
Esta integración nativa permite a las empresas ejecutar cargas de trabajo de Oracle de alto rendimiento junto con servicios nativos de Google Cloud que utilizan Oracle Exadata Database Service en Oracle AI Database@Google Cloud.
Para obtener más información, consulte los siguientes recursos:- Entorno de Oracle Database
En entornos multinube, al utilizar recursos de varios proveedores de servicios en la nube, se encarga de migrar datos a través de los entornos o mantenerlos en un entorno en la nube mientras accede a ellos desde otro. El paquete PL/SQL DBMS_CLOUD de Oracle Database permite adjuntar y acceder a datos en recursos compartidos de archivos de Google Cloud Filestore o importarlos en Oracle Database. En este tema se proporciona una guía paso a paso sobre el acceso y la importación de datos desde los recursos compartidos de archivos de Google Cloud Filestore en Oracle Database.
Ventajas clave para la migración y los casos de uso del sistema de archivos compartido
- Escalabilidad y servicio gestionado: los niveles de rendimiento y la escala de capacidad predefinidos (hasta 100 TiB) eliminan la necesidad de desplegar y gestionar servidores NFS personalizados.
- Integración de Oracle Database: soporta NFSv3 y NFSv4.1, lo que permite el acceso directo de lectura/escritura para Oracle Data Pump, copias de seguridad de RMAN y almacenamiento provisional de archivos de base de datos.
- Eficiencia de costos: el modelo de capacidad de pago solo por aprovisionamiento es adecuado para cargas de trabajo de migración temporal y evita la sobrecarga de infraestructura autogestionada.
- Alta disponibilidad y fiabilidad: totalmente gestionado con redundancia zonal o regional (hasta un SLA regional del 99,99 % en Filestore Regional), descargando aplicación de parches, failover y mantenimiento.
- Seguridad: el cifrado estático y en tránsito, los controles de acceso basados en VPC, las reglas de firewall y las políticas de exportación protegen los datos durante la migración.
Visión General de la Solución
Esta solución demuestra cómo un recurso compartido de archivos de Google Cloud Filestore se puede utilizar como zona de llegada para copias de seguridad de RMAN, simplificando y estandarizando el proceso de migración de Oracle Database.
La arquitectura ilustra un flujo de trabajo en el que el origen es una instancia de Oracle Database que se ejecuta en Linux u Oracle Exadata Database, y el destino es un entorno de Oracle Database que se ejecuta en la infraestructura de Google Cloud. El recurso compartido de archivos NFS de Filestore está montado y utilizado por los sistemas de base de datos de origen y destino, lo que permite que RMANbackups se escriba una vez y se restaure directamente, sin pasos de transferencia de archivos adicionales. Al aprovechar Google Filestore como almacenamiento compartido, los flujos de trabajo de migración se benefician de un servicio NFS gestionado que admite operaciones de copia de seguridad, restauración y recuperación de RMAN en todos los entornos.

Requisitos
Para completar esta solución se requieren los siguientes prerrequisitos:- Base de datos de origen que se ejecuta en una plataforma de Oracle Database soportada, como Oracle Exadata Database, Oracle Real Application Clusters o una instancia independiente de Oracle Database en Linux.
- Destino Oracle Exadata Database que se ejecuta en Oracle AI Database@Google Cloud
- Recursos compartidos de archivos de Google Cloud Filestore creados y disponibles, con una exportación NFS montada en los hosts de base de datos de origen y destino.
- Conectividad de red establecida entre el entorno de origen y Google Cloud, con reglas de firewall y enrutamiento adecuadas para permitir el tráfico de base de datos y NFS.
Configuración de Google Cloud Filestore
- En la consola de Google Cloud, vaya a Filestore.
- En el menú de la izquierda, seleccione Instancias.
- Seleccione el botón Crear instancia y, a continuación, complete los siguientes pasos secundarios:
- Introduzca un nombre único en el campo ID de instancia de la instancia de Google Cloud Filestore. El ID debe contener letras en minúscula, números y guiones. Debe empezar por una letra.
- El campo Descripción es opcional.
- En la sección Configurar nivel de servicio, seleccione un nivel de servicio adecuado en función de los requisitos de carga de trabajo de migración. En la sección Tipo de instancia, seleccione el tipo de instancia. El tipo de instancia afecta a la capacidad, el rendimiento, la escalabilidad, la durabilidad y el costo.
- Seleccione el tipo de almacenamiento según sus requisitos.

- Después de seleccionar el tipo de almacenamiento, introduzca el valor de capacidad en el campo Capacidad.
Para obtener un mejor rendimiento y un menor costo de red, coloque la instancia en la misma región que las máquinas virtuales que se conectarán a ella. La elección es permanente.
- Seleccione el rango de capacidad que se ajuste a su sistema de archivos.
- Configure el rendimiento en función de la carga de trabajo y la escala.
- Seleccione la región y la zona en la que se creará la instancia de Google Cloud Filestore. Esto debe coincidir con la ubicación de red de los hosts de base de datos que accederán al recurso compartido de archivos.
- En la sección Configurar conexiones, seleccione la red y el rango de direcciones que los clientes utilizarán para acceder a la instancia.
- En la lista desplegable Red de VPC, seleccione la VPC.
- En la sección Rango de IP asignadas, seleccione la opción Usar un rango de IP asignado automáticamente (recomendado). Este rango de IP se utilizará para crear subredes.
- En la sección Configurar el recurso compartido de archivo, introduzca el nombre del recurso compartido de archivo en el campo. La elección es permanente. Puede usar letras en minúsculas, números y caracteres de subrayado. El archivo compartido debe empezar por una letra. Seleccione el control de acceso.

- Las secciones Crear etiquetas y Etiquetas son opcionales.
- Revise la información y seleccione el botón Crear.

- Una vez finalizada la creación, puede revisarla en la lista Instancias.

- Después de crear la instancia de Google Cloud Filestore, el recurso compartido de archivos NFS se puede montar en los hosts de origen y destino de Oracle Database y se puede utilizar como zona de llegada compartida para artefactos de migración, como copias de seguridad de RMAN, exportaciones de Oracle Data Pump y archivos de tablespace transportables.
- En la consola de Google Cloud, vaya a Filestore y seleccione la instancia que ha creado anteriormente.
- Seleccione el separador Visión general y, a continuación, desplácese hasta la sección Punto de montaje NFS. Proporciona el comando de montaje necesario para montar Google Cloud Filestore en la máquina virtual del cliente Linux.

Montaje de un recurso compartido de archivo de Google Cloud Filestore en una instancia de máquina virtual de Compute Engine
- Instalación del software del cliente NFS
- Para instalar las utilidades NFS antes del montaje, ejecute el siguiente comando:
# RHEL / CentOS sudo yum update && sudo yum install nfs-utils
- Para instalar las utilidades NFS antes del montaje, ejecute el siguiente comando:
- Creación de un directorio de montaje local
- Cree un directorio en el cliente donde se montará el recurso compartido Filestore:
sudo mkdir -p /mnt/filestore-share
- Cree un directorio en el cliente donde se montará el recurso compartido Filestore:
- Montaje del recurso compartido de archivos mediante el montaje
Para montar un recurso compartido de archivos NFS, utilice el comando
mount. SustituyaFQDN or IP Address of FileshareyMount Pathpor sus valores. En el siguiente ejemplo, los valores se utilizan desde la sección de punto de montaje NFS del recurso compartido de archivos de Google Cloud Filestoretestfs.Si ha configurado un nombre de dominio completo (FQDN), puede usarlo en lugar de la dirección IP. Consulte la sección Migración a una base de datos de IA autónoma para obtener orientación sobre la creación de un FQDN y la configuración de la resolución de DNS.
- Ejecute el siguiente comando después de actualizar con los valores:
sudo mount -o rw <FQDN or IP Address of Fileshare> <Mount Path>Por ejemplo:sudo mount -o rw 10.210.123.202:/testfs /mnt/filestore-share
Opciones de montaje de NFS recomendadasOpción Finalidad duro Reintenta las solicitudes NFS indefinidamente para obtener fiabilidad. conexión Mejora el rendimiento con varias conexiones NFS paralelas. Nota
Los recursos compartidos del almacén de archivos se desmontan cuando se reinicia la máquina virtual, a menos que configure el montaje automático. - Ejecute el siguiente comando después de actualizar con los valores:
- Verificar el montaje y montaje de los subdirectorios de Google Cloud Filestore File Share
- Para comprobar que el recurso compartido Filestore esté montado, ejecute el siguiente comando:
df -h --type=nfs - Después de montar el recurso compartido base, puede crear y montar subdirectorios:
sudo mkdir -p /mnt/filestore-share/subdir sudo mount IP_ADDRESS:/share_name/subdir /mnt/filestore-share/subdir - Para activar el montaje automático, agregue la entrada de montaje a
/etc/fstab. Para el montaje dinámico, utiliceautofs. Para obtener más información sobre todas las opciones de montaje, consulte la documentación de Mounting Filestore file share.
- Para comprobar que el recurso compartido Filestore esté montado, ejecute el siguiente comando:
Ejecución de Impdp con Filestore
Una vez que haya montado correctamente el recurso compartido de Google Cloud Filestore (o un subdirectorio del mismo) en su cliente de VM en Oracle AI Database@Google Cloud, puede obtener acceso a un sistema de archivos NFS de alto rendimiento y totalmente gestionado. Esta configuración es importante porque la infraestructura de Oracle Exadata es nativa de las mismas regiones de Google Cloud que Google Cloud Filestore, lo que ofrece acceso a archivos de baja latencia y alto rendimiento sin movimiento de datos entre nubes.
El siguiente ejemplo muestra cómo ejecutar un trabajo de importación mediante archivos de volcado almacenados en el recurso compartido de archivos.
- Área temporal para exportaciones/importaciones de pump de datos (migraciones y cargas en bloque)
- Utilice el almacén de archivos montado como ubicación temporal compartida para los archivos de volcado de Oracle Data Pump (.dmp).
- Coloque archivos de exportación grandes de entornos locales u otros entornos directamente en el recurso compartido Filestore. Por ejemplo:
/mnt/filestore-share/datapump/ - Ejecute
impdpdesde los nodos de base de datos de Exadata o las máquinas virtuales de cliente, haciendo referencia a la ruta de montaje local en lugar de a las URL de Google Cloud Storage. - Ejemplo de comando de un cliente montado o un cluster de VM de Oracle Exadata.
impdp system/password@exadata_pdb \ directory=DATA_PUMP_DIR \ dumpfile=/mnt/filestore-share/datapump/sales_export.dmp \ logfile=import.log \ schemas=SALES_APP \ parallel=8
- Ventajas: es más rápido que extraer de Google Cloud Storage para archivos muy grandes; soporta operaciones paralelas; comparte fácilmente entre varias herramientas o equipos de migración. Este enfoque se utiliza comúnmente en las configuraciones de Oracle Zero Downtime Migration para Oracle AI Database@Google Cloud.
Entre otros casos de consumo se incluyen:- Repositorio de archivos compartido para binarios y configuración de aplicaciones
- Tablas externas y objetos de directorio para el acceso a datos basado en archivos
- Copia de seguridad y almacenamiento provisional para RMAN o scripts personalizados
- Archivos de registro, auditoría y diagnóstico compartidos
Mejores prácticas para la configuración- Utilice el montaje automático en
/etc/fstabcon_netdevy las opciones de NFS adecuadas, comorsize=32768,wsize=32768ynconnect=8, para obtener rendimiento. - Para el montaje dinámico, configure
autofspara que se monte bajo demanda. - Supervise el rendimiento de Filestore a través de la consola de Google Cloud (IOPS, rendimiento) y elija el nivel adecuado. Por ejemplo:
- Zonal para baja latencia
- Regional para alta disponibilidad
- Garantice la seguridad: utilice el intercambio de tráfico de VPC si es necesario, los controles de acceso de IAM para Filestore y los permisos de nivel de sistema operativo de Oracle en los puntos de montaje.
- Prueba de failover y alta disponibilidad. Las instancias regionales del almacén de archivos se replican entre zonas.
Conclusión
Google Cloud Filestore ofrece recursos compartidos de archivos NFS escalables y gestionados que se pueden montar en máquinas virtuales de Compute Engine (Linux y Windows) mediante opciones de montaje NFS estándar. Este flujo de trabajo proporciona semántica de sistemas de archivos compartidos similar a los recursos compartidos de NFS utilizados en otros entornos en la nube, con integración en la seguridad y las redes de Google Cloud.
Para obtener más información, consulte los siguientes recursos:Oracle Data Guard soporta la alta disponibilidad y la recuperación ante desastres mediante el mantenimiento de una base de datos en espera sincronizada. Para la migración, puede configurar una base de datos física en espera en el entorno de destino, como un nuevo hardware, una infraestructura en la nube o una versión de base de datos diferente para una actualización. Sincronice la base del datos en espera con la principal y, a continuación, realice una operación de switchover para que la base se convierta en la nueva base del datos principal. Este enfoque reduce el tiempo de inactividad a segundos durante el switchover.
En esta guía se describe una configuración física en espera para la migración basada en prácticas estándar. Asume una configuración de instancia única para simplificar. Para las configuraciones de Oracle Real Application Clusters (RAC), ajuste los pasos según corresponda. Para las actualizaciones, como de 12c a 19c, la base de datos en espera ejecuta una versión de base de datos superior mediante el soporte de versiones mixtas, disponible en 11.2.0.1 y posteriores. Si procede, utilice Zero Downtime Migration (ZDM) para automatizar las migraciones a la nube.
Suposiciones:
- El servidor de origen (principal) y el servidor de destino (en espera) tienen sistemas operativos compatibles y recursos suficientes.
- Oracle Database Enterprise Edition (incluye Oracle Data Guard).
- Las redes básicas, como los firewalls, permiten el puerto 1521 para el listener y el puerto 22 para SSH.
Arquitectura de la Solución

Requisitos
Antes de comenzar, asegúrese de los siguientes requisitos previos:
- Base de datos de origen:
- Ejecute la base de datos en modo
ARCHIVELOG.SELECT log_mode FROM v$database;La consulta devuelveARCHIVELOG. Si la base de datos no se ejecuta en modoARCHIVELOG, active el modoARCHIVELOG. Este cambio requiere tiempo de inactividad:SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN; - Active
FORCE LOGGING.ALTER DATABASE FORCE LOGGING; - Agregar redo logs en espera (un grupo más que los redo logs en línea, del mismo tamaño). Consulte
v$logpara conocer los tamaños y, a continuación, agregue redo logs en espera para cada thread:ALTER DATABASE ADD STANDBY LOGFILE GROUP <n> ('<path>') SIZE <size>; - Configure entradas
tnsnames.orapara la base de datos primaria y la base de datos en espera. - Configurar la copia de seguridad automática del archivo de control de RMAN:
CONFIGURE CONTROLFILE AUTOBACKUP ON; - Para las actualizaciones, asegúrese de que las versiones de la base de datos de origen y destino sean compatibles según la orientación de los Servicios de Soporte Oracle, por ejemplo, el ID de documento 785347.1.
- Ejecute la base de datos en modo
- Servidor de Destino
- Instale los archivos binarios de Oracle. Utilice la misma versión de base de datos o una versión de base de datos superior para una actualización.
- Cree directorios que coincidan con el entorno de origen, por ejemplo:
/u01/oradata,/u01/frapara el área de recuperación rápida. - Configure el acceso basado en claves SSH del origen al destino y del destino al origen para usuarios como
oracle. - Inicie el listener y configure entradas
tnsnames.orapara la base de datos primaria y la base de datos en espera. - Para Zero Downtime Migration (automatización opcional), instale el software ZDM en un host independiente y configure el archivo de respuesta.
- Red
- Configure la interconexión en la nube de Google (dedicada o asociada) o la VPN de sitio a sitio para proporcionar una ruta privada de alto rendimiento para el transporte de redo a la base de datos en espera de GCP.
- Garantice la conectividad de SQL*Net. Pruebe
tnspingentre hosts. - Configure la sincronización de hora. Usar NTP.
- Almacenamiento de copia de seguridad
Si utiliza ZDM o copias de seguridad externas.
- Asegúrese el acceso a Object Storage, NFS o ZDLRA.
- Herramientas (opcional)
- Utilice Oracle AutoUpgrade para las actualizaciones.
- Utilice ZDM para migraciones a la nube. ZDM utiliza Oracle Data Guard automáticamente.
Utilice la siguiente tabla para configurar parámetros de inicialización de claves en la base de datos primaria y propagar estos valores de parámetros a la base de datos en espera.Parámetro Ejemplo de valor Finalidad DB_NAME'orcl'Lo mismo en la base de datos principal y en espera. DB_UNIQUE_NAME'orcl_primary' (primary), 'orcl_standby' (standby)Identificador único para Data Guard. LOG_ARCHIVE_CONFIG'DG_CONFIG=(orcl_primary,orcl_standby)'Activa el envío/recepción de logs. STANDBY_FILE_MANAGEMENT'AUTO'Crea archivos automáticamente en espera. FAL_SERVER'standby_tns'Recuperar servidor de archive log para resolución de huecos. LOG_ARCHIVE_DEST_2'SERVICE=standby_tns ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_standby'Destino de archivo remoto. - Preparar Base de Datos Primaria
- Active las funciones necesarias como SYS:
ALTER DATABASE FORCE LOGGING; ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(<primary_unique_name>,<standby_unique_name>)' SCOPE=BOTH; ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=BOTH; - Agregar redo logs en espera (por ejemplo, para 3 grupos en línea, agregar 4 grupos en espera).
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 4 ('/u01/oradata/standby_redo04.log') SIZE 100M; -- Repeat for additional groups. - Cree una copia de seguridad de la base de datos primaria mediante RMAN (incluir archive logs para la sincronización):
CONNECT TARGET / BACKUP DATABASE FORMAT '/backup/db_%U' PLUS ARCHIVELOG FORMAT '/backup/arc_%U'; BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/backup/standby_ctl.ctl'; - Copie los archivos de copia de seguridad, el archivo de contraseñas (
orapw<sid>) y el archivo de parámetros (init.oraospfile) en el servidor de destino.
- Active las funciones necesarias como SYS:
- Preparación del Servidor de la Base de Datos en Espera
- Instalar el software de Oracle (coincidencia o versión superior para la actualización).
- Cree los directorios necesarios:
mkdir -p /u01/oradata/<db_name>mkdir -p /u01/fra/<DB_UNIQUE_NAME_upper>mkdir -p /u01/app/oracle/admin/<db_name>/adump - Edite el archivo de parámetros copiado en espera:
- Defina
DB_UNIQUE_NAMEen el valor en espera. - Defina
FAL_SERVERen el nombre de TNS principal. - Ajuste las rutas si es necesario. Por ejemplo,
CONTROL_FILES, DB_RECOVERY_FILE_DEST.
- Defina
- Inicie la instancia en espera en
NOMOUNT:CREATE SPFILE FROM PFILE='/path/to/init.ora';STARTUP NOMOUNT;
- Crear la Base de Datos en Espera
- Utilice RMAN para duplicar la base de datos de la base de datos activa:
CONNECT TARGET sys/<password>@primary_tns CONNECT AUXILIARY sys/<password>@standby_tns DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;Alternativa: si utiliza archivos de copia de seguridad, duplique la base de datos para la base de datos en espera desde una ubicación de copia de seguridad:DUPLICATE DATABASE FOR STANDBY BACKUP LOCATION '/backup' NOFILENAMECHECK; - En espera, inicie la recuperación gestionada:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;
- Utilice RMAN para duplicar la base de datos de la base de datos activa:
- Configurar Data Guard
- En primario, defina el registro remoto:
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=<standby_tns> ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=<standby_unique_name>' SCOPE=BOTH;ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH;ALTER SYSTEM SET FAL_SERVER='<standby_tns>' SCOPE=BOTH; - En espera:
ALTER SYSTEM SET FAL_SERVER='<primary_tns>' SCOPE=BOTH; - (Opcional) Active Data Guard Broker para una gestión más sencilla:
- Defina
DG_BROKER_START=TRUEen ambos. - Creación de la configuración:
DGMGRL> CREATE CONFIGURATION dg_config AS PRIMARY DATABASE IS <primary_unique_name> CONNECT IDENTIFIER IS <primary_tns>; - Agregar en espera:
DGMGRL> ADD DATABASE <standby_unique_name> AS CONNECT IDENTIFIER IS <standby_tns>; - Active la configuración:
DGMGRL> ENABLE CONFIGURATION;
- Defina
- En primario, defina el registro remoto:
- Verificar sincronización
- En primaria, fuerce los cambios de log:
ALTER SYSTEM SWITCH LOGFILE; - En espera, compruebe el estado de aplicación:
SELECT PROCESS, STATUS, THREAD#, SEQUENCE# FROM v$managed_standby;Busque
MRP0aplicando logs. - Compruebe si hay huecos:
SELECT * FROM v$archive_gap;La salida no debe devolver ninguna fila.
- Demora del monitor:
SELECT NAME, VALUE FROM v$dataguard_stats WHERE NAME = 'apply lag';
Permita tiempo para la sincronización completa antes de la migración.
- En primaria, fuerce los cambios de log:
- Realizar switchover (traslado de migración)
- Detenga las aplicaciones conectadas a la base de datos principal (el tiempo de inactividad mínimo comienza aquí).
- Verifique que no haya espacios y detenga la recuperación en espera:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; - Uso de Broker (recomendado):
DGMGRL> SWITCHOVER TO <standby_unique_name>;- Alternativa manual:
- En principal:
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN; - En la base de datos principal antigua (ahora en espera):
STARTUP MOUNT; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT; - En la nueva base de datos principal (antigua en espera):
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL PRIMARY WITH SESSION SHUTDOWN; ALTER DATABASE OPEN;
- En principal:
- Alternativa manual:
- Verifique los roles:
SELECT DATABASE_ROLE FROM v$database;El nuevo principal debe ser
PRIMARY. - Redirigir aplicaciones a la nueva principal.
- (Opcional) Retire la base de datos principal antigua o manténgala en espera nueva.
Opcional: Actualización durante la migración
Si migra a una versión de base de datos posterior:
- Instale los binarios de Oracle Database de la versión posterior en el servidor de destino.
- Tras el paso 3, active la base de datos en espera para la actualización:
ALTER DATABASE ACTIVATE STANDBY DATABASE; - Iniciar la base de datos en modo de cambio de versión:
STARTUP UPGRADE; - Utilice AutoUpgrade:
- Cree el archivo de configuración.
- Ejecute el siguiente comando.
java -jar autoupgrade.jar -config <file> -mode upgrade
- Después de la actualización:
- Ejecute el siguiente comando.
datapatch - Abrir Base de Datos.
- Continúe con la base de datos como la nueva base de datos primaria.
- Ejecute el siguiente comando.
Uso de Zero Downtime Migration (ZDM) para la automatización
Para migraciones a la nube, por ejemplo, a Oracle Cloud Infrastructure (OCI):
- Instale ZDM en un host dedicado.
- Cree un archivo de respuesta con parámetros como
MIGRATION_METHOD=ONLINE_PHYSICAL,DATA_TRANSFER_MEDIUM=OSSyTGT_DB_UNIQUE_NAME. - Ejecute lo siguiente en primer lugar con una evaluación y, a continuación, ejecute la migración completa. Realice una pausa después del paso de configuración de Data Guard para la verificación.
zdmcli migrate database -rsp <file> -sourcesid <sid> ... - ZDM automatiza la copia de seguridad, la creación de bases de datos en espera y el switchover.
Consejos para la resolución de problemas
- Errores comunes:
- ORA-01110 (falta de coincidencia de archivos): compruebe las rutas del archivo.
- Demora de aplicación:
- Verifique la conexión de red y aumente el ancho de banda disponible.
- Para obtener más información:
- Revisar el log de alertas y las vistas de rendimiento dinámico de Oracle Data Guard, como
v$dataguard_status
- Revisar el log de alertas y las vistas de rendimiento dinámico de Oracle Data Guard, como
- Pruebe primero el procedimiento en un entorno que no sea de producción.
- Consulte la documentación de Oracle para conocer las diferencias específicas de la versión.
Este proceso admite una migración casi sin tiempo de inactividad.