Compartilhar via


Fazer backup e recuperar o Oracle Database em uma VM Linux do Azure utilizando o Backup do Azure

Aplica-se a: ✔️ VMs do Linux

Esse artigo demonstra o uso do Backup do Azure para tirar instantâneos de discos de máquinas virtuais (VMs), que incluem os arquivos do Oracle Database e a área de recuperação rápida do Oracle. Ao usar o Backup do Azure, você pode tirar instantâneos completos do disco que são adequados como backups e são armazenados em um Cofre dos Serviços de Recuperação.

O Backup do Azure também fornece backups consistentes com o aplicativo, o que garante que mais correções não sejam necessárias para restaurar os dados. Os backups consistentes com aplicativos funcionam tanto com sistemas de arquivos quanto com bancos de dados Oracle Automatic Storage Management (ASM).

Restaurar dados consistentes com o aplicativo reduz o tempo de restauração, para que você possa retornar rapidamente a um estado de execução. A recuperação do Oracle Database ainda é necessária após a restauração. Você facilita a recuperação usando arquivos de log de redo arquivados da Oracle que são capturados e armazenados em um compartilhamento de arquivos separado do Azure.

Esse artigo orienta você nas seguintes tarefas:

  • Faça backup do banco de dados com backup consistente com o aplicativo.
  • Restaure e recupere o banco de dados de um ponto de recuperação.
  • Restaure a VM a partir de um ponto de recuperação.

Pré-requisitos

Preparar o ambiente

Para preparar o ambiente, conclua estas etapas:

  1. Conectar-se à VM.
  2. Configurar o armazenamento de Arquivos do Azure.
  3. Preparar os bancos de dados.

Conectar-se à VM

  1. Para criar uma sessão SSH (Secure Shell) com a VM, use o comando a seguir. Substitua <publicIpAddress> pelo valor do endereço público de sua VM.

    ssh azureuser@<publicIpAddress>
    
  2. Mude para o usuário raiz:

    sudo su -
    
  3. Adicione o usuário oracle ao arquivo /etc/sudoers:

    echo "oracle   ALL=(ALL)      NOPASSWD: ALL" >> /etc/sudoers
    

Configurar o armazenamento de Arquivos do Azure para os arquivos de log de redo arquivados do Oracle

Os arquivos de log de redo arquivados da instância do Oracle Database desempenham um papel crucial na recuperação do banco de dados. Eles armazenam as transações confirmadas necessárias para avançar a partir de um instantâneo de banco de dados obtido no passado.

Quando o banco de dados está no modo ARCHIVELOG, ele arquiva o conteúdo dos arquivos de log de refazer online quando eles ficam cheios e alternam. Junto com um backup, eles são necessários para obter a recuperação em um momento específico quando o banco de dados é perdido.

O Oracle oferece a capacidade de arquivar arquivos de log de redo em diferentes locais. A prática recomendada do setor é que pelo menos um desses destinos esteja no armazenamento remoto, de modo que seja separado do armazenamento do host e protegido com instantâneos independentes. O Arquivos do Azure atende a esses requisitos.

Um compartilhamento de arquivos do Azure é um armazenamento que você pode anexar a uma VM Linux ou Windows como um componente regular do sistema de arquivos, usando o protocolo Server Message Block (SMB) ou Network File System (NFS). Para configurar um compartilhamento de arquivos do Azure no Linux (usando o protocolo SMB 3.0) para uso como armazenamento de log de arquivamento, consulte Montar um compartilhamento de arquivos do Azure SMB no Linux. Quando concluir a configuração, retorne a este guia e conclua todas as etapas restantes.

Preparar os bancos de dados

Essa parte do processo pressupõe que você seguiu Crie uma instância do Oracle Database em uma VM do Azure. Como resultado:

  • Você tem uma instância Oracle chamada oratest1 que está sendo executada em uma VM chamada vmoracle19c.
  • Você está usando o script padrão do Oracle oraenv com sua dependência no arquivo de configuração padrão do Oracle /etc/oratab para configurar variáveis ​​de ambiente em uma sessão de shell.

