Tutorial: Restaurar bancos de dados SAP HANA em uma VM do Azure usando a CLI do Azure
Artigo
Este tutorial descreve como restaurar a instância do banco de dados SAP HANA e a instância do SAP HANA System Replication (HSR) usando a CLI do Azure.
A CLI do Azure é usada para criar e gerenciar recursos do Azure a partir da linha de comando ou por meio de scripts. Esta documentação detalha como restaurar um banco de dados SAP HANA de backup em uma VM do Azure - usando a CLI do Azure. Você também pode executar essas etapas usando o portal do Azure.
Nota
OLR (Original Location Recovery) não é suportado atualmente para HSR.
Não há suporte para restauração para instância HSR. No entanto, a restauração apenas para a instância HANA é suportada.
Este tutorial pressupõe que você tenha um banco de dados SAP HANA em execução na VM do Azure cujo backup é feito usando o Backup do Azure. Se você usou Fazer backup de um banco de dados SAP HANA no Azure usando a CLI para fazer backup do banco de dados SAP HANA, está usando os seguintes recursos:
Um grupo de recursos chamado saphanaResourceGroup.
Um cofre chamado saphanaVault.
Contêiner protegido chamado VMAppContainer;Compute;saphanaResourceGroup;saphanaVM.
Banco de dados/item de backup nomeado saphanadatabase;hxe;hxe.
Recursos na westus2 região.
Para obter mais informações sobre as configurações e cenários suportados, consulte a matriz de suporte de backup do SAP HANA.
Exibir pontos de restauração para um banco de dados de backup
Certifique-se de que os seguintes pré-requisitos sejam atendidos antes de restaurar um banco de dados:
Você pode restaurar o banco de dados somente para uma instância do SAP HANA que esteja na mesma região.
A instância de destino deve ser registrada no mesmo cofre que a origem ou em outro cofre na mesma região.
O Backup do Azure não pode identificar duas instâncias diferentes do SAP HANA na mesma VM. Portanto, restaurar dados de uma instância para outra na mesma VM não é possível.
Restaurar uma base de dados
O Backup do Azure pode restaurar bancos de dados SAP HANA que estão sendo executados em VMs do Azure da seguinte maneira:
Restaure para uma data ou hora específica (para a segunda) usando backups de log. O Backup do Azure determina automaticamente os backups completos e diferenciais apropriados e a cadeia de backups de log que são necessários para restaurar com base no tempo selecionado.
Restaure para um backup completo ou diferencial específico para restaurar para um ponto de recuperação específico.
Para restaurar um banco de dados, use o cmdlet az restore restore-azurewl , que requer um objeto de configuração de recuperação como uma das entradas. Esse objeto pode ser gerado usando o cmdlet az backup recoveryconfig show . O objeto de configuração de recuperação contém todos os detalhes para executar uma restauração. Um deles é o modo de restauração – OriginalWorkloadRestore ou AlternateWorkloadRestore.
Nota
OriginalWorkloadRestore - Restaure os dados para a mesma instância do SAP HANA que a fonte original. Esta opção substitui o banco de dados original. AlternateWorkloadRestore - Restaure o banco de dados para um local alternativo e mantenha o banco de dados de origem original.
Restaurar para local alternativo
Para restaurar um banco de dados para um local alternativo, use AlternateWorkloadRestore como o modo de restauração. Em seguida, você deve escolher o ponto de restauração, que pode ser um point-in-time anterior ou qualquer um dos pontos de restauração anteriores.
Neste tutorial, você restaurará para um ponto de restauração anterior. Exiba a lista de pontos de restauração para o banco de dados e escolha o ponto para o qual deseja restaurar. Este tutorial usará o ponto de restauração com o nome 7660777527047692711.
Usando o nome do ponto de restauração acima e o modo de restauração, vamos criar o objeto de configuração de recuperação usando o cmdlet az backup recoveryconfig show . Vejamos o significado de cada um dos parâmetros restantes neste cmdlet:
--target-item-name Este é o nome que o banco de dados restaurado usará. Neste caso, usamos o nome restored_database.
--target-server-name Este é o nome de um servidor SAP HANA que foi registrado com êxito em um cofre dos Serviços de Recuperação e está na mesma região do banco de dados a ser restaurado. Para este tutorial, restauraremos o banco de dados para o mesmo servidor SAP HANA que protegemos, chamado hxehost.
--target-server-type Para a restauração de bancos de dados SAP HANA, HANAInstance deve ser usado.
Agora, para restaurar o banco de dados, execute o cmdlet az restore restore-azurewl . Para usar esse comando, inseriremos a saída json acima salva em um arquivo chamado recoveryconfig.json.
Name Resource
------------------------------------ -------
5b198508-9712-43df-844b-977e5dfc30ea SAPHANA
A resposta indicar-lhe-á o nome da vaga. Esse nome de trabalho pode ser usado para acompanhar o status do trabalho usando o cmdlet az backup job show .
Para iniciar a operação de restauração, execute o seguinte comando:
Para restaurar para o local original, usaremos OrignialWorkloadRestore como o modo de restauração. Em seguida, você deve escolher o ponto de restauração, que pode ser um point-in-time anterior ou qualquer um dos pontos de restauração anteriores.
Para este tutorial, escolheremos o point-in-time anterior "28-11-2019-09:53:00" para restaurar. Você pode fornecer esse ponto de restauração nos seguintes formatos: dd-mm-aa, dd-mm-aa-hh:mm:ss. Para escolher um point-in-time válido para restaurar, use o cmdlet az backup recoverypoint show-log-chain , que lista os intervalos de backups ininterruptos da cadeia de logs.
Agora, para restaurar o banco de dados, execute o cmdlet az restore restore-azurewl . Para usar esse comando, inseriremos a saída json acima salva em um arquivo chamado recoveryconfig.json.
Name Resource
------------------------------------ --------
5b198508-9712-43df-844b-977e5dfc30ea SAPHANA
A resposta indicar-lhe-á o nome da vaga. Esse nome de trabalho pode ser usado para acompanhar o status do trabalho usando o cmdlet az backup job show .
Restaurar para a região secundária
Para restaurar um banco de dados para a região secundária, especifique um cofre de destino e um servidor localizado na região secundária, na configuração de restauração.
Name Operation Status Item Name Backup Management Type Start Time UTC Duration
------------------------------------ ------------------ ---------- ------------------- ------------------------ -------------------------------- --------------
00000000-0000-0000-0000-000000000000 CrossRegionRestore InProgress H10 [hanasnapcvt01] AzureWorkload 2021-12-22T05:21:34.165617+00:00 0:00:05.665470
Nota
O RPO para que os dados de backup estejam disponíveis na região secundária é de 12 horas. Portanto, quando você ativa a CRR, o RPO para a região secundária é de 12 horas + duração da frequência de log (que pode ser definida para um mínimo de 15 minutos).
Restaurar como ficheiros
Para restaurar os dados de backup como arquivos em vez de um banco de dados, usaremos RestoreAsFiles como o modo de restauração. Em seguida, escolha o ponto de restauração, que pode ser um point-in-time anterior ou qualquer um dos pontos de restauração anteriores. Depois que os arquivos são despejados para um caminho especificado, você pode levá-los para qualquer máquina SAP HANA onde deseja restaurá-los como um banco de dados. Como você pode mover esses arquivos para qualquer máquina, agora pode restaurar os dados entre assinaturas e regiões.
Para este tutorial, escolheremos o point-in-time 28-11-2019-09:53:00 anterior para restaurar e o local para despejar arquivos de backup como /home/saphana/restoreasfiles no mesmo servidor SAP HANA. Você pode fornecer esse ponto de restauração em qualquer um dos seguintes formatos: dd-mm-aaaa ou dd-mm-aa-hh:mm:ss. Para escolher um point-in-time válido para restaurar, use o cmdlet az backup recoverypoint show-log-chain , que lista os intervalos de backups ininterruptos da cadeia de logs.
Usando o nome do ponto de restauração acima e o modo de restauração, vamos criar o objeto de configuração de recuperação usando o cmdlet az backup recoveryconfig show . Vejamos o significado de cada um dos parâmetros restantes neste cmdlet:
--target-container-name Este é o nome de um servidor SAP HANA que foi registrado com êxito em um cofre dos Serviços de Recuperação e está na mesma região do banco de dados a ser restaurado. Para este tutorial, restauraremos o banco de dados como arquivos para o mesmo servidor SAP HANA que protegemos, chamado hxehost.
--rp-name Para uma restauração point-in-time, o nome do ponto de restauração será DefaultRangeRecoveryPoint
Agora, para restaurar o banco de dados como arquivos, execute o cmdlet az restore restore-azurewl . Para usar esse comando, digitaremos a saída json acima, que é salva em um arquivo chamado recoveryconfig.json.
A resposta indicar-lhe-á o nome da vaga. Esse nome de trabalho pode ser usado para acompanhar o status do trabalho usando o cmdlet az backup job show .
Os arquivos que são despejados no contêiner de destino são:
Arquivos de backup de banco de dados
Arquivos de catálogo
Arquivos de metadados JSON (para cada arquivo de backup envolvido)
Normalmente, um caminho de compartilhamento de rede ou caminho de um compartilhamento de arquivos do Azure montado quando especificado como o caminho de destino, permite um acesso mais fácil a esses arquivos por outras máquinas na mesma rede ou com o mesmo compartilhamento de arquivos do Azure montado nelas.
Nota
Para restaurar os arquivos de backup do banco de dados em um compartilhamento de arquivos do Azure montado na VM registrada de destino, verifique se a conta raiz tem permissões de leitura/gravação no compartilhamento de arquivos do Azure.
Com base no tipo de ponto de restauração escolhido (Point in time ou Full & Differential), você verá uma ou mais pastas criadas no caminho de destino. Uma das pastas nomeadas Data_<date and time of restore> contém os backups completos e a outra pasta nomeada Log contém os backups de log e outros backups (como diferenciais e incrementais).
Nota
Se você selecionou Restaurar para um point-in-time, os arquivos de log (despejados na VM de destino) às vezes podem conter logs além do point-in-time escolhido para restauração. O Backup do Azure faz isso para garantir que os backups de log para todos os serviços HANA estejam disponíveis para uma restauração consistente e bem-sucedida para o point-in-time escolhido.
Nota
Se você não quiser restaurar toda a cadeia, mas apenas um subconjunto de arquivos, siga as etapas conforme documentado aqui.
Mova esses arquivos restaurados para o servidor SAP HANA, onde você deseja restaurá-los como um banco de dados. Em seguida, siga estas etapas para restaurar o banco de dados:
Defina permissões na pasta / diretório onde os arquivos de backup são armazenados usando o seguinte comando:
chown -R <SID>adm:sapsys <directory>
Execute o próximo conjunto de comandos como <SID>adm
su - <sid>adm
Gere o arquivo de catálogo para restauração. Extraia o BackupId do arquivo de metadados JSON para o backup completo, que será usado posteriormente na operação de restauração. Verifique se os backups completos e de log estão em pastas diferentes e exclua os arquivos de catálogo e os arquivos de metadados JSON nessas pastas.
<DataFileDir> - a pasta que contém os backups completos
<LogFilesDir> - a pasta que contém os backups de log, backups diferenciais e incrementais (se houver)
<PathToPlaceCatalogFile> - a pasta onde o arquivo de catálogo gerado deve ser colocado
Restaure usando o arquivo de catálogo recém-gerado através do HANA Studio ou execute a consulta de restauração HDBSQL com este catálogo recém-gerado. As consultas HDBSQL estão listadas abaixo:
Para restaurar para um ponto no tempo:
Se você estiver criando um novo banco de dados restaurado, execute o comando HDBSQL para criar um novo banco de dados <DatabaseName> e, em seguida, pare o banco de dados para restauração. No entanto, se você estiver restaurando apenas um banco de dados existente, execute o comando HDBSQL para parar o banco de dados.
Em seguida, execute o seguinte comando para restaurar o banco de dados:
RECOVER DATABASE FOR <DatabaseName> UNTIL TIMESTAMP '<TimeStamp>' CLEAR LOG USING SOURCE '<DatabaseName@HostName>' USING CATALOG PATH ('<PathToGeneratedCatalogInStep3>') USING LOG PATH (' <LogFileDir>') USING DATA PATH ('<DataFileDir>') USING BACKUP_ID <BackupIdFromJsonFile> CHECK ACCESS USING FILE
<DatabaseName> - Nome do novo banco de dados ou banco de dados existente que você deseja restaurar
<Timestamp> - Carimbo de data/hora exato da restauração Point in time
<DatabaseName@HostName> - Nome do banco de dados cujo backup é usado para restauração e o nome do servidor host / SAP HANA no qual este banco de dados reside. A USING SOURCE <DatabaseName@HostName> opção especifica que o backup de dados (usado para restauração) é de um banco de dados com um SID ou nome diferente da máquina SAP HANA de destino. Portanto, não precisa ser especificado para restaurações feitas no mesmo servidor HANA de onde o backup é feito.
<PathToGeneratedCatalogInStep3> - Caminho para o arquivo de catálogo gerado na Etapa 3
<DataFileDir> - a pasta que contém os backups completos
<LogFilesDir> - a pasta que contém os backups de log, backups diferenciais e incrementais (se houver)
<BackupIdFromJsonFile>- o BackupId extraído no Passo 3
Para restaurar para um backup completo ou diferencial específico:
Se você estiver criando um novo banco de dados restaurado, execute o comando HDBSQL para criar um novo banco de dados <DatabaseName> e, em seguida, pare o banco de dados para restauração. No entanto, se você estiver restaurando apenas um banco de dados existente, execute o comando HDBSQL para parar o banco de dados:
RECOVER DATA FOR <DatabaseName> USING BACKUP_ID <BackupIdFromJsonFile> USING SOURCE '<DatabaseName@HostName>' USING CATALOG PATH ('<PathToGeneratedCatalogInStep3>') USING DATA PATH ('<DataFileDir>') CLEAR LOG
<DatabaseName> - o nome do novo banco de dados ou do banco de dados existente que você deseja restaurar
<Timestamp> - o carimbo de data/hora exato da restauração pontual
<DatabaseName@HostName> - o nome do banco de dados cujo backup é usado para restauração e o nome do servidor host / SAP HANA no qual esse banco de dados reside. A USING SOURCE <DatabaseName@HostName> opção especifica que o backup de dados (usado para restauração) é de um banco de dados com um SID ou nome diferente da máquina SAP HANA de destino. Portanto, não precisa ser especificado para restaurações feitas no mesmo servidor HANA de onde o backup é feito.
<PathToGeneratedCatalogInStep3> - o caminho para o arquivo de catálogo gerado na Etapa 3
<DataFileDir> - a pasta que contém os backups completos
<LogFilesDir> - a pasta que contém os backups de log, backups diferenciais e incrementais (se houver)
<BackupIdFromJsonFile>- o BackupId extraído no Passo 3
Restauração de assinatura cruzada
Com o Cross Subscription Restore (CSR), você tem a flexibilidade de restaurar para qualquer assinatura e qualquer cofre sob seu locatário se as permissões de restauração estiverem disponíveis. Por padrão, o CSR está habilitado em todos os cofres dos Serviços de Recuperação (cofres existentes e recém-criados).
Nota
Você pode acionar a restauração entre assinaturas a partir do cofre dos Serviços de Recuperação.
O CSR é suportado apenas para backups baseados em streaming/Backint e não é suportado para backup baseado em instantâneo.
Não há suporte para CRR (Cross Regional Restore) com CSR.
az backup vault create
Adicione o parâmetro cross-subscription-restore-state que permite definir o estado CSR do vault durante a criação e atualização do vault.
az backup recoveryconfig show
Adicione o parâmetro --target-subscription-id que permite fornecer a assinatura de destino como entrada ao acionar a restauração entre assinaturas para fontes de dados SQL ou HANA.
Este módulo explora o backup e a restauração de máquinas virtuais do Azure e examina as etapas e considerações importantes envolvidas no backup e restauração de cargas de trabalho SAP no Azure. Prepare-se para o exame AZ-120 Planejando e administrando cargas de trabalho do Microsoft Azure para SAP.