Neste guia, mostramos como executar operações de backup e recuperação do SAP HANA usando o recurso snapshot de disco do agente do Google Cloud para SAP.
Para informações sobre esse recurso, consulte Backup e recuperação baseados em snapshot de disco do SAP HANA.
Antes de começar
- Valide a instalação do agente do Google Cloud para SAP. Para instruções, consulte Instalar e configurar o agente do Google Cloud para SAP em uma instância de VM do Compute Engine.
- Confirme se o sistema SAP HANA foi implantado em uma instância de VM do Compute Engine conforme a seguir:
- Ele não está implantado em uma arquitetura com escalonamento horizontal. Para mais informações, consulte Como usar snapshots em implantações com escalonamento horizontal.
- Ele usa um sistema operacional (SO) certificado pela SAP. Para mais informações, consulte Suporte a SO do SAP HANA no Google Cloud.
- O volume
/hana/data
está hospedado de forma independente em um volume Hyperdisk ou Persistent Disk baseado em SSD sem striping. Esse disco não pode hospedar outro volume do SAP HANA. Conforme descrito na Nota SAP 2039883 - Perguntas frequentes: banco de dados SAP HANA e snapshots de dados (snapshots de armazenamento) (em inglês), para ser possível recuperar o banco de dados SAP HANA, o snapshot do armazenamento não pode incluem a área de registro do banco de dados. - O volume
/hana/data
foi mapeado para um volume lógico. Isso permite que o agente processe corretamente o ponto de montagem durante operações de backup ou recuperação baseadas em snapshots de disco. - A infraestrutura não foi implantada usando ferramentas de infraestrutura como código (IaC, na sigla em inglês), como o Terraform. Para mais informações, consulte Como usar snapshots com implantações baseadas em ferramentas de IaC.
Definir permissões
Para usar o agente do Google Cloud para SAP ao executar backup e recuperação baseados em snapshot de disco do sistema SAP HANA, você precisa definir as seguintes permissões:
- Para criar snapshots de disco, ative as seguintes permissões do IAM:
- Para o projeto do Google Cloud em que o sistema SAP HANA é executado, ative a permissão
compute.snapshots.create
. - Para a conta de serviço usada pela instância de VM do Compute Engine, ative as seguintes permissões:
compute.disks.createSnapshot
,compute.snapshot.list
ecompute.disk.list
.
- Para o projeto do Google Cloud em que o sistema SAP HANA é executado, ative a permissão
- Para criar backups baseados em snapshot de disco, o usuário do banco de dados SAP HANA usado pelo agente precisa ter o privilégio
BACKUP OPERATOR
ouBACKUP ADMIN
. Para mais informações, consulte o documento da SAP Autorizações necessárias para backup e recuperação (em inglês). Para executar as operações de backup e recuperação, o usuário do sistema operacional que executa os comandos do agente precisa ser o usuário
root
ou ter acessosudo
para executar os comandos a seguir. Também é possível fornecer acessosudo
criando um grupo no diretório/etc/sudoers.d
. Por exemplo:%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
Criar um backup baseado em snapshot de disco
-
Para criar um backup baseado em snapshot de disco para o volume
/hana/data
do banco de dados do SAP HANA, execute o comandohanadiskbackup
do agente do 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 \ -source-disk=SOURCE_DISK_NAME \ -source-disk-zone=SOURCE_DISK_ZONE
Substitua:
DESTINATION_PROJECT_ID
: o ID do projeto do Google Cloud em que você quer criar o snapshot de discoHANA_HOST_ADDRESS
: o nome do host ou endereço IP da instância de VM do Compute Engine que hospeda o banco de dados SAP HANAEm um sistema de alta disponibilidade (HA, na sigla em inglês), especifique o nome do host ou o endereço IP do host local no nó principal do SAP HANA. Não use o IP virtual (VIP, na sigla em inglês) usado no cluster para identificar o nó principal. Em uma implantação de recuperação de desastres (DR), especifique o nome do host ou o endereço IP do host local na instância principal do SAP HANA.
HANA_PORT_NUMBER
: a porta do SAP HANA que aceita as solicitações de backup e recuperaçãoSID
: o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANAHANA_USERNAME
: o nome de usuário do banco de dados SAP HANA que você quer usar para criar o backupHANA_USER_PWD_SECRET_NAME
: se você estiver usando o Secret Manager para armazenar a senha do usuário do banco de dados SAP HANA, especifique o nome do secret correspondenteSOURCE_DISK_NAME
: o nome do volume Persistent Disk ou Hyperdisk que hospeda o volume/hana/data
SOURCE_DISK_ZONE
: o nome da zona em que o disco que hospeda o volume/hana/data
está implantado
A tabela a seguir descreve os argumentos aceitos pelo comando
hanadiskbackup
:Argumento Descrição -port
Especifique a porta do SAP HANA que aceita as solicitações de backup e recuperação. -sid
Especifique o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANA. -hana-db-user
Especifique o nome de usuário do banco de dados SAP HANA que você quer usar para criar o backup. -password
Especifique a senha do usuário do banco de dados SAP HANA usada para criar o backup.
Não especifique esse argumento se você estiver usando o argumento
-password-secret
. Recomendamos usar-password-secret
.-password-secret
Opcional. Se você estiver usando o Secret Manager para armazenar a senha do usuário do banco de dados SAP HANA, especifique o nome do secret correspondente.
No Secret Manager, verifique se o valor do Secret, que é a senha, contém pelo menos oito caracteres e inclui pelo menos uma letra maiúscula, uma letra minúscula e um número.
Não especifique esse argumento se você estiver usando o argumento
-password
.-host
Opcional. Especifique o endereço IP da instância de VM do Compute Engine que hospeda o sistema SAP HANA. O valor padrão é localhost
.-project
Opcional. Especifique o ID do projeto do Google Cloud em que você quer criar o snapshot de disco. Por padrão, o snapshot é criado no projeto do Google Cloud em que o sistema SAP HANA está em execução. -abandon-prepared
Opcional. Especifica se qualquer snapshot de disco já existente será ignorado ou não. O valor padrão é false
.-snapshot-name
Opcional. Especifique o nome do snapshot de disco que você está criando.
Por padrão, o snapshot é nomeado no seguinte formato:
snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS
.-source-disk
Especifique o nome do volume Persistent Disk ou Hyperdisk que hospeda o volume /hana/data
.-source-disk-zone
Especifique a zona em que está o disco que hospeda o volume /hana/data
.-source-disk-key-file
Opcional. Se o disco que hospeda o volume /hana/data
for criptografado por uma chave de criptografia fornecida pelo cliente, especifique o caminho absoluto para a chave.-storage-location
Opcional. Especifique a multirregião ou região do Cloud Storage em que você quer armazenar o snapshot de disco. -snapshot-description
Opcional. Especifique uma descrição para o snapshot de disco. -labels
Opcional. Especifique um ou mais pares de rótulo-valor que você quer associar ao snapshot do disco que você está criando. Exemplo: -labels="label1=value1,label2=value2"
.-send-metrics-to-monitoring
Opcional. Especifica se o status de execução da criação do snapshot será enviado ou não ao Cloud Monitoring. O valor padrão é TRUE
.-loglevel
Opcional. Especifique o nível de geração de registros para a operação de criação de snapshot. O nível de geração de registros padrão é info
. Os níveis de registro disponíveis são:debug
,info
,warn
eerror
.
Verificar o snapshot de disco
Use as seguintes opções para verificar se o snapshot de disco foi criado:
No console do Google Cloud, acesse a página Snapshots do Compute Engine e filtre as entradas usando o nome do snapshot ou disco.
Outra possibilidade é ver os detalhes do snapshot de disco no arquivo de registro do agente do Google Cloud para SAP a seguir:
/var/log/google-cloud-sap-agent/hanadiskbackup.log
Consulte o catálogo de backup do SAP HANA
Além de criar o snapshot de disco, o comando hanadiskbackup
cria uma entrada para o snapshot no catálogo de backup do SAP HANA. Veja a seguir um exemplo de consulta SQL para ver as entradas de snapshot de disco no catálogo de backup do SAP HANA:
SELECT BACKUP_ID, STATE_NAME, COMMENT FROM M_BACKUP_CATALOG WHERE ENTRY_TYPE_NAME = 'data snapshot'
A resposta será semelhante a:
BACKUP_ID,STATE_NAME,COMMENT BACKUP_ID,"successful","snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMMSS"
Esta saída inclui os seguintes valores:
BACKUP_ID
: o ID de backup atribuído ao snapshot de disco no catálogo de backup do SAP HANASOURCE_DISK_NAME
: o nome do disco que hospeda o volume/hana/data
para o qual você criou um snapshotYYYYMMDD-HHMMMSS
: a data e a hora em que o snapshot foi criado
Executar a recuperação usando um snapshot de disco
Para executar a recuperação baseada em snapshots de disco usando o agente do Google Cloud para SAP, consulte as instruções para seu cenário:
- Recuperar o banco de dados para um sistema com escalonamento vertical
- Recuperar o banco de dados para um sistema de alta disponibilidade com escalonamento vertical
- Recuperar o banco de dados para uma implantação de DR com escalonamento vertical
- Fazer uma cópia ou atualização do sistema
Recuperar o banco de dados para um sistema com escalonamento vertical
Para recuperar o banco de dados de um sistema SAP HANA com escalonamento vertical implantado no Google Cloud, conclua as seguintes etapas:
Execute o comando
hanadiskrestore
do agente para recuperar o disco que hospeda o volume/hana/data
: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
Substitua:
SOURCE_PROJECT_ID
: o ID do projeto do Google Cloud em que está o snapshot de discoSID
: o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANASOURCE_SNAPSHOT_NAME
: o nome do snapshot de disco que você usará para criar o novo discoSOURCE_DISK_NAME
: o nome do disco de origem que hospedará o volume/hana/data
SOURCE_DISK_ZONE
: o nome da zona em que o disco de origem é implantado
Para informações sobre os argumentos que podem ser usados com o comando
hanadiskrestore
, consulte Argumentos aceitos para restauração de disco.Recupere seu banco de dados SAP HANA usando a opção necessária:
Recuperar para o horário do snapshot
Para recuperar o banco de dados SAP HANA restaurando-o para o horário em que o snapshot de disco foi criado, siga estas etapas:
- Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
Recuperar para um momento específico
Para recuperar o banco de dados SAP HANA restaurando-o para um momento específico, siga estas etapas:
- Verifique se você criou um backup do volume
/hana/log
no Cloud Storage usando o recurso Backint do agente do Google Cloud para SAP. Para mais informações sobre esse recurso, consulte Backup e recuperação baseados no Backint para o SAP HANA. - Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
- Mude para o usuário
Argumentos aceitos para restauração de disco
A tabela a seguir descreve os argumentos aceitos pelo comando hanadiskrestore
do agente:
Argumento | Descrição |
---|---|
-sid |
Especifique o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANA. |
-data-disk-name |
Especifique o nome do disco de origem que hospeda o volume /hana/data . |
-data-disk-zone |
Especifique a zona em que o disco de origem que hospeda o volume /hana/data está implantado. |
-source-snapshot |
Especifique o nome do snapshot de disco que você quer usar para recuperar o disco que hospeda seu volume de dados do SAP HANA. |
-new-disk-name |
Especifique o nome que você quer definir para o novo disco. |
-project |
Opcional. Especifique o ID do projeto do Google Cloud em que está o snapshot do disco de origem. Por padrão, o snapshot é criado no projeto do Google Cloud em que o sistema SAP HANA está em execução. |
-new-disk-type |
Opcional. Especifique o tipo de Persistent Disk ou Hyperdisk que você quer criar. Por padrão, o novo disco é do mesmo tipo do disco de origem. Especifique um tipo de disco baseado em SSD que seja certificado pela SAP para uso com o SAP HANA. Para mais informações, consulte Tipos de disco compatíveis. |
-hana-sidadm |
Opcional. Especifique SIDadm : o usuário do sistema operacional do seu sistema SAP HANA. |
-force-stop-hana |
Opcional. Se você quiser forçar o fechamento do SAP HANA antes de iniciar a operação de recuperação, especifique esse argumento e defina o valor dele como true . O valor padrão é false . |
-provisioned-iops |
Opcional. Se você estiver criando um volume Hyperdisk, especifique as IOPS (operações de entrada/saída por segundo) que ele precisa processar. |
-provisioned-throughput |
Opcional. Se você estiver criando um volume Hyperdisk, especifique a capacidade de processamento necessária. |
-disk-size-gb |
Opcional. Especifique o tamanho do novo disco em GB. Por padrão, o novo disco é do mesmo tamanho que o atual. O novo disco não pode ser menor que o atual. |
-loglevel |
Opcional. Especifique o nível de geração de registros para todas as ações realizadas pelo comando hanadiskrestore . O nível de geração de registros padrão é info . Os níveis de registro disponíveis são: debug , info , warn e error . |
Recuperar o banco de dados para um sistema de alta disponibilidade com escalonamento vertical
Para recuperar o banco de dados de um sistema SAP HANA com escalonamento vertical implantado em um cluster de alta disponibilidade (HA) no Google Cloud, conclua as etapas a seguir:
Verifique se você tem um snapshot do disco que hospeda o volume
/hana/data
no nó principal do SAP HANA.Como usuário raiz, coloque o cluster de alta disponibilidade no modo de manutenção. Se você estiver usando o Pacemaker, execute o seguinte comando:
RHEL
pcs property set maintenance-mode=true
SLES
crm configure property maintenance-mode=true
Interrompa as instâncias do banco de dados SAP HANA executando o seguinte comando nos nós principal e em espera do cluster de alta disponibilidade:
HDB stop
Alterne para o nó principal do sistema SAP HANA de alta disponibilidade.
Execute o comando
hanadiskrestore
do agente para recuperar o disco que hospeda o volume/hana/data
: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
Substitua:
SOURCE_PROJECT_ID
: o ID do projeto do Google Cloud em que está o snapshot de discoSID
: o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANASOURCE_SNAPSHOT_NAME
: o nome do snapshot de disco que você usará para criar o novo discoSOURCE_DISK_NAME
: o nome do disco de origem que hospedará o volume/hana/data
SOURCE_DISK_ZONE
: o nome da zona em que o disco de origem é implantado
Para informações sobre os argumentos que podem ser usados com o comando
hanadiskrestore
, consulte Argumentos aceitos para restauração de disco.Cancele o registro do nó secundário do sistema SAP HANA de alta disponibilidade:
hdbnsutil -sr_unregister
No nó principal do sistema SAP HANA de alta disponibilidade, desative a replicação desse sistema:
hdbnsutil -sr_disable
No nó principal, recupere o banco de dados SAP HANA usando a opção necessária:
Recuperar para o horário do snapshot
Para recuperar o banco de dados SAP HANA restaurando-o para o horário em que o snapshot de disco foi criado, siga estas etapas:
- Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
Recuperar para um momento específico
Para recuperar o banco de dados SAP HANA restaurando-o para um momento específico, siga estas etapas:
- Verifique se você criou um backup do volume
/hana/log
no Cloud Storage usando o recurso Backint do agente do Google Cloud para SAP. Para mais informações sobre esse recurso, consulte Backup e recuperação baseados no Backint para o SAP HANA. - Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
- Mude para o usuário
No nó principal, ative a replicação do sistema SAP HANA:
hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
Registre novamente o nó em espera com o nó principal:
hdbnsutil -sr_register --name=SECONDARY_SITE_NAME --remoteHost=PRIMARY_HOST_NAME --remoteInstance=INSTANCE_NUMBER --replicationMode=sync --operationMode=logreplay
Verifique se o banco de dados no nó em espera está totalmente sincronizado com o banco de dados no nó principal.
Como usuário raiz, saia do modo de manutenção do cluster de alta disponibilidade. Se você estiver usando o Pacemaker, execute o seguinte comando:
RHEL
pcs property set maintenance-mode=false
SLES
crm configure property maintenance-mode=false
Recuperar o banco de dados para uma implantação de DR com escalonamento vertical
Para recuperar o banco de dados de um sistema SAP HANA com escalonamento vertical implantado com uma solução de recuperação de desastres no Google Cloud, conclua as seguintes etapas:
Interrompa os bancos de dados SAP HANA executando o seguinte comando nas instâncias principal e em espera da sua implantação de DR:
HDB stop
Alterne para a instância principal da sua implantação de DR do SAP HANA.
Execute o comando
hanadiskrestore
do agente para recuperar o disco que hospeda o volume/hana/data
: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
Substitua:
SOURCE_PROJECT_ID
: o ID do projeto do Google Cloud em que está o snapshot de discoSID
: o identificador do sistema SAP (SID, na sigla em inglês) do seu sistema SAP HANASOURCE_SNAPSHOT_NAME
: o nome do snapshot de disco que você usará para criar o novo discoSOURCE_DISK_NAME
: o nome do disco de origem que hospedará o volume/hana/data
SOURCE_DISK_ZONE
: o nome da zona em que o disco de origem é implantado
Para informações sobre os argumentos que podem ser usados com o comando
hanadiskrestore
, consulte Argumentos aceitos para restauração de disco.Na instância principal, desative a replicação do sistema SAP HANA:
hdbnsutil -sr_disable
Na instância principal, recupere o banco de dados SAP HANA usando a opção necessária:
Recuperar para o horário do snapshot
Para recuperar o banco de dados SAP HANA restaurando-o para o horário em que o snapshot de disco foi criado, siga estas etapas:
- Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
Recuperar para um momento específico
Para recuperar o banco de dados SAP HANA restaurando-o para um momento específico, siga estas etapas:
- Verifique se você criou um backup do volume
/hana/log
no Cloud Storage usando o recurso Backint do agente do Google Cloud para SAP. Para mais informações sobre esse recurso, consulte Backup e recuperação baseados no Backint para o SAP HANA. - Mude para o usuário
SIDadm
.su - SID_LCadm
Substitua
SID_LC
pelo SID do seu sistema SAP HANA. Todas as letras devem ser minúsculas. - Recupere o banco de dados do sistema executando o seguinte comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
- Para recuperar os bancos de dados de locatário, execute o comando a seguir para cada um deles:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Substitua
TENANT_SID
pelo SID do banco de dados do locatário.
- Mude para o usuário
Na instância principal, ative a replicação do sistema SAP HANA:
hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
Registre a instância em espera com a instância principal:
hdbnsutil -sr_register --name=SECONDARY_SITE_NAME --remoteHost=PRIMARY_HOST_NAME --remoteInstance=INSTANCE_NUMBER --replicationMode=sync --operationMode=logreplay
Verifique se o banco de dados na instância em espera está totalmente sincronizado com o banco de dados na instância principal.
Fazer uma cópia ou atualização do sistema
Para usar um backup baseado em snapshot de disco de um sistema SAP HANA para executar a recuperação em outro sistema SAP HANA, conclua as seguintes etapas:
- No sistema de origem, crie um backup baseado em snapshot executando o comando
hanadiskbackup
do agente. Para ver instruções, consulte Criar um backup baseado em snapshot de disco. Se os SIDs dos sistemas de origem e de destino forem diferentes, renomeie o diretório
/hana/data/SID
no sistema de origem para que corresponda ao sistema de destino:mv /hana/data/SOURCE_SID /hana/data/TARGET_SID
Substitua:
SOURCE_SID
: o SID do sistema SAP HANA de origemTARGET_SID
: o SID do sistema SAP HANA de destino
No sistema de destino, recupere o disco que hospeda o volume
/hana/data
executando o comandohanadiskrestore
do agente.No sistema de destino, recupere o banco de dados do 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"
Se você quiser que o banco de dados de locatário tenha o SID do sistema de origem, renomeie-o seguindo as instruções no documento do SAP HANA Renomear um banco de dados de locatário (em inglês).
No sistema de destino, conecte-se ao banco de dados do sistema. Por exemplo, execute o comando a seguir:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Substitua:
SYSTEM_DB_PASSWORD
: a senha do banco de dados do sistemaINSTANCE_NUMBER
: o número da instância do SAP HANA
No sistema de destino, para recuperar os bancos de dados de locatário, execute o seguinte comando para cada um deles:
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
Validar a consistência do snapshot
Nesta seção, descrevemos como validar a consistência dos dados no snapshot de disco usando a ferramenta hdbpersdiag
da SAP. Para informações sobre outras práticas recomendadas do Google Cloud para operações de backup e recuperação baseadas em snapshot de disco, consulte Práticas recomendadas.
Para validar a consistência de um snapshot, siga estas etapas:
Crie um disco com base em um snapshot que você criou usando o comando
hanadiskbackup
do agente. Use o comandogcloud compute disks create
:gcloud compute disks create DISK_NAME \ --size=SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE \ --zone=ZONE
Substitua:
DISK_NAME
: o nome do disco temporárioSIZE
: o tamanho do disco temporárioSNAPSHOT_NAME
: o nome do snapshot de origemDISK_TYPE
: o tipo de disco do disco temporárioZONE
: a zona do Compute Engine em que você quer implantar o disco temporário
Anexe o disco a uma VM diferente do host do SAP HANA. Use o comando
gcloud compute instances attach-disk
(em inglês).gcloud compute instances attach-disk VM_INSTANCE_NAME \ --disk=DISK_NAME \ --zone=ZONE
Substitua:
VM_INSTANCE_NAME
: o nome da VM em que você quer implantar o disco criadoDISK_NAME
: o nome do disco que você criouZONE
: a zona do Compute Engine em que a VM está implantada
Conecte-se à VM usando o método SSH que preferir.
Monte o novo disco como um sistema de arquivos temporário:
No nível do SO, encontre o grupo de volumes em que não há volumes lógicos ativos:
vgdisplay
A resposta será semelhante a:
--- 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
Renomeie o grupo de volumes usando o UUID do VG. No exemplo anterior, é
Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR
.vgrename Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR vg_hana_data_temp
Ative o grupo de volumes e o volume lógico:
vgchange -a y vg_hana_data_temp lvchange -a y /dev/vg_hana_data_temp/data
Ative o volume lógico em um sistema de arquivos temporário, por exemplo,
/hana/data_temp
:mkdir /hana/data_temp mount /dev/vg_hana_data_temp/data /hana/data_temp
Verifique se todos os discos estão montados corretamente:
lsblk
A resposta será semelhante a:
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 usuário
SIDadm
, execute a ferramentahdbpersdiag
para os volumes de dados incluídos no sistema de arquivos temporário:for directory in $(find /hana/data_temp/SID/mnt00001/hdb* -type d); do hdbpersdiag -c -e 'check all' $directory; done
Verifique a saída da ferramenta
hdbpersdiag
.Se você planeja realizar essa verificação de consistência no futuro, deixe o novo grupo de volumes como está. Caso contrário, exclua-o.
Desconectar o disco da VM Use o comando
gcloud compute instances detach-disk
(em inglês).VM_INSTANCE_NAME \ --disk=DISK_NAME \ --zone=ZONE
Exclua o disco. Use o comando
gcloud compute disks delete
(em inglês).gcloud compute disks delete DISK_NAME \ --zone=ZONE
Solução de problemas
Embora o agente do Google Cloud para SAP tenha sido projetado para resolver a maioria dos problemas que podem ocorrer durante operações de backup e recuperação baseadas em snapshot de disco do SAP HANA, há alguns cenários em que é necessária uma intervenção manual.
Para resolver qualquer problema com o recurso de snapshot de disco do agente do Google Cloud para SAP, consulte Problema com uma operação de backup ou recuperação baseada em snapshot de disco.
Receba ajuda
Se você precisar de ajuda para resolver um problema com o agente do Google Cloud para SAP, colete as informações de diagnóstico necessárias e entre em contato com o Cloud Customer Care. Para mais informações, consulte Informações de diagnóstico do agente do Google Cloud para SAP para SAP HANA.