Execute as seguintes etapas para cada banco de dados na VM:

  1. Alterne para o usuário oracle:

     sudo su - oracle
    
  2. Defina a variável de ambiente ORACLE_SID executando o script oraenv. Ele solicita que você insira o nome do ORACLE_SID.

    . oraenv
    
  3. Adicione o compartilhamento de arquivos do Azure como outro destino para arquivos de log de arquivamento de banco de dados.

    Essa etapa pressupõe que você configurou e montou um compartilhamento de arquivos do Azure na VM Linux. Para cada banco de dados instalado na VM, crie um subdiretório com o nome do seu identificador de segurança (SID) do banco de dados.

    Nesse exemplo, o nome do ponto de montagem é /backup e o SID é oratest1. Então você cria o subdiretório /backup/oratest1 e muda a propriedade para o usuário oracle. Substitua /backup/SID pelo nome do seu ponto de montagem e pelo SID do banco de dados.

    sudo mkdir /backup/oratest1
    sudo chown oracle:oinstall /backup/oratest1
    
  4. Conecte-se ao banco de dados:

    sqlplus / as sysdba
    
  5. Inicie o banco de dados se ainda não estiver em execução:

    SQL> startup
    
  6. Defina o primeiro destino de log de arquivamento do banco de dados para o diretório de compartilhamento de arquivos que você criou anteriormente:

    SQL> alter system set log_archive_dest_1='LOCATION=/backup/oratest1' scope=both;
    
  7. Defina o RPO (objetivo de ponto de recuperação) para o banco de dados.

    Para obter um RPO consistente, considere a frequência com que os arquivos de log de redo online são arquivados. Esses fatores controlam a frequência:

    • O tamanho dos arquivos de log de refazer online. À medida que um arquivo de log online fica cheio, ele é alternado e arquivado. Quanto maior o arquivo de log online, mais tempo levará para ser preenchido. O tempo adicional diminui a frequência de geração de arquivo.
    • A configuração do parâmetro ARCHIVE_LAG_TARGET controla o número máximo de segundos permitidos antes que o arquivo de log online atual precise ser alternado e arquivado.

    Para minimizar a frequência de alternância e arquivamento, juntamente com a operação de ponto de verificação que a acompanha, os arquivos de log de refazer online do Oracle geralmente têm um tamanho grande (por exemplo, 1.024M, 4.096M ou 8.192M). Em um ambiente de banco de dados movimentado, ainda é provável que os logs sejam alternados e arquivados a cada poucos segundos ou minutos. Em um banco de dados menos ativo, eles podem passar horas ou dias antes de as transações mais recentes serem arquivadas, o que diminuiria drasticamente a frequência de arquivamento.

    Recomendamos que você defina ARCHIVE_LAG_TARGET para garantir um RPO consistente. Uma configuração de 5 minutos (300 segundos) é um valor prudente para ARCHIVE_LAG_TARGET. Ele garante que qualquer operação de recuperação de banco de dados possa ser recuperada em até 5 minutos a partir do momento da falha.

    Para definir ARCHIVE_LAG_TARGET, execute esse comando:

    SQL> alter system set archive_lag_target=300 scope=both;
    

    Para entender melhor como implantar instâncias do Oracle Database de alta disponibilidade no Azure com RPO zero, veja Arquiteturas de referência para o Oracle Database.

  8. Verifique se o banco de dados está no modo de log de arquivos para habilitar backups online.

    Verifique o status do arquivo de log primeiro:

    SQL> SELECT log_mode FROM v$database;
    
    LOG_MODE
    ------------
    NOARCHIVELOG
    

    Se estiver no modo NOARCHIVELOG, execute os seguintes comandos:

    SQL> SHUTDOWN IMMEDIATE;
    SQL> STARTUP MOUNT;
    SQL> ALTER DATABASE ARCHIVELOG;
    SQL> ALTER DATABASE OPEN;
    SQL> ALTER SYSTEM SWITCH LOGFILE;
    
  9. Crie uma tabela para testar as operações de backup e restauração:

    SQL> create user scott identified by tiger quota 100M on users;
    SQL> grant create session, create table to scott;
    SQL> connect scott/tiger
    SQL> create table scott_table(col1 number, col2 varchar2(50));
    SQL> insert into scott_table VALUES(1,'Line 1');
    SQL> commit;
    SQL> quit
    

Faça backup dos seus dados usando o Backup do Azure

O serviço de Backup do Azure fornece soluções para fazer backup dos seus dados e recuperá-los da nuvem do Microsoft Azure. O Backup do Azure fornece backups independentes e isolados para proteger contra a destruição acidental de dados originais. Os backups são armazenados em um cofre dos Serviços de Recuperação com gerenciamento integrado de pontos de recuperação, para que você possa restaurar conforme necessário.

Nessa seção, você usará o Backup do Azure para tirar instantâneos consistentes do aplicativo de suas instâncias de VM e Oracle Database em execução. Os bancos de dados são colocados no modo de backup, o que permite que um backup online transacionalmente consistente ocorra enquanto o Backup do Azure tira um instantâneo dos discos da VM. O snapshot é uma cópia completa do armazenamento e não um snapshot incremental ou de cópia na gravação. É um meio eficaz para restaurar seu banco de dados.

A vantagem de usar instantâneos consistentes com o aplicativo do Azure Backup é que eles são rápidos de tirar, não importa o tamanho do seu banco de dados. Você pode usar um snapshot para operações de restauração assim que o tirar, sem precisar esperar que ele seja transferido para o cofre dos Serviços de Recuperação.

Para usar o Backup do Azure para fazer backup do banco de dados, conclua estas etapas:

  1. Entenda a estrutura do Backup do Azure.
  2. Preparar o ambiente para um backup consistente com o aplicativo.
  3. Configurar os backups consistentes com o aplicativo.
  4. Disparar um backup consistente com o aplicativo da VM.

Entenda a estrutura do Backup do Azure

O serviço de Backup do Azure fornece uma estrutura para obter consistência de aplicativos durante backups de VMs Windows e Linux para vários aplicativos. Essa estrutura envolve invocar um pré-script para fechar os aplicativos para novas sessões antes de tirar um instantâneo dos discos. Ele chama um pós-script para descongelar os aplicativos após a conclusão do instantâneo.

A Microsoft aprimorou a estrutura para que o serviço de Backup do Azure forneça pré-scripts e pós-scripts empacotados para aplicativos selecionados. Esses pré-scripts e pós-scripts já estão carregados na imagem do Linux, então não há nada para você instalar. Basta nomear o aplicativo e o Backup do Azure invoca automaticamente os scripts relevantes. A Microsoft gerencia os pré-scripts e pós-scripts empacotados, então você pode ter certeza do suporte, propriedade e validade desses scripts.

Atualmente, os aplicativos suportados pela estrutura aprimorada são Oracle 12.x ou posterior e MySQL. Para obter detalhes, veja Matriz de suporte para backups gerenciados de VM do Azure.

Você pode criar seus próprios scripts para o Backup do Azure para usar com bancos de dados anteriores à versão 12.x. Exemplos de scripts estão disponíveis em GitHub.

Cada vez que você faz um backup, a estrutura aprimorada executa os pré-scripts e pós-scripts em todas as instâncias do Oracle Database instaladas na VM. O parâmetro configuration_path no arquivo workload.conf aponta para o local do arquivo Oracle /etc/oratab (ou um arquivo definido pelo usuário que segue a sintaxe oratab). Para obter detalhes, veja Configurar backups consistentes com o aplicativo.

O Backup do Azure executa os pré-scripts e pós-scripts para cada banco de dados listado no arquivo que configuration_path aponta. Exceções são linhas que começam com # (tratadas como comentário) ou +ASM (uma instância do Oracle ASM).

A estrutura aprimorada do Backup do Azure faz backups online de instâncias do Oracle Database que operam no modo ARCHIVELOG. Os pré-scripts e pós-scripts usam os comandos ALTER DATABASE BEGIN e END BACKUP para obter consistência no aplicativo.

Para que o backup do banco de dados seja consistente, os bancos de dados no modo NOARCHIVELOG devem ser desligados corretamente antes do início do snapshot.

Preparar o ambiente para um backup consistente com o aplicativo

O Oracle Database emprega a separação de funções de trabalho para fornecer separação de tarefas usando o menor privilégio. Ele associa grupos separados de sistemas operacionais (SO) a funções administrativas de banco de dados separadas. Os usuários podem então ter diferentes privilégios de banco de dados concedidos a eles, dependendo de sua associação em grupos de sistemas operacionais.

A função SYSBACKUP database (nome genérico OSBACKUPDBA) fornece privilégios limitados para executar operações de backup no banco de dados. O Backup do Azure exige isso.

Durante a instalação do Oracle, recomendamos que você use backupdba como o nome do grupo de SO para associar à função SYSBACKUP. Mas você pode usar qualquer nome, então você precisa determinar primeiro o nome do grupo de SO que representa a função Oracle SYSBACKUP.

  1. Alterne para o usuário oracle:

    sudo su - oracle
    
  2. Defina o ambiente Oracle:

    export ORACLE_SID=oratest1
    export ORAENV_ASK=NO
    . oraenv
    
  3. Determine o nome do grupo de SO que representa a função Oracle SYSBACKUP:

    grep "define SS_BKP" $ORACLE_HOME/rdbms/lib/config.c
    

    A saída deve ser semelhante ao seguinte exemplo:

    #define SS_BKP_GRP "backupdba"
    

    Na saída, o valor entre aspas duplas é o nome do grupo do sistema operacional Linux no qual a função Oracle SYSBACKUP é autenticada externamente. Neste exemplo, é backupdba. Anote o valor real.

  4. Verifique se o grupo de SO existe executando o seguinte comando. Substitua <group name> pelo valor que o comando anterior retornou (sem as aspas).

    grep <group name> /etc/group
    

    A saída deve ser semelhante ao seguinte exemplo:

    backupdba:x:54324:oracle
    

    Importante

    Se a saída não corresponder ao valor do grupo do sistema operacional Oracle recuperado na etapa 3, use o comando a seguir para criar o grupo do sistema operacional que representa a função Oracle SYSBACKUP. Substitua <group name> pelo nome do grupo que você recuperou na etapa 3.

    sudo groupadd <group name>
    
  5. Crie um novo usuário de backup chamado azbackup que pertença ao grupo de sistemas operacionais que você verificou ou criou nas etapas anteriores. Substitua <group name> pelo nome do grupo verificado. O usuário também é adicionado ao grupo oinstall para permitir a abertura de discos ASM.

    sudo useradd -g <group name> -G oinstall azbackup
    
  6. Configure a autenticação externa para o novo usuário de backup.

    O usuário de backup azbackup precisa conseguir acessar o banco de dados usando autenticação externa, para que não seja desafiado por uma senha. Para habilitar esse acesso, você deve criar um usuário de banco de dados que se autentique externamente por meio de azbackup. O banco de dados usa um prefixo para o nome de usuário, que você precisa encontrar.

    Execute as seguintes etapas em cada banco de dados instalado na VM:

    1. Entre no banco de dados usando o SQL Plus e verifique as configurações padrão para autenticação externa:

      sqlplus / as sysdba
      SQL> show parameter os_authent_prefix
      SQL> show parameter remote_os_authent
      

      A saída deve ser semelhante a este exemplo, que mostra ops$ como prefixo de nome de usuário do banco de dados:

      NAME                                 TYPE        VALUE
      ------------------------------------ ----------- ------------------------------
      os_authent_prefix                    string      ops$
      remote_os_authent                    boolean     FALSE
      
    2. Crie um usuário de banco de dados chamado ops$azbackup para autenticação externa ao azbackup usuário e conceda SYSBACKUP privilégios:

      SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY;
      SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
      
  7. Se você receber o erro ORA-46953: The password file is not in the 12.2 format ao executar a instrução GRANT, siga essas etapas para migrar o arquivo orapwdpara o formato 12.2. Execute essas etapas para cada instância do Oracle Database na VM.

    1. Saia do SQL Plus.

    2. Mude o arquivo de senha com o formato antigo para um novo nome.

    3. Migre o arquivo de senha.

    4. Exclua o arquivo antigo.

    5. Execute os seguintes comandos:

      mv $ORACLE_HOME/dbs/orapworatest1 $ORACLE_HOME/dbs/orapworatest1.tmp
      orapwd file=$ORACLE_HOME/dbs/orapworatest1 input_file=$ORACLE_HOME/dbs/orapworatest1.tmp
      rm $ORACLE_HOME/dbs/orapworatest1.tmp
      
    6. Execute novamente a operação GRANT no SQL Plus.

  8. Crie um procedimento armazenado para registrar mensagens de backup no log de alertas do banco de dados. Use o seguinte código para cada banco de dados instalado na VM:

    sqlplus / as sysdba
    SQL> GRANT EXECUTE ON DBMS_SYSTEM TO SYSBACKUP;
    SQL> CREATE PROCEDURE sysbackup.azmessage(in_msg IN VARCHAR2)
    AS
      v_timestamp     VARCHAR2(32);
    BEGIN
      SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
      INTO v_timestamp FROM DUAL;
      DBMS_OUTPUT.PUT_LINE(v_timestamp || ' - ' || in_msg);
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.ALERT_FILE, in_msg);
    END azmessage;
    /
    SQL> SHOW ERRORS
    SQL> QUIT
    

Configure os backup consistente com o aplicativo

  1. Mude para o usuário raiz:

    sudo su -
    
  2. Verifique a pasta /etc/azure. Se não estiver presente, crie o diretório de trabalho para o backup consistente com o aplicativo:

    if [ ! -d "/etc/azure" ]; then
       mkdir /etc/azure
    fi
    
  3. Verifique o arquivo workload.conf dentro da pasta. Se não estiver presente, crie-o no diretório /etc/azure e dê a ele o seguinte conteúdo. Os comentários devem começar com [workload]. Se o arquivo já estiver presente, basta editar os campos para que correspondam ao conteúdo a seguir. Caso contrário, o comando a seguir cria o arquivo e preenche o conteúdo:

    echo "[workload]
    workload_name = oracle
    configuration_path = /etc/oratab
    timeout = 90
    linux_user = azbackup" > /etc/azure/workload.conf
    

    O arquivo workload.conf usa o seguinte formato:

    • O parâmetro workload_name indica o tipo de carga de trabalho do banco de dados. Nesse caso, definir o parâmetro como Oracle permite que o Backup do Azure execute os pré-scripts e pós-scripts corretos (comandos de consistência) para instâncias do Oracle Database.
    • O parâmetro timeout indica o tempo máximo, em segundos, que cada banco de dados deve concluir instantâneos de armazenamento.
    • O parâmetro linux_user indica a conta de usuário do Linux que o Backup do Azure usa para executar operações de inatividade do banco de dados. Você criou esse usuário, azbackup, anteriormente.
    • O parâmetro configuration_path indica o nome do caminho absoluto para um arquivo de texto na VM. Cada linha lista uma instância de banco de dados em execução na VM. Normalmente, esse é o arquivo /etc/oratab que o Oracle gera durante a instalação do banco de dados, mas pode ser qualquer arquivo com qualquer nome que você escolher. Deve seguir essas regras de formato:
      • O arquivo é um arquivo de texto. Cada campo é delimitado pelo caractere dois pontos (:).
      • O primeiro campo em cada linha é o nome de uma ORACLE_SID instância.
      • O segundo campo em cada linha é o nome do caminho absoluto para ORACLE_HOME para aquela ORACLE_SID instância.
      • Todo o texto após os dois primeiros campos será ignorado.
      • Se a linha começar com um sinal de cerquilha (#), a linha inteira será ignorada como um comentário.
      • Se o primeiro campo tiver o valor +ASM, denotando uma instância do Oracle ASM, ele será ignorado.

Dispare um backup consistente com o aplicativo da VM

  1. No portal do Azure, acesse seu grupo de recursos rg-oracle e selecione sua máquina virtual vmoracle19c.

  2. No painel Backup:

    1. Em Cofre de serviços de recuperação, selecione Criar novo.
    2. Para o nome do cofre, use myVault.
    3. Para Grupo de recursos, selecione rg-oracle.
    4. Em Escolher política de backup, use (new) DailyPolicy. Se você quiser alterar a frequência de backup ou o intervalo de retenção, selecione Criar uma nova política.

    Captura de tela que mostra o painel para configurar um novo cofre dos Serviços de Recuperação.

  3. Selecione Habilitar Backup.

    O processo de backup não inicia até que o tempo agendado expire. Para configurar um backup imediato, conclua a próxima etapa.

  4. No painel do grupo de recursos, selecione seu cofre de Serviços de Recuperação recém-criado chamado myVault. Talvez seja necessário atualizar a página para vê-lo.

  5. No painel myVault - Itens de backup, em BACKUP ITEM COUNT, selecione a contagem de itens de backup.

    Captura de tela que mostra detalhes de um cofre dos Serviços de Recuperação.

  6. No painel Itens de backup (Máquina virtual do Azure), selecione o botão de reticências (...) e, em seguida, selecione Fazer backup agora.

    Captura de tela que mostra o comando para fazer backup dos cofres dos Serviços de Recuperação agora.

  7. Aceite o valor padrão Manter backup até e selecione OK. Aguarde o processo de backup ser concluído.

  8. Para visualizar o status do trabalho de backup, selecione Trabalhos de backup.

    Captura de tela que mostra o painel que lista os trabalhos de backup para um cofre dos Serviços de Recuperação.

    Selecione o trabalho de backup para ver detalhes sobre seu status.

    Captura de tela que mostra informações detalhadas de status de uma tarefa de backup.

    Embora leve alguns segundos para executar o instantâneo, pode levar mais tempo para transferi-lo para o cofre. O trabalho de backup não será concluído até que a transferência seja concluída.

  9. Para um backup consistente com o aplicativo, resolva quaisquer erros no arquivo de log em /var/log/azure/Microsoft.Azure.RecoveryServices.VMSnapshotLinux/extension.log.

Restaurar a VM

Restaurar uma VM inteira significa restaurar a VM e seus discos anexados para uma nova VM a partir de um ponto de restauração selecionado. Essa ação também restaura todos os bancos de dados executados na VM. Depois, você precisa recuperar cada banco de dados.

Para restaurar uma VM inteira, conclua essas etapas:

  1. Parar e excluir a VM.
  2. Recuperar a VM.
  3. Definir o endereço IP público.
  4. Recuperar o banco de dados.

Há duas opções principais ao restaurar uma VM:

  • Restaure a VM da qual os backups foram originalmente feitos.
  • Restaurar (clonar) uma nova VM sem afetar a VM da qual os backups foram originalmente feitos.

Os primeiros passos nesse exercício (parar, excluir e recuperar a VM) simulam o primeiro caso de uso.

Parar e excluir a VM

  1. No portal do Azure, vá para a máquina virtual vmoracle19c e selecione Parar.

  2. Quando a máquina virtual não estiver mais em execução, selecione Excluir e depois Sim.

    Captura de tela que mostra a mensagem de confirmação para exclusão de uma máquina virtual.

Recuperar a VM

  1. Crie uma conta de armazenamento para preparação no portal do Azure:

    1. No portal do Azure, selecione + Criar um recurso e, em seguida, pesquise e selecione Conta de armazenamento.

      Captura de tela que mostra onde criar um recurso.

    2. No painel Criar conta de armazenamento:

      1. Para Grupo de recursos, selecione seu grupo de recursos existente, rg-oracle.
      2. Para Nome da conta de armazenamento, insira oracrestore.
      3. Assegure-se de que Local esteja configurado para a mesma região de todos os outros recursos no grupo de recursos.
      4. Alto Desempenho para Standard.
      5. Para Tipo de conta, selecione StorageV2 (uso geral v2).
      6. Em Replicação, selecione Armazenamento com redundância local (LRS) .

      Captura de tela que mostra informações básicas para criar uma conta de armazenamento.

    3. Clique em Examinar + Criar, depois em Criar.

  2. No portal do Azure, procure o cofre myVault Recovery Services e selecione-o.

    Captura de tela que mostra a seleção de um cofre dos Serviços de Recuperação.

  3. No painel Visão geral, selecione Itens de backup. Em seguida, selecione Azure Virtual Machine, que deve ter um número diferente de zero para BACKUP ITEM COUNT.

    Captura de tela que mostra seleções para um item de backup de máquina virtual para um cofre dos Serviços de Recuperação.

  4. No painel Itens de backup (máquina virtual do Azure), selecione a VM vmoracle19c.

    Captura de tela que mostra o painel para itens de backup da máquina virtual.

  5. No painel vmoracle19c, escolha um ponto de restauração que tenha um tipo de consistência de Application Consistent. Selecione as reticências (...) e, em seguida, selecione Restaurar VM.

    Captura de tela que mostra o comando para restaurar uma VM.

  6. No painel Restaurar Máquina Virtual:

    1. Selecione Criar.

    2. Para Tipo de restauração, selecione Criar nova máquina virtual.

    3. Para Nome da máquina virtual, digite vmoracle19c.

    4. Para Rede virtual, selecione vmoracle19cVNET.

      A sub-rede é preenchida automaticamente com base na sua seleção para a rede virtual.

    5. Para Local de preparação, o processo de restauração de uma VM requer uma conta de armazenamento do Azure no mesmo grupo de recursos e região. Você pode escolher uma conta de armazenamento ou uma tarefa de restauração configurada anteriormente.

    Captura de tela que mostra valores para restaurar uma máquina virtual.

  7. Para restaurar a VM, selecione o botão Restaurar.

  8. Para visualizar o status do processo de restauração, selecione Trabalhos e, em seguida, selecione Trabalhos de backup.

    Captura de tela que mostra uma lista de trabalhos de backup.

    Selecione a operação de restauração Em andamento para mostrar detalhes sobre o status do processo de restauração.

    Captura de tela que mostra informações detalhadas de status sobre um processo de restauração.

Definir o endereço IP público

Depois que a VM for restaurada, você precisa reatribuir o endereço IP original para a nova VM.

  1. No portal do Azure, acesse sua máquina virtual chamada vmoracle19c. É atribuído a ele um novo IP público e NIC semelhante a vmoracle19c-nic-XXXXXXXXXXXX, mas não tem um endereço DNS. Quando a VM original foi excluída, seu IP público e NIC foram mantidos. Os próximos passos são reconectá-los à nova VM.

    Captura de tela que mostra uma lista de endereços IP públicos.

  2. Pare a VM.

    Captura de tela que mostra seleções para parar uma máquina virtual.

  3. Vá para Rede.

    Captura de tela que mostra informações de rede.

  4. Selecione Anexar o adaptador de rede. Selecione a NIC original vmoracle19cVMNic, à qual o endereço IP público original ainda está associado. Em seguida, selecione OK.

    Captura de tela que mostra a seleção do tipo de recurso e dos valores da NIC.

  5. Desanexe a NIC que você criou com a operação de restauração da VM, pois ela está configurada como a interface primária. Selecione Desanexar interface de rede, selecione a NIC semelhante a vmoracle19c-nic-XXXXXXXXXXXX e selecione OK.

    Captura de tela que mostra o painel para desanexar uma interface de rede.

    Sua VM recriada agora tem a NIC original, que está associada ao endereço IP original e às regras do grupo de segurança de rede.

    Captura de tela que mostra um valor de endereço IP.

  6. Volte para o painel Visão geral e selecione Iniciar.

Recuperar o banco de dados

Para recuperar um banco de dados após uma restauração completa da VM:

  1. Reconecte-se à VM:

    ssh azureuser@<publicIpAddress>
    
    

    Quando toda a VM for restaurada, é importante recuperar os bancos de dados na VM executando as seguintes etapas em cada banco de dados.

  2. Você pode descobrir que a instância está em execução porque a inicialização automática tentou iniciar o banco de dados na inicialização da VM. Entretanto, o banco de dados requer recuperação e provavelmente está somente no estágio de montagem. Execute um desligamento preparatório antes de iniciar o estágio de montagem:

    sudo su - oracle
    sqlplus / as sysdba
    SQL> shutdown immediate
    SQL> startup mount
    
  3. Executar recuperação de banco de dados.

    É importante especificar a USING BACKUP CONTROLFILE sintaxe para informar ao comando RECOVER AUTOMATIC DATABASE que a recuperação não deve parar no número de alteração do sistema Oracle (SCN) registrado no arquivo de controle do banco de dados restaurado.

    O arquivo de controle do banco de dados restaurado era um instantâneo, junto com o restante do banco de dados. O SCN armazenado nele é do ponto no tempo do instantâneo. Pode haver transações registradas após esse ponto, e você deseja recuperar até o ponto da última transação confirmada no banco de dados.

    SQL> recover automatic database using backup controlfile until cancel;
    
  4. Quando o último arquivo de log de arquivamento disponível for aplicado, digite CANCEL para finalizar a recuperação.

    Quando a recuperação for concluída com sucesso, a mensagem Media recovery complete aparecerá.

    Entretanto, quando você usa a cláusula BACKUP CONTROLFILE, o comando recover ignora os arquivos de log online. É possível que sejam necessárias alterações no log de refazer online atual para concluir a recuperação em um determinado momento. Nessa situação, você poderá ver mensagens semelhantes a estes exemplos:

    SQL> recover automatic database until cancel using backup controlfile;
    ORA-00279: change 2172930 generated at 04/08/2021 12:27:06 needed for thread 1
    ORA-00289: suggestion :
    /u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc
    ORA-00280: change 2172930 for thread 1 is in sequence #13
    ORA-00278: log file
    '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc' no
    longer needed for this recovery
    ORA-00308: cannot open archived log
    '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc'
    ORA-27037: unable to obtain file status
    Linux-x86_64 Error: 2: No such file or directory
    Additional information: 7
    
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    

    Importante

    Se o log de refazer online atual for perdido ou corrompido e você não puder usá-lo, você pode cancelar a recuperação neste momento.

    Para corrigir essa situação, você pode identificar qual log online não foi arquivado e fornecer o nome do arquivo totalmente qualificado ao prompt.

  5. Abra o banco de dados.

    A opção RESETLOGS é necessária quando o comando RECOVER usa a opção USING BACKUP CONTROLFILE. RESETLOGS cria uma nova encarnação do banco de dados redefinindo o histórico de volta ao início, porque não há como determinar quanto da encarnação anterior do banco de dados foi ignorada na recuperação.

    SQL> alter database open resetlogs;
    
  6. Verifique se o conteúdo do banco de dados foi recuperado:

    SQL> select * from scott.scott_table;
    

O backup e a recuperação do Oracle Database em uma VM Linux do Azure foram concluídos.

Você pode encontrar mais informações sobre comandos e conceitos do Oracle na documentação do Oracle, incluindo:

Excluir a VM

Quando a VM não for mais necessária, use o comando a seguir para remover o grupo de recursos, a VM e todos os recursos relacionados:

  1. Desabilite a exclusão reversível de backups no cofre:

    az backup vault backup-properties set --name myVault --resource-group rg-oracle --soft-delete-feature-state disable
    
  2. Pare a proteção da VM e exclua os backups:

    az backup protection disable --resource-group rg-oracle --vault-name myVault --container-name vmoracle19c --item-name vmoracle19c --delete-backup-data true --yes
    
  3. Remova o grupo de recursos, incluindo todos os recursos:

    az group delete --name rg-oracle
    

Próximas etapas

Criar VMs altamente disponíveis

Explorar exemplos da CLI do Azure para implantação de VM