El disco persistente regional y Hyperdisk Balanced High Availability son opciones de almacenamiento que proporcionan la replicación síncrona de datos entre dos zonas de una región. Puedes usar discos persistentes regionales o Hyperdisk Balanced de alta disponibilidad como punto de partida para implementar servicios de alta disponibilidad (HA) en Compute Engine.
En este documento se explican los distintos casos que pueden interrumpir el funcionamiento de tus discos regionales y cómo puedes gestionarlos.
Antes de empezar
- Consulta los conceptos básicos sobre los discos regionales y la conmutación por error. Para obtener más información, consulta el artículo Acerca de la replicación de discos síncrona.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para migrar datos de discos regionales mediante un punto de control de recuperación de réplica, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:
-
Para migrar datos de discos regionales mediante un punto de control de recuperación de réplica, haz lo siguiente:
Administrador de instancias de Compute (v. 1) (
roles/compute.instanceAdmin.v1
) en el proyecto -
Para ver las métricas de los discos regionales, siga uno de estos pasos:
-
Lector de monitorización (
roles/monitoring.viewer
) en el proyecto -
Editor de monitorización (
roles/monitoring.editor
) en el proyecto
-
Lector de monitorización (
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para migrar datos de discos regionales mediante un punto de control de recuperación de réplica. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Se necesitan los siguientes permisos para migrar datos de discos regionales mediante un punto de control de recuperación de réplica:
-
Para crear una instantánea estándar a partir del punto de control de recuperación de la réplica, sigue estos pasos:
-
compute.snapshots.create
-
compute.disks.createSnapshot
-
-
Para crear un disco regional a partir de la instantánea estándar, sigue estos pasos:
compute.disks.create
-
Para migrar las máquinas virtuales al nuevo disco, sigue estos pasos:
-
compute.instances.attachDisk
-
compute.disks.use permission
-
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Limitaciones
No puedes usar operaciones
force-attach
en discos que estén en modo de escritura múltiple.Situaciones de error
Con los discos regionales, cuando el dispositivo se replica por completo, los datos se replican automáticamente en dos zonas de una región. Una escritura se confirma a una instancia de proceso cuando se persiste de forma duradera en ambas réplicas.
Si la replicación en una zona falla o es muy lenta durante un tiempo, el estado de replicación del disco cambia a degradado. En este modo, la escritura se confirma después de que se haya conservado de forma duradera en una réplica.
Cuando Compute Engine detecta que se puede reanudar la replicación, los datos que se escribieron en una réplica después de que la otra réplica entrara en el estado degradado se sincronizan en ambas zonas y el disco vuelve a un estado totalmente replicado. Esta transición es totalmente automática.
RPO y RTO: no se definen mientras un dispositivo está en un estado degradado. Para minimizar la pérdida de datos y disponibilidad en caso de que falle un disco que esté en un estado degradado, te recomendamos que crees copias de seguridad de tus discos regionales con regularidad mediante instantáneas estándar. Puedes recuperar un disco restaurando la captura.
Errores de zonas
Un disco replicado, o disco regional, se replica de forma síncrona en réplicas de disco en las zonas primaria y secundaria. Los fallos por zonas se producen cuando una réplica de una zona deja de estar disponible. Los fallos zonales pueden producirse en la zona principal o en la secundaria por uno de los siguientes motivos:
- Hay una interrupción zonal.
- La réplica experimenta una lentitud excesiva en las operaciones de escritura.
En la siguiente tabla se muestran los distintos casos de fallo zonales que pueden producirse en los discos regionales y la acción recomendada para cada caso. En cada uno de estos casos, se presupone que tu réplica zonal principal está en buen estado y sincronizada durante el estado inicial.
Estado inicial del disco Error en Nuevo estado del disco Consecuencias de los errores Acción que se debe llevar a cabo Réplica principal: sincronizada
Réplica secundaria: sincronizada
Estado del disco: replicado por completo
Disco conectado en: zona principal
Zona principal Réplica principal: no sincronizada o no disponible
Réplica secundaria: sincronizada
Estado del disco: degradado
Disco conectado en: zona principal
- La réplica de la zona secundaria sigue funcionando correctamente y tiene los datos de disco más recientes.
- La réplica de la zona principal no está en buen estado y no se garantiza que tenga todos los datos del disco.
Conmuta por error el disco vinculándolo por la fuerza a una máquina virtual de la zona secundaria en buen estado. Réplica principal: sincronizada
Réplica secundaria: sincronizada
Estado del disco: replicado por completo
Disco conectado en: zona principal
Zona secundaria Réplica principal: sincronizada
Réplica secundaria: no está sincronizada o no está disponible
Estado del disco: degradado
Disco conectado en: zona principal
- La réplica de la zona primaria sigue funcionando correctamente y tiene los datos de disco más recientes.
- La réplica de la zona secundaria no está en buen estado y no se garantiza que tenga todos los datos del disco.
No es necesario que hagas nada. Compute Engine vuelve a sincronizar la réplica no operativa de la zona secundaria cuando vuelve a estar disponible. Réplica principal: sincronizada
Réplica secundaria: no está sincronizada y no está disponible
Estado del disco: degradado
Disco conectado en: zona principal
Zona principal Réplica principal: sincronizada, pero no disponible
Réplica secundaria: no sincronizada
Estado del disco: no disponible
Disco conectado en: zona principal
- Ambas réplicas zonales no están disponibles y no pueden servir tráfico. El disco deja de estar disponible.
- Si la interrupción zonal o el fallo de la réplica son temporales, no se perderán datos.
- Si la interrupción zonal o el fallo de la réplica es permanente, se perderán de forma permanente todos los datos escritos en la réplica correcta mientras el disco estaba degradado.
Google te recomienda que uses una instantánea estándar y crees un disco para recuperar tus datos. Te recomendamos que crees copias de seguridad de los discos regionales con regularidad mediante capturas estándar. Réplica principal: sincronizada
Réplica secundaria: se está poniendo al día, pero está disponible
Estado del disco: poniéndose al día
Disco conectado en: zona principal
Zona principal Réplica principal: no disponible
Réplica secundaria: se está poniendo al día, pero está disponible
Estado del disco: no disponible
Disco conectado en: zona principal
- Ninguna de las réplicas zonales puede servir tráfico. El disco deja de estar disponible.
- Si la interrupción zonal o el fallo de la réplica es temporal, el disco reanudará las operaciones cuando la réplica principal vuelva a estar disponible.
- Si la interrupción zonal o el fallo de réplica es permanente, el disco dejará de ser utilizable.
- Google te recomienda que uses una copia estándar y crees un disco para recuperar tus datos. Te recomendamos que crees copias de seguridad del disco regional con regularidad mediante capturas estándar.
- Si no tienes ninguna captura estándar del disco, puedes recuperar los datos de la réplica no sincronizada mediante el punto de control de recuperación de réplica.
Réplica principal: sincronizada
Réplica secundaria: no sincronizada, pero disponible
Estado del disco: degradado
Disco conectado en: zona principal
Zona principal Réplica principal: no disponible
Réplica secundaria: no sincronizada, pero disponible
Estado del disco: no disponible
Disco conectado en: zona principal
- Ninguna de las réplicas zonales puede servir tráfico. El disco deja de estar disponible.
- Si la interrupción zonal o el fallo de la réplica es temporal, el disco reanudará las operaciones cuando la réplica principal vuelva a estar disponible.
- Si la interrupción zonal o el fallo de réplica es permanente, el disco dejará de poder usarse.
- Google te recomienda que uses una copia de seguridad estándar y crees un disco para recuperar tus datos. Te recomendamos que crees copias de seguridad del disco regional con regularidad mediante capturas estándar.
- Si no tienes ninguna captura estándar del disco, puedes recuperar tus datos de la réplica no sincronizada mediante el punto de control de recuperación de réplicas.
Fallos de aplicaciones y VMs
Si se producen interrupciones debido a una configuración incorrecta de la VM, a un error al actualizar el SO o a otros fallos de la aplicación, puedes
force-attach
tu disco regional a una instancia de Compute de la misma zona que la réplica correcta.Categoría de fallo y (probabilidad) Tipos de errores Acción Fallo de la aplicación (alto) - Aplicaciones que no responden
- Fallo debido a acciones administrativas de la aplicación (por ejemplo, una actualización)
- Error humano (por ejemplo, configuración incorrecta de parámetros como el certificado SSL o las ACLs)
El plano de control de la aplicación puede activar la conmutación por error en función de los umbrales de la comprobación del estado. Fallo de la VM (medio) - Fallo de la infraestructura o del hardware
- La VM no responde debido a una contención de CPU o a una interrupción de red intermedia
Las máquinas virtuales suelen repararse automáticamente. El plano de control de la aplicación puede activar la conmutación por error en función de los umbrales de comprobación del estado. Corrupción de la aplicación (baja o media) Datos de aplicación dañados
(por ejemplo, debido a errores de la aplicación o a una actualización del SO fallida)Recuperación de aplicaciones:
- Prueba las herramientas de recuperación específicas de la aplicación, si están disponibles. Por ejemplo, corrupción de la página de la base de datos MySQL.
- Restaurar desde el archivo de replicación lógica. Por ejemplo, una réplica de lectura o un archivo de registro lógico, como el archivado continuo de PostgreSQL.
Conmutar por error un disco regional mediante
force-attach
Si falla la zona principal, puedes conmutar por error tu disco persistente regional o tu volumen de alta disponibilidad de Hyperdisk Balanced a una instancia de computación de otra zona mediante una operación de acoplamiento forzado.
Si se produce un fallo en la zona principal, es posible que no puedas separar el disco de la instancia porque no se puede acceder a la instancia para realizar la operación de separación. La opción Vinculación forzosa te permite vincular un disco persistente regional o un volumen de Hyperdisk Balanced High Availability a una instancia de proceso aunque ese volumen esté vinculado a otra instancia.
Una vez que hayas completado la operación de asociación forzada, Compute Engine impedirá que la instancia original escriba en el disco regional. La operación force-attach te permite recuperar el acceso a tus datos y tu servicio de forma segura. También puedes apagar manualmente la instancia de VM después de realizar la operación de acoplamiento forzado.
Para acoplar un disco a una instancia de proceso, selecciona una de las siguientes tareas:
Consola
Ve a la página Instancias de VM.
Selecciona el proyecto.
Haga clic en el nombre de la instancia que quiera cambiar.
En la página de detalles, haz clic en Editar.
En la sección Discos adicionales, haz clic en Adjuntar disco adicional.
Seleccione el disco replicado regional o síncronamente en la lista desplegable.
Para forzar la vinculación del disco, marca la casilla Forzar vinculación del disco.
Haz clic en Hecho y, a continuación, en Guardar.
Puedes seguir los mismos pasos para
force-attach
un disco a la instancia de computación original una vez que se haya resuelto el fallo.gcloud
En la interfaz de línea de comandos gcloud, usa el comando
instances attach-disk
para adjuntar el disco de réplica a una instancia de proceso. Incluye la marca--disk-scope
y asígnale el valorregional
.gcloud compute instances attach-disk VM_NAME \ --disk DISK_NAME --disk-scope regional \ --force-attach
Haz los cambios siguientes:
VM_NAME
: el nombre de la nueva instancia de proceso en la regiónDISK_NAME
: el nombre del disco regional
Después de
force-attach
el disco, monta los sistemas de archivos en el disco, si es necesario. La instancia de proceso puede usar el disco adjuntado por la fuerza para seguir leyendo y escribiendo datos en el disco.REST
Crea una solicitud
POST
al métodocompute.instances.attachDisk
e incluye la URL del disco regional que acabas de crear. Para adjuntar el disco a la nueva instancia de proceso, se necesita el parámetro de consultaforceAttach=true
si la instancia de proceso principal aún tiene el disco adjunto.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk?forceAttach=true { "source": "projects/PROJECT_ID/regions/REGION/disks/DISK_NAME" }
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyectoZONE
: la ubicación de tu instancia de computaciónVM_NAME
: el nombre de la instancia de proceso en la que vas a añadir el disco regionalREGION
: la región en la que se encuentra tu disco regionalDISK_NAME
: el nombre del disco regional
Después de adjuntar el disco regional, monta los sistemas de archivos en los discos si es necesario. La instancia de proceso puede usar el disco de réplica para seguir leyendo y escribiendo en el disco.
Conmutar por error un disco de arranque a una instancia secundaria
Solo puedes tener un disco de arranque conectado a una instancia de proceso. Cuando se produce una conmutación por error de un disco de arranque regional, utiliza uno de los siguientes métodos, en función de si la instancia de Compute secundaria ya existe:
Si no tienes una VM de espera activa, crea una instancia en la zona secundaria. Cuando crees la segunda instancia, usa el disco regional como disco de arranque, tal como se describe en Crear una máquina virtual con un disco de arranque regional.
Si tienes una máquina virtual de reserva en la zona secundaria, sustituye el disco de arranque de la máquina virtual de reserva por el disco de arranque regional, tal como se describe en el artículo Adjuntar un disco de arranque regional a una máquina virtual.
Usar un punto de control de recuperación de réplicas para recuperar discos regionales
Un punto de control de recuperación de réplica representa el punto más reciente en el tiempo de un volumen dePersistent Disk regional o de Hyperdisk Balanced High Availability totalmente replicado y coherente en caso de fallo. Compute Engine te permite crear instantáneas estándar a partir del punto de control de recuperación de réplicas de discos regionales degradados.
En casos excepcionales, cuando tu disco está degradado, la réplica zonal que está sincronizada con los datos más recientes del disco también puede fallar antes de que la réplica no sincronizada se ponga al día. No podrás asociar tu disco a la fuerza a instancias de Compute en ninguna de las zonas. El disco replicado deja de estar disponible y debes migrar los datos a un disco nuevo. En estos casos, si no tienes ninguna instantánea estándar disponible para tu disco, es posible que puedas recuperar los datos del disco a partir de la réplica incompleta usando una instantánea estándar creada a partir del punto de control de recuperación de la réplica. Para ver los pasos detallados, consulta Procedimiento para migrar y recuperar datos de disco.
Procedimiento para migrar y recuperar datos de disco
Para recuperar y migrar los datos de un disco regional mediante el punto de control de recuperación de réplica, sigue estos pasos:
Crea una captura estándar del Persistent Disk regional o del volumen de Hyperdisk Balanced High Availability afectados a partir de su punto de control de recuperación de réplica.
Puedes crear una instantánea estándar de un disco a partir de su punto de control de recuperación de réplica usando solo la CLI de gcloud o REST.
gcloud
Para crear una instantánea mediante el punto de control de recuperación de réplica, usa el comando
gcloud compute snapshots create
. Incluye la marca--source-disk-for-recovery-checkpoint
para especificar que quieres crear la instantánea con un punto de control de recuperación de réplica. Excluye los parámetros--source-disk
y--source-disk-region
.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-for-recovery-checkpoint=SOURCE_DISK \ --source-disk-for-recovery-checkpoint-region=SOURCE_REGION \ --storage-location=STORAGE_LOCATION \ --snapshot-type=SNAPSHOT_TYPE
Haz los cambios siguientes:
DESTINATION_PROJECT_ID
: el ID del proyecto en el que quieres crear la captura.SNAPSHOT_NAME
: nombre de la captura.SOURCE_DISK
: nombre o ruta completa del disco de origen que quieras usar para crear la instantánea. Para especificar la ruta completa de un disco de origen, usa la siguiente sintaxis:projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME
Si especificas la ruta completa del disco de origen, puedes excluir la marca
--source-disk-for-recovery-checkpoint-region
. Si solo especificas el nombre del disco, debes incluir esta marca.Para crear una captura a partir del punto de control de recuperación de un disco de origen de otro proyecto, debes especificar la ruta completa del disco de origen.
SOURCE_PROJECT_ID
: ID del proyecto del disco de origen cuya marca quieres usar para crear la instantánea.SOURCE_REGION
: la región del disco de origen cuyo punto de control quieras usar para crear la instantánea.SOURCE_DISK_NAME
: nombre del disco de origen cuyo punto de control quieras usar para crear la instantánea.STORAGE_LOCATION
: Opcional: La multirregión de Cloud Storage o la región de Cloud Storage en la que quieras almacenar tu captura. Solo puedes especificar una ubicación de almacenamiento.
Usa la marca--storage-location
solo si quieres anular la ubicación de almacenamiento predefinida o personalizada configurada en los ajustes de tu instantánea.SNAPSHOT_TYPE
: el tipo de instantánea, STANDARD o ARCHIVE. Si no se especifica ningún tipo de captura, se crea una captura STANDARD.
Puedes usar el punto de control de recuperación de réplicas para crear una captura solo en discos degradados. Si intentas crear una instantánea a partir de un punto de control de recuperación de réplica cuando el dispositivo se ha replicado por completo, verás el siguiente mensaje de error:
The device is fully replicated and should not create snapshots out of a recovery checkpoint. Please create regular snapshots instead.
REST
Para crear una instantánea mediante el punto de control de recuperación de réplica, envía una solicitud
POST
al métodosnapshots.insert
de . Excluya el parámetrosourceDisk
e incluya el parámetrosourceDiskForRecoveryCheckpoint
para especificar que quiere crear la instantánea usando el punto de control.POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDiskForRecoveryCheckpoint": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "storageLocations": "STORAGE_LOCATION", "snapshotType": "SNAPSHOT_TYPE" }
Haz los cambios siguientes:
DESTINATION_PROJECT_ID
: el ID del proyecto en el que quieres crear la captura.SNAPSHOT_NAME
: nombre de la captura.SOURCE_DISK
: nombre o ruta completa del disco de origen que quieras usar para crear la instantánea. Para especificar la ruta completa de un disco de origen, usa la siguiente sintaxis:projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME
Si especificas la ruta completa del disco de origen, puedes excluir la marca
--source-disk-for-recovery-checkpoint-region
. Si solo especificas el nombre del disco, debes incluir esta marca.Para crear una captura a partir del punto de control de recuperación de un disco de origen de otro proyecto, debes especificar la ruta completa del disco de origen.
SOURCE_PROJECT_ID
: ID del proyecto del disco de origen cuya marca quieres usar para crear la instantánea.SOURCE_REGION
: la región del disco de origen cuyo punto de control quieras usar para crear la instantánea.SOURCE_DISK_NAME
: nombre del disco de origen cuyo punto de control quieras usar para crear la instantánea.STORAGE_LOCATION
: Opcional: La multirregión de Cloud Storage o la región de Cloud Storage en la que quieras almacenar tu captura. Solo puedes especificar una ubicación de almacenamiento.
Usa el parámetrostorageLocations
solo si quieres anular la ubicación de almacenamiento predeterminada predefinida o personalizada que hayas configurado en los ajustes de la instantánea.SNAPSHOT_TYPE
: el tipo de instantánea, STANDARD o ARCHIVE. Si no se especifica ningún tipo de captura, se crea una captura STANDARD.
Puedes usar el punto de control de recuperación de réplicas para crear una captura solo en discos degradados. Si intentas crear una instantánea a partir de un punto de control de recuperación de réplica cuando el dispositivo se ha replicado por completo, verás el siguiente mensaje de error:
The device is fully replicated and should not create snapshots out of a recovery checkpoint. Please create regular snapshots instead.
Crea un nuevo disco persistente regional o un disco Hyperdisk Balanced High Availability a partir de esta captura. Cuando creas el nuevo disco, recuperas todos los datos del punto de control de recuperación de réplica más reciente restaurando los datos en el nuevo disco a partir de la instantánea. Para ver los pasos detallados, consulta Crear una instancia con un disco de arranque regional.
Migra todas las cargas de trabajo de las VMs al disco recién creado y comprueba que funcionen correctamente. Para obtener más información, consulta Mover una VM entre zonas o regiones.
Después de recuperar y migrar los datos de tu disco y tus VMs al disco de alta disponibilidad equilibrado de Persistent Disk regional o Hyperdisk que hayas creado, podrás reanudar tus operaciones.
Determinar el RPO proporcionado por el punto de control de recuperación de réplicas
En esta sección se explica cómo determinar el RPO proporcionado por el último punto de control de recuperación de réplica de un disco persistente regional o un volumen de Hyperdisk Balanced High Availability.
Las réplicas zonales están totalmente sincronizadas
Compute Engine actualiza el punto de control de recuperación de réplica de tudisco persistente regional ovolumen de Hyperdisk Balanced High Availability aproximadamente cada 15 minutos. Por lo tanto, cuando las réplicas zonales estén totalmente sincronizadas, el RPO será de aproximadamente 15 minutos.
Las réplicas zonales no están sincronizadas
No puedes ver las marcas de tiempo exactas de creación y actualización de un punto de control de recuperación de réplica. Sin embargo, puedes estimar el RPO aproximado que proporciona tu último punto de control con los siguientes datos:
- Marca de tiempo más reciente del estado del disco totalmente replicado: puede obtener esta información mediante los datos de Cloud Monitoring de la métrica
replica_state
del disco regional. Consulta los datos de la métricareplica_state
de la réplica no sincronizada para determinar cuándo dejó de estar sincronizada. Como Compute Engine actualiza el punto de control del disco cada 15 minutos, la actualización más reciente del punto de control podría haberse producido aproximadamente 15 minutos antes de esta marca de tiempo. - Marca de tiempo de la operación de escritura más reciente: puedes obtener esta información mediante los datos de Cloud Monitoring de la métrica
write_ops_count
del disco regional. Consulta los datos de la métricawrite_ops_count
para determinar la operación de escritura más reciente del disco.
Una vez que hayas determinado estas marcas de tiempo, usa la siguiente fórmula para calcular el RPO aproximado que proporciona el punto de control de recuperación de réplica de tu disco. Si el valor calculado es inferior a cero, el RPO es cero.
Approximate RPO provided by the latest checkpoint = (Most recent write operation timestamp - (Most recent timestamp of the fully replicated disk state - 15 minutes))
Siguientes pasos
- Consulta cómo monitorizar los estados de las réplicas y el estado de la replicación de los discos regionales.
- Consulta cómo determinar el estado exacto de la replicación de discos.
- Consulta cómo crear una instantánea de un disco.
- Consulta cómo crear servicios de alta disponibilidad con discos regionales.
- Consulta cómo crear aplicaciones web escalables y resilientes en Google Cloud.
- Consulta la guía de planificación para la recuperación tras fallos.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-