En esta guía, se muestra cómo realizar operaciones de copia de seguridad y recuperación para SAP HANA mediante la función de instantánea de disco del agente de Google Cloud para SAP.
Si deseas obtener información sobre esta función, consulta Copia de seguridad y recuperación basadas en instantáneas de disco para SAP HANA.
Antes de comenzar
- Valida la instalación del agente de Google Cloud para SAP Si deseas obtener instrucciones, consulta Instala y configura el agente de Google Cloud para SAP en una instancia de VM de Compute Engine.
- Valida que tu sistema SAP HANA se implemente en una instancia de VM de Compute Engine de la siguiente manera:
- No se implementa en una arquitectura de escalamiento horizontal. Para obtener más información, consulta Usa instantáneas con implementaciones de escalamiento horizontal.
- Usa un sistema operativo (SO) certificado por SAP. Para obtener más información, consulta Compatibilidad del SO con SAP HANA en Google Cloud
- El volumen
/hana/data
se aloja de forma independiente en un volumen de Persistent Disk o Hyperdisk basado en SSD sin fragmentación. Este disco no debe alojar ningún otro volumen de SAP HANA. Como se describe en la Nota de SAP2039883: Preguntas frecuentes: Base de datos de SAP HANA e instantáneas de datos (instantáneas de almacenamiento), para poder recuperar la base de datos de SAP HANA, la instantánea de almacenamiento no debe incluir el área de registro de la base de datos. - El volumen
/hana/data
se asigna a un volumen lógico. Esto permite que el agente maneje de forma correcta el punto de activación durante las operaciones de copia de seguridad o recuperación basadas en instantáneas de disco. - La infraestructura subyacente no se implementa con herramientas de infraestructura como código (IaC), como Terraform. Para obtener más información, consulta Usa instantáneas con implementaciones basadas en herramientas de IaC.
Configurar permisos
Si deseas usar el agente de Google Cloud para SAP para realizar copias de seguridad y recuperación basadas en instantáneas de disco para tu sistema SAP HANA, debes configurar los siguientes permisos:
- Para crear instantáneas de discos, habilita los siguientes permisos de IAM:
- Para el proyecto de Google Cloud en el que se ejecuta el sistema SAP HANA, habilita el permiso
compute.snapshots.create
. - En la cuenta de servicio que usa la instancia de VM de Compute Engine, habilita los siguientes permisos:
compute.disks.createSnapshot
,compute.snapshot.list
ycompute.disk.list
.
- Para el proyecto de Google Cloud en el que se ejecuta el sistema SAP HANA, habilita el permiso
- Para crear copias de seguridad basadas en instantáneas de disco, el usuario de la base de datos de SAP HANA que usa el agente debe tener el privilegio
BACKUP OPERATOR
oBACKUP ADMIN
. Para obtener más información, consulta el documento de SAP Autorizaciones necesarias para la copia de seguridad y la recuperación. Para realizar las operaciones de copia de seguridad y recuperación, el usuario del sistema operativo que ejecuta los comandos del agente debe ser el usuario
root
o tener el accesosudo
para ejecutar los siguientes comandos. También puedes proporcionar accesosudo
si creas un grupo en tu directorio/etc/sudoers.d
, por ejemplo:%sapagent_snapshot_sudoers ALL=(ALL:ALL) NOPASSWD:/sbin/lvdisplay, /sbin/vgscan, /sbin/dmsetup, /sbin/lvscan, /usr/sbin/xfs_freeze, /usr/bin/google_cloud_sap_agent
Crea una copia de seguridad basada en una instantánea de disco
-
Si deseas crear una copia de seguridad basada en instantáneas de disco para el volumen
/hana/data
de tu base de datos de SAP HANA, ejecuta el comandohanadiskbackup
del agente de Google Cloud para SAP:sudo /usr/bin/google_cloud_sap_agent hanadiskbackup \ -project=DESTINATION_PROJECT_ID \ -host=HANA_HOST_ADDRESS \ -port=HANA_PORT_NUMBER \ -sid=SID \ -hana-db-user=HANA_USERNAME \ -password-secret=HANA_USER_PWD_SECRET_NAME \ -hdbuserstore-key=HDB_USERSTORE_KEY \ [-source-disk=SOURCE_DISK_NAME \ -source-disk-zone=SOURCE_DISK_ZONE]
Reemplaza lo siguiente:
DESTINATION_PROJECT_ID
: el ID del proyecto de Google Cloud en el que deseas crear la instantánea de disco.HANA_HOST_ADDRESS
: el nombre de host o la dirección IP de la instancia de VM de Compute Engine que aloja tu base de datos de SAP HANAEn un sistema de alta disponibilidad (HA), especifica el nombre de host o la dirección IP del host local en el nodo principal de SAP HANA. No uses la IP virtual (VIP) que se usa en el clúster para identificar el nodo principal. En una implementación de recuperación ante desastres (DR), especifica el nombre de host o la dirección IP del host local en la instancia principal de SAP HANA.
HANA_PORT_NUMBER
: el puerto de SAP HANA que acepta las solicitudes de copia de seguridad y recuperaciónSID
: el identificador del sistema SAP (SID) del sistema SAP HANAHANA_USERNAME
: el nombre de usuario de la base de datos de SAP HANA con el que deseas crear la copia de seguridadHANA_USER_PWD_SECRET_NAME
: Si usas Secret Manager para almacenar la contraseña de usuario de la base de datos de SAP HANA, especifica el nombre del secreto correspondiente.HDB_USERSTORE_KEY
: si creaste una clavehdbuserstore
para autenticar el usuario de SAP HANA especificado, especifica esa claveSOURCE_DISK_NAME
: el nombre del volumen de Persistent Disk o de Hyperdisk que aloja el volumen/hana/data
SOURCE_DISK_ZONE
: Es el nombre de la zona en la que se implementa el disco que aloja el volumen/hana/data
.
En la siguiente tabla, se describen los argumentos que admite el comando
hanadiskbackup
:Argumento Descripción -port
Especifica el puerto de SAP HANA que acepta las solicitudes de copia de seguridad y recuperación. -sid
Especifica el identificador del sistema SAP (SID) del sistema SAP HANA. -hana-db-user
Especifica el nombre de usuario de la base de datos de SAP HANA con el que deseas crear la copia de seguridad.
Si especificas
-hdbuserstore-key
, puedes omitir la especificación del argumento-hana-db-user
.-password
Especifica la contraseña del usuario de la base de datos de SAP HANA que usas para crear la copia de seguridad.
No especifiques este argumento si usas el argumento
-password-secret
o-hdbuserstore-key
. Te recomendamos que utilices cualquiera de ellas en lugar de-password
.-password-secret
Opcional. Si usas Secret Manager para almacenar la contraseña de usuario de la base de datos de SAP HANA, especifica el nombre del secreto correspondiente.
En Secret Manager, asegúrate de que el valor Secret, que es la contraseña, contenga al menos 8 caracteres e incluya al menos una letra mayúscula, una letra minúscula y un número.
No especifiques este argumento si usas el argumento
-password
.-hdbuserstore-key
Para conectarte de forma segura a un sistema SAP HANA, especifica una clave de almacenamiento seguro de usuario (
hdbuserstore
) que hayas creado para ese sistema.Para usar una clave
hdbuserstore
para la autenticación, asegúrate de lo siguiente:- Las herramientas de SAP
hdbsql
yhdduserstore
se instalan en la instancia de procesamiento que aloja el agente. - La clave
hdbuserstore
corresponde a una instancia específica de SAP HANA. No puedes usar claves que contengan nombres de host de varias instancias de SAP HANA.
Si especificas
-hdbuserstore-key
, puedes omitir la especificación de los argumentos-host
,-port
y-hana-db-user
.-host
Opcional. Especifica la dirección IP de la instancia de VM de Compute Engine que aloja el sistema SAP HANA. El valor predeterminado es localhost
.-project
Opcional. Especifica el ID del proyecto de Google Cloud en el que deseas crear la instantánea de disco. De forma predeterminada, la instantánea se crea en el proyecto de Google Cloud en el que se ejecuta el sistema SAP HANA. -abandon-prepared
Opcional. Especifica si se debe ignorar o no cualquier instantánea de disco existente. El valor predeterminado es false
.-snapshot-name
Opcional. Especifica el nombre de la instantánea de disco que crearás.
De forma predeterminada, la instantánea tiene un nombre en el siguiente formato:
snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS
.-source-disk
Especifica el nombre del volumen de Persistent Disk o de Hyperdisk que aloja el volumen /hana/data
.-source-disk-zone
Especifica la zona en la que existe el disco que aloja el volumen /hana/data
.-source-disk-key-file
Opcional. Si el disco que aloja el volumen /hana/data
está encriptado por una clave de encriptación unida con RSA proporcionada por el cliente, especifica la ruta de acceso absoluta al archivo JSON de esa clave.Este argumento es compatible con la versión 3.2 del agente.
-storage-location
Opcional. Especifica la multirregión de Cloud Storage o la región de Cloud Storage en la que quieres almacenar la instantánea del disco. -snapshot-description
Opcional. Especifica una descripción para la instantánea del disco. -labels
Opcional. Especifica uno o más pares etiqueta-valor que desees asociar con la instantánea de disco que estás creando. Por ejemplo: -labels="label1=value1,label2=value2"
.-send-metrics-to-monitoring
Opcional. Especifica si el estado de ejecución de la creación de la instantánea se envía a Cloud Monitoring. El valor predeterminado es TRUE
.-loglevel
Opcional. Especifica el nivel de registro para la operación de creación de la instantánea. El nivel de registro predeterminado es info
. Los niveles de registro disponibles sondebug
,info
,warn
yerror
.-confirm-data-snapshot-after-create
Opcional. Si deseas confirmar la creación de la instantánea en SAP HANA inmediatamente después de crearla, pero sin confirmar que se subió al bucket de Cloud Storage especificado para el argumento
-storage-location
, entonces especifica el valorTRUE
.El valor predeterminado es
FALSE
, que hace que el agente confirme la creación de la instantánea después de completar las operacionesCREATE
yUPLOAD
.Este argumento es compatible con la versión 3.4 del agente.
Verifica la instantánea del disco
Puedes verificar que la instantánea del disco se cree mediante las siguientes opciones:
En la consola de Google Cloud, ve a la página Instantáneas de Compute Engine y, luego, filtra las entradas con el nombre del disco o de la instantánea.
Como alternativa, también puedes ver los detalles de la instantánea de disco en el siguiente archivo de registro del agente de Google Cloud para SAP:
/var/log/google-cloud-sap-agent/hanadiskbackup.log
Revisa el catálogo de copias de seguridad de SAP HANA
Además de crear la instantánea de disco, el comando hanadiskbackup
crea una entrada para la instantánea en tu catálogo de copias de seguridad de SAP HANA. La siguiente es una consulta de SQL de ejemplo para ver las entradas de instantáneas de disco en el catálogo de copias de seguridad de SAP HANA:
SELECT BACKUP_ID, STATE_NAME, COMMENT FROM M_BACKUP_CATALOG WHERE ENTRY_TYPE_NAME = 'data snapshot'
El resultado es similar al siguiente ejemplo.
BACKUP_ID,STATE_NAME,COMMENT BACKUP_ID,"successful","snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMMSS"
En esta salida, se incluyen los siguientes valores:
BACKUP_ID
: El ID de la copia de seguridad asignado a la instantánea de disco en tu catálogo de copias de seguridad de SAP HANASOURCE_DISK_NAME
: Es el nombre del disco que aloja el volumen/hana/data
para el que creaste una instantánea.YYYYMMDD-HHMMMSS
: La fecha y hora en la que se creó la implementación.
Realiza la recuperación mediante una instantánea del disco
Si deseas realizar la recuperación basada en instantáneas del disco mediante el agente de Google Cloud para SAP, consulta las instrucciones de tu situación:
- Recupera la base de datos para un sistema de escalamiento vertical
- Recupera la base de datos para un sistema de alta disponibilidad de escalamiento vertical
- Recupera la base de datos para una implementación de DR de escalamiento vertical
- Realiza una copia del sistema o una actualización del sistema
Recupera la base de datos para un sistema de escalamiento vertical
Para recuperar la base de datos de un sistema de escalamiento vertical de SAP HANA implementado en Google Cloud, completa los siguientes pasos:
Recupera el disco que aloja el volumen
/hana/data
mediante la ejecución del comandohanadiskrestore
del agente:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -source-snapshot=SOURCE_SNAPSHOT_NAME \ -data-disk-name=SOURCE_DISK_NAME \ -data-disk-zone=SOURCE_DISK_ZONE \ -new-disk-type=NEW_DISK_TYPE \ -new-disk-name=NEW_DISK_NAME
Reemplaza lo siguiente:
SOURCE_PROJECT_ID
: el ID del proyecto de Google Cloud en el que existe la instantánea de disco.SID
: el identificador del sistema SAP (SID) del sistema SAP HANASOURCE_SNAPSHOT_NAME
: el nombre de la instantánea del disco con la que crearás el disco nuevo.SOURCE_DISK_NAME
: el nombre del disco de origen que aloja el volumen/hana/data
.SOURCE_DISK_ZONE
: el nombre de la zona en la que se implementa el disco de origen.
Para obtener información sobre los argumentos que puedes usar con el comando
hanadiskrestore
, consulta Argumentos admitidos para el restablecimiento del disco.Recupera tu base de datos de SAP HANA con la opción requerida:
Recupera en el tiempo de la instantánea
Para recuperar la base de datos de SAP HANA mediante su restablecimiento a la hora en que se creó la instantánea de disco, sigue estos pasos:
- Cambia al usuario
SIDadm
.su - SID_LCadm
Reemplaza
SID_LC
por el SID de tu sistema SAP HANA. Usa minúsculas para las letras. - Recupera la base de datos del sistema mediante la ejecución del siguiente comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Conéctate a la base de datos del sistema. Por ejemplo, puedes ejecutar el siguiente comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Reemplaza lo siguiente:
SYSTEM_DB_PASSWORD
: la contraseña de la base de datos del sistema.INSTANCE_NUMBER
: el número de instancia de SAP HANA.
- Recupera las bases de datos de usuarios mediante la ejecución del siguiente comando para cada base de datos de usuario:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Reemplaza
TENANT_SID
por el SID de la base de datos del usuario.
Recupera a un momento específico
Para recuperar la base de datos de SAP HANA mediante su restablecimiento a un momento específico, sigue estos pasos:
- Verifica que hayas creado una copia de seguridad para el volumen
/hana/log
en Cloud Storage mediante la función Backint del agente de Google Cloud para SAP. Para obtener más información sobre esta función, consulta Copia de seguridad y recuperación basada en Backint para SAP HANA. - Cambia al usuario
SIDadm
.su - SID_LCadm
Reemplaza
SID_LC
por el SID de tu sistema SAP HANA. Usa minúsculas para las letras. - Recupera la base de datos del sistema mediante la ejecución del siguiente comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Conéctate a la base de datos del sistema. Por ejemplo, puedes ejecutar el siguiente comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Reemplaza lo siguiente:
SYSTEM_DB_PASSWORD
: la contraseña de la base de datos del sistema.INSTANCE_NUMBER
: el número de instancia de SAP HANA.
- Recupera las bases de datos de usuario mediante la ejecución del siguiente comando para cada base de datos de usuario:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Reemplaza
TENANT_SID
por el SID de la base de datos del usuario.
- Cambia al usuario
Argumentos compatibles para el restablecimiento del disco
En la siguiente tabla, se describen los argumentos que admite el comando hanadiskrestore
del agente:
Argumento | Descripción |
---|---|
-sid |
Especifica el identificador del sistema SAP (SID) del sistema SAP HANA. |
-data-disk-name |
Opcional. Especifica el nombre del disco de origen que aloja el volumen /hana/data .
|
-data-disk-zone |
Opcional. Especifica la zona en la que se implementa el disco de origen que aloja el volumen /hana/data .
|
-source-snapshot |
Especifica el nombre de la instantánea del disco con la que deseas recuperar el disco que aloja tu volumen de datos de SAP HANA. |
-new-disk-name |
Especifica el nombre que deseas configurar para el disco nuevo. |
-project |
Opcional. Especifica el ID del proyecto de Google Cloud en el que existe la instantánea del disco de origen. De forma predeterminada, la instantánea se crea en el proyecto de Google Cloud en el que se ejecuta el sistema SAP HANA. |
-csek-key-file |
Opcional. Si encriptaste la instantánea del disco de origen con el argumento -source-disk-key-file con el comando hanadiskbackup , especifica la ruta de acceso absoluta al archivo JSON de la clave de encriptación unida con RSA proporcionada por el cliente que corresponde a la instantánea del disco de origen. El siguiente es un archivo de claves de ejemplo: [ { "uri": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME", "key": "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFHz0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoDD6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oeQ5lAbtt7bYAAHf5l+gJWw3sUfs0/Glw5fpdjT8Uggrr+RMZezGrltJEF293rvTIjWOEB3z5OHyHwQkvdrPDFcTqsLfh+8Hr8g+mf+7zVPEC8nEbqpdl3GPv3A7AwpFp7MA==", "key-type": "rsa-encrypted" } ] Este argumento es compatible con la versión 3.2 del agente. |
-new-disk-type |
Opcional. Especifica el tipo de Persistent Disk o Hyperdisk que deseas crear. De forma predeterminada, el disco nuevo es del mismo tipo que el de origen. Asegúrate de especificar un tipo de disco basado en SSD que esté certificado por SAP para usarse con SAP HANA. Para obtener más información, consulta los tipos de disco compatibles. |
-hana-sidadm |
Opcional. Especifica SIDadm : el usuario del sistema operativo del sistema SAP HANA. |
-force-stop-hana |
Opcional. Si deseas detener SAP HANA de manera forzosa antes de iniciar la operación de recuperación, especifica este argumento y establece su valor en true . El valor predeterminado es false . |
-provisioned-iops |
Opcional. Si creas un volumen de Hyperdisk, especifica las IOPS (operaciones de entrada y salida por segundo) que debe controlar. |
-provisioned-throughput |
Opcional. Si creas un volumen de Hyperdisk, especifica la capacidad de procesamiento que debe admitir. |
-labels-on-detached-disk |
Opcional. Si creas un nuevo disco para alojar el directorio
Este argumento es compatible con la versión 3.4 del agente. |
-send-metrics-to-monitoring |
Opcional. Especifica si la duración del
restablecimiento de la instantánea
se envía a Cloud Monitoring. El valor predeterminado es Este argumento es compatible con la versión 3.4 del agente. |
-disk-size-gb |
Opcional. Especifica el tamaño del disco nuevo, expresado en GB. De forma predeterminada, el disco nuevo es del mismo tamaño que el existente. El disco nuevo no debe ser menor que el existente. |
-loglevel |
Opcional. Especifica el nivel de registro para todas las acciones realizadas por el comando hanadiskrestore . El nivel de registro predeterminado es info . Los niveles de registro disponibles son debug , info , warn y error . |
Recupera la base de datos para un sistema de alta disponibilidad de escalamiento vertical
Para recuperar la base de datos de un sistema de escalamiento vertical de SAP HANA implementado en un clúster de alta disponibilidad (HA) en Google Cloud, completa los siguientes pasos:
Verifica que tengas una instantánea del disco que aloja el volumen
/hana/data
en tu nodo principal de SAP HANA.Como usuario raíz, coloca el clúster de HA en modo de mantenimiento. Si usas Pacemaker, ejecuta el siguiente comando:
RHEL
pcs property set maintenance-mode=true
SLES
crm configure property maintenance-mode=true
Detén tus instancias de base de datos de SAP HANA mediante la ejecución del siguiente comando en los nodos principal y en espera de tu clúster de HA:
HDB stop
Cambia al nodo principal de tu sistema SAP HANA de alta disponibilidad.
Recupera el disco que aloja el volumen
/hana/data
mediante la ejecución del comandohanadiskrestore
del agente:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -source-snapshot=SOURCE_SNAPSHOT_NAME \ -data-disk-name=SOURCE_DISK_NAME \ -data-disk-zone=SOURCE_DISK_ZONE \ -new-disk-type=NEW_DISK_TYPE \ -new-disk-name=NEW_DISK_NAME
Reemplaza lo siguiente:
SOURCE_PROJECT_ID
: el ID del proyecto de Google Cloud en el que existe la instantánea de disco.SID
: el identificador del sistema SAP (SID) del sistema SAP HANASOURCE_SNAPSHOT_NAME
: el nombre de la instantánea del disco con la que crearás el disco nuevo.SOURCE_DISK_NAME
: el nombre del disco de origen que aloja el volumen/hana/data
.SOURCE_DISK_ZONE
: el nombre de la zona en la que se implementa el disco de origen.
Para obtener información sobre los argumentos que puedes usar con el comando
hanadiskrestore
, consulta Argumentos admitidos para el restablecimiento del disco.Cancela el registro del nodo secundario de tu sistema SAP HANA de alta disponibilidad:
hdbnsutil -sr_unregister
En el nodo principal de tu sistema SAP HANA con alta disponibilidad, inhabilita la replicación del sistema SAP HANA:
hdbnsutil -sr_disable
En el nodo principal, recupera tu base de datos de SAP HANA con la opción requerida:
Recupera en el tiempo de la instantánea
Para recuperar la base de datos de SAP HANA mediante su restablecimiento a la hora en que se creó la instantánea de disco, sigue estos pasos:
- Cambia al usuario
SIDadm
.su - SID_LCadm
Reemplaza
SID_LC
por el SID de tu sistema SAP HANA. Usa minúsculas para las letras. - Recupera la base de datos del sistema mediante la ejecución del siguiente comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Conéctate a la base de datos del sistema. Por ejemplo, puedes ejecutar el siguiente comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Reemplaza lo siguiente:
SYSTEM_DB_PASSWORD
: la contraseña de la base de datos del sistema.INSTANCE_NUMBER
: el número de instancia de SAP HANA.
- Recupera las bases de datos de usuarios mediante la ejecución del siguiente comando para cada base de datos de usuario:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Reemplaza
TENANT_SID
por el SID de la base de datos del usuario.
Recupera a un momento específico
Para recuperar la base de datos de SAP HANA mediante su restablecimiento a un momento específico, sigue estos pasos:
- Verifica que hayas creado una copia de seguridad para el volumen
/hana/log
en Cloud Storage mediante la función Backint del agente de Google Cloud para SAP. Para obtener más información sobre esta función, consulta Copia de seguridad y recuperación basada en Backint para SAP HANA. - Cambia al usuario
SIDadm
.su - SID_LCadm
Reemplaza
SID_LC
por el SID de tu sistema SAP HANA. Usa minúsculas para las letras. - Recupera la base de datos del sistema mediante la ejecución del siguiente comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Conéctate a la base de datos del sistema. Por ejemplo, puedes ejecutar el siguiente comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Reemplaza lo siguiente:
SYSTEM_DB_PASSWORD
: la contraseña de la base de datos del sistema.INSTANCE_NUMBER
: el número de instancia de SAP HANA.
- Recupera las bases de datos de usuario mediante la ejecución del siguiente comando para cada base de datos de usuario:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Reemplaza
TENANT_SID
por el SID de la base de datos del usuario.
- Cambia al usuario
En el nodo principal, habilita la replicación del sistema SAP HANA:
hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
Vuelve a registrar el nodo en espera con el nodo principal:
hdbnsutil -sr_register --name=SECONDARY_SITE_NAME --remoteHost=PRIMARY_HOST_NAME --remoteInstance=INSTANCE_NUMBER --replicationMode=sync --operationMode=logreplay
Verifica que la base de datos del nodo en espera esté completamente sincronizada con la base de datos del nodo principal.
Como usuario raíz, sal del modo de mantenimiento del clúster de HA. Si usas Pacemaker, ejecuta el siguiente comando:
RHEL
pcs property set maintenance-mode=false
SLES
crm configure property maintenance-mode=false
Recupera la base de datos para una implementación de DR de escalamiento vertical
Para recuperar la base de datos de un sistema de escalamiento vertical de SAP HANA que se implementa con una solución de recuperación ante desastres en Google Cloud, completa los siguientes pasos:
Detén tus bases de datos de SAP HANA mediante la ejecución del siguiente comando en las instancias principal y en espera de tu implementación de DR:
HDB stop
Cambia a la instancia principal de la implementación de DR de SAP HANA.
Recupera el disco que aloja el volumen
/hana/data
mediante la ejecución del comandohanadiskrestore
del agente:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -source-snapshot=SOURCE_SNAPSHOT_NAME \ -data-disk-name=SOURCE_DISK_NAME \ -data-disk-zone=SOURCE_DISK_ZONE \ -new-disk-type=NEW_DISK_TYPE \ -new-disk-name=NEW_DISK_NAME
Reemplaza lo siguiente:
SOURCE_PROJECT_ID
: el ID del proyecto de Google Cloud en el que existe la instantánea de disco.SID
: el identificador del sistema SAP (SID) del sistema SAP HANASOURCE_SNAPSHOT_NAME
: el nombre de la instantánea del disco con la que crearás el disco nuevo.SOURCE_DISK_NAME
: el nombre del disco de origen que aloja el volumen/hana/data
.SOURCE_DISK_ZONE
: el nombre de la zona en la que se implementa el disco de origen.
Para obtener información sobre los argumentos que puedes usar con el comando
hanadiskrestore
, consulta Argumentos admitidos para el restablecimiento del disco.En la instancia principal, inhabilita la replicación del sistema SAP HANA:
hdbnsutil -sr_disable
En la instancia principal, recupera tu base de datos de SAP HANA con la opción requerida:
Recupera en el tiempo de la instantánea
Para recuperar la base de datos de SAP HANA mediante su restablecimiento a la hora en que se creó la instantánea de disco, sigue estos pasos:
- Cambia al usuario
SIDadm
.su - SID_LCadm
Reemplaza
SID_LC
por el SID de tu sistema SAP HANA. Usa minúsculas para las letras. - Recupera la base de datos del sistema mediante la ejecución del siguiente comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Conéctate a la base de datos del sistema. Por ejemplo, puedes ejecutar el siguiente comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Reemplaza lo siguiente:
SYSTEM_DB_PASSWORD
: la contraseña de la base de datos del sistema.INSTANCE_NUMBER
: el número de instancia de SAP HANA.
- Recupera las bases de datos de usuarios mediante la ejecución del siguiente comando para cada base de datos de usuario:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Reemplaza
TENANT_SID
por el SID de la base de datos del usuario.
Recupera a un momento específico
Para recuperar la base de datos de SAP HANA mediante su restablecimiento a un momento específico, sigue estos pasos:
- Verifica que hayas creado una copia de seguridad para el volumen
/hana/log
en Cloud Storage mediante la función Backint del agente de Google Cloud para SAP. Para obtener más información sobre esta función, consulta Copia de seguridad y recuperación basada en Backint para SAP HANA. - Cambia al usuario
SIDadm
.su - SID_LCadm
Reemplaza
SID_LC
por el SID de tu sistema SAP HANA. Usa minúsculas para las letras. - Recupera la base de datos del sistema mediante la ejecución del siguiente comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Conéctate a la base de datos del sistema. Por ejemplo, puedes ejecutar el siguiente comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Reemplaza lo siguiente:
SYSTEM_DB_PASSWORD
: la contraseña de la base de datos del sistema.INSTANCE_NUMBER
: el número de instancia de SAP HANA.
- Recupera las bases de datos de usuario mediante la ejecución del siguiente comando para cada base de datos de usuario:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Reemplaza
TENANT_SID
por el SID de la base de datos del usuario.
- Cambia al usuario
En la instancia principal, habilita la replicación del sistema SAP HANA:
hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
Registra la instancia en espera con la instancia principal:
hdbnsutil -sr_register --name=SECONDARY_SITE_NAME --remoteHost=PRIMARY_HOST_NAME --remoteInstance=INSTANCE_NUMBER --replicationMode=sync --operationMode=logreplay
Verifica que la base de datos en la instancia en espera esté completamente sincronizada con la base de datos en la instancia principal.
Realiza una copia del sistema o una actualización del sistema
Para usar una copia de seguridad basada en instantáneas de disco de un sistema SAP HANA para realizar la recuperación en otro sistema SAP HANA, completa los siguientes pasos:
- En el sistema de origen, crea una copia de seguridad basada en instantáneas mediante la ejecución del comando
hanadiskbackup
del agente. Para obtener instrucciones, consulta Crea una copia de seguridad basada en una instantánea de disco. Si los SID de los sistemas de origen y de destino son diferentes, cambia el nombre del directorio
/hana/data/SID
en el sistema de origen para que coincida con el sistema de destino:mv /hana/data/SOURCE_SID /hana/data/TARGET_SID
Reemplaza lo siguiente:
SOURCE_SID
: el SID del sistema SAP HANA de origenTARGET_SID
: el SID del sistema SAP HANA de destino
En el sistema de destino, recupera el disco que aloja el volumen
/hana/data
mediante la ejecución del comandohanadiskrestore
del agente.En el sistema de destino, recupera la base de datos del sistema:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SOURCE 'SYSTEMDB@SOURCE_SID' USING CATALOG BACKINT USING SNAPSHOT"
Si deseas que tu base de datos de usuario tenga el SID del sistema de origen, puedes cambiar el nombre si sigues las instrucciones del documento de SAP HANA Cambiar el nombre de una base de datos de usuario.
En el sistema de destino, conéctate a la base de datos del sistema. Por ejemplo, puedes ejecutar el siguiente comando de:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Reemplaza lo siguiente:
SYSTEM_DB_PASSWORD
: la contraseña de la base de datos del sistema.INSTANCE_NUMBER
: el número de instancia de SAP HANA.
En el sistema de destino, recupera las bases de datos de usuarios mediante la ejecución del siguiente comando para cada base de datos de usuarios:
RECOVER DATABASE FOR TARGET_SID UNTIL TIMESTAMP '2023-12-08 23:59:00' CLEAR LOG USING SOURCE 'TARGET_SID@SOURCE_SID' USING CATALOG BACKINT USING SNAPSHOT
Valida la coherencia de las instantáneas
En esta sección, se describe cómo puedes validar la coherencia de los datos en la instantánea de disco con la herramienta hdbpersdiag
de SAP. Si deseas obtener información sobre otras prácticas recomendadas de Google Cloud para las operaciones de copia de seguridad y recuperación basadas en instantáneas de disco, consulta Prácticas recomendadas.
Para validar la coherencia de una instantánea, completa los siguientes pasos:
Crea un disco a partir de una instantánea que creaste mediante el comando
hanadiskbackup
del agente. Usa el comandogcloud compute disks create
:gcloud compute disks create DISK_NAME \ --size=SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE \ --zone=ZONE
Reemplaza lo siguiente:
DISK_NAME
: el nombre del disco temporal.SIZE
: el tamaño del disco temporal.SNAPSHOT_NAME
: el nombre de la instantánea de origen.DISK_TYPE
: el tipo de disco para el disco temporal.ZONE
: la zona de Compute Engine en la que deseas implementar el disco temporal.
Conecta el disco a una VM que no sea tu host de SAP HANA. Usa el comando
gcloud compute instances attach-disk
:gcloud compute instances attach-disk VM_INSTANCE_NAME \ --disk=DISK_NAME \ --zone=ZONE
Reemplaza lo siguiente:
VM_INSTANCE_NAME
: el nombre de la VM en la que deseas implementar el disco que creaste.DISK_NAME
: el nombre del disco que creaste.ZONE
: la zona de Compute Engine en la que se implementa tu VM
Conéctate a la VM con tu método SSH preferido.
Activa el disco nuevo como un sistema de archivos temporal:
A nivel del SO, busca el grupo de volúmenes que no tiene ningún volumen lógico activo:
vgdisplay
El resultado es similar al siguiente ejemplo.
--- Volume group --- VG Name vg_hana_data System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 250.00 GiB PE Size 4.00 MiB Total PE 63999 Alloc PE / Size 63999 / 250.00 GiB Free PE / Size 0 / 0 VG UUID Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR
Cambia el nombre del grupo de volúmenes mediante el UUID de VG. En el ejemplo anterior, es
Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR
.vgrename Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR vg_hana_data_temp
Activa el grupo de volúmenes y el volumen lógico:
vgchange -a y vg_hana_data_temp lvchange -a y /dev/vg_hana_data_temp/data
Activa el volumen lógico en un sistema de archivos temporal, por ejemplo,
/hana/data_temp
:mkdir /hana/data_temp mount /dev/vg_hana_data_temp/data /hana/data_temp
Verifica que todos los discos estén activados de forma correcta:
lsblk
El resultado es similar al siguiente ejemplo.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 30G 0 disk ├─sda1 8:1 0 2M 0 part ├─sda2 8:2 0 20M 0 part /boot/efi └─sda3 8:3 0 30G 0 part / sdb 8:16 0 350G 0 disk └─vg_hana_data_temp-data 254:5 0 250G 0 lvm /hana/data_temp sdc 8:32 0 104G 0 disk └─vg_hana_log-log 254:2 0 104G 0 lvm /hana/log sdd 8:48 0 208G 0 disk └─vg_hana_shared-shared 254:0 0 208G 0 lvm /hana/shared sde 8:64 0 32G 0 disk └─vg_hana_usrsap-usrsap 254:3 0 32G 0 lvm /usr/sap sdf 8:80 0 416G 0 disk └─vg_hanabackup-backup 254:4 0 416G 0 lvm /hanabackup sdh 8:112 0 250G 0 disk └─vg_hana_data-data 254:1 0 250G 0 lvm /hana/data
Como usuario
SIDadm
, ejecuta la herramientahdbpersdiag
para los volúmenes de datos que se incluyen en el sistema de archivos temporal:for directory in $(find /hana/data_temp/SID/mnt00001/hdb* -type d); do hdbpersdiag -c -e 'check all' $directory; done
Verifica el resultado de la herramienta de
hdbpersdiag
.Si planeas realizar esta verificación de coherencia en el futuro, puedes dejar el grupo de volúmenes nuevo como está. De lo contrario, bórralo.
Desconectarás el disco de la VM. Usa el comando
gcloud compute instances detach-disk
:VM_INSTANCE_NAME \ --disk=DISK_NAME \ --zone=ZONE
Borra el disco. Usa el comando
gcloud compute disks delete
:gcloud compute disks delete DISK_NAME \ --zone=ZONE
Soluciona problemas
Si bien el agente de Google Cloud para SAP está diseñado para abordar la mayoría de los problemas que pueden ocurrir durante las operaciones de copia de seguridad y recuperación basadas en instantáneas de disco para SAP HANA, hay algunas situaciones en las que se requiere intervención manual.
Si deseas solucionar cualquier problema con la función de instantánea de disco del agente de Google Cloud para SAP, consulta Problema con una operación de recuperación o copia de seguridad basada en una instantánea de disco.
Obtenga asistencia
Si necesitas ayuda para resolver un problema con el Agente de Google Cloud para SAP, recopila la información de diagnóstico requerida y comunícate con el servicio de atención al cliente de Cloud. Si deseas obtener más información, consulta la información de diagnóstico del agente de Google Cloud para SAP para SAP HANA.