Share via


Criar cópias de segurança e recuperar a Base de Dados Oracle numa VM linux do Azure com Azure Backup

Aplica-se a: ✔️ VMs do Linux

Este artigo demonstra a utilização de Azure Backup para tirar instantâneos de discos de máquinas virtuais (VMs), que incluem os ficheiros da Base de Dados Oracle e a área de recuperação rápida oracle. Ao utilizar Azure Backup, pode tirar instantâneos de disco completos que são adequados como cópias de segurança e são armazenados num cofre dos Serviços de Recuperação.

Azure Backup também fornece cópias de segurança consistentes com a aplicação, que garantem que não são necessárias mais correções para restaurar os dados. As cópias de segurança consistentes com a aplicação funcionam com o sistema de ficheiros e as bases de dados de Gestão Automática de Armazenamento (ASM) do Oracle.

Restaurar dados consistentes com aplicações reduz o tempo de restauro, para que possa regressar rapidamente a um estado de execução. A recuperação da Base de Dados Oracle continua a ser necessária após o restauro. Para facilitar a recuperação, utilize os ficheiros de registo de fase de rollforline arquivados do Oracle que são capturados e armazenados numa partilha de ficheiros do Azure separada.

Este artigo explica-lhe as seguintes tarefas:

  • Crie uma cópia de segurança da base de dados com uma cópia de segurança consistente com a aplicação.
  • Restaure e recupere a base de dados a partir de um ponto de recuperação.
  • Restaure a VM a partir de um ponto de recuperação.

Pré-requisitos

  • Para executar o processo de cópia de segurança e recuperação, primeiro tem de criar uma VM do Linux que tenha uma instância instalada da Base de Dados Oracle 12.1 ou posterior.

  • Crie uma instância da Base de Dados Oracle ao seguir os passos em Criar uma instância da Base de Dados Oracle numa VM do Azure.

Preparar o ambiente

Para preparar o ambiente, conclua estes passos:

  1. Ligue-se à VM.
  2. Configure Ficheiros do Azure armazenamento.
  3. Prepare as bases de dados.

Ligar à VM

  1. Para criar uma sessão secure shell (SSH) com a VM, utilize o seguinte comando. Substitua <publicIpAddress> pelo valor de endereço público da VM.

    ssh azureuser@<publicIpAddress>
    
  2. Mude para o utilizador raiz:

    sudo su -
    
  3. Adicione o oracle utilizador ao ficheiro /etc/sudoers :

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

Configurar o armazenamento de Ficheiros do Azure para os ficheiros de registo de fase de rollforfory arquivados do Oracle

Os ficheiros de registo de refazer arquivados da instância da Base de Dados Oracle desempenham um papel crucial na recuperação da base de dados. Armazenam as transações consolidadas necessárias para avançar a partir de um instantâneo de base de dados tirado no passado.

Quando a base de dados está em ARCHIVELOG modo, arquiva os conteúdos dos ficheiros de registo de fase de rollforens online quando ficam cheios e mudam. Juntamente com uma cópia de segurança, são necessários para obter uma recuperação para um ponto anterior no tempo quando a base de dados é perdida.

O Oracle fornece a capacidade de arquivar ficheiros de registo de fase de rollforing para localizações diferentes. A melhor prática do setor é que pelo menos um desses destinos deve estar no armazenamento remoto, pelo que é separado do armazenamento do anfitrião e protegido por instantâneos independentes. Ficheiros do Azure cumpre esses requisitos.

Uma partilha de ficheiros do Azure é um armazenamento que anexa a uma VM do Linux ou do Windows como um componente normal do sistema de ficheiros, através do protocolo SMB (Server Message Block) ou de Sistema de Ficheiros de Rede (NFS). Para configurar uma partilha de ficheiros do Azure no Linux (com o protocolo SMB 3.0) para utilizar como armazenamento de registos de arquivo, veja Montar uma partilha de ficheiros do Azure SMB no Linux. Quando concluir a configuração, regresse a este guia e conclua todos os passos restantes.

Preparar as bases de dados

Esta parte do processo pressupõe que seguiu Criar uma instância da Base de Dados Oracle numa VM do Azure. Como resultado:

  • Tem uma instância oracle denominada oratest1 que está em execução numa VM chamada vmoracle19c.
  • Está a utilizar o script Oracle oraenv padrão com a respetiva dependência no ficheiro de configuração standard oracle /etc/oratab para configurar variáveis de ambiente numa sessão de shell.

Execute os seguintes passos para cada base de dados na VM:

  1. Mudar para o oracle utilizador:

     sudo su - oracle
    
  2. Defina a variável ORACLE_SID de ambiente ao executar o oraenv script. Ser-lhe-á pedido que introduza o ORACLE_SID nome.

    . oraenv
    
  3. Adicione a partilha de ficheiros do Azure como outro destino para ficheiros de registo de arquivo de bases de dados.

    Este passo pressupõe que configurou e montou uma partilha de ficheiros do Azure na VM do Linux. Para cada base de dados instalada na VM, crie um subdiretório com o nome do identificador de segurança da base de dados (SID).

    Neste exemplo, o nome do ponto de montagem é /backup e o SID é oratest1. Por isso, crie o subdiretório /backup/oratest1 e altere a propriedade para o oracle utilizador. Substitua o /backup/SID nome do ponto de montagem e o SID da base de dados.

    sudo mkdir /backup/oratest1
    sudo chown oracle:oinstall /backup/oratest1
    
  4. Ligar à base de dados:

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

    SQL> startup
    
  6. Defina o primeiro destino de registo de arquivo da base de dados para o diretório de partilha de ficheiros que criou anteriormente:

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

    Para obter um RPO consistente, considere a frequência com que os ficheiros de registo de refazer online serão arquivados. Estes fatores controlam a frequência:

    • O tamanho dos ficheiros de registo de refazer online. À medida que um ficheiro de registo online fica cheio, é mudado e arquivado. Quanto maior for o ficheiro de registo online, mais tempo demorará a preencher. O tempo adicionado diminui a frequência da geração de arquivo.
    • A definição do ARCHIVE_LAG_TARGET parâmetro controla o número máximo de segundos permitidos antes de o ficheiro de registo online atual ter de ser mudado e arquivado.

    Para minimizar a frequência de comutação e arquivamento, juntamente com a operação de ponto de verificação associada, os ficheiros de registo de refazer online da Oracle geralmente têm um tamanho grande (por exemplo, 1,024M, 4.096M ou 8,192M). Num ambiente de base de dados ocupado, é provável que os registos mudem e arquivem a cada poucos segundos ou minutos. Numa base de dados menos ativa, podem demorar horas ou dias até as transações mais recentes serem arquivadas, o que diminuiria drasticamente a frequência de arquivo.

    Recomendamos que defina ARCHIVE_LAG_TARGET para garantir um RPO consistente. Uma definição de 5 minutos (300 segundos) é um valor prudente para ARCHIVE_LAG_TARGET. Garante que qualquer operação de recuperação da base de dados pode recuperar para um período de 5 minutos após a falha.

    Para definir ARCHIVE_LAG_TARGET, execute este comando:

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

    Para compreender melhor como implementar instâncias do Oracle Database de elevada disponibilidade no Azure com zero RPO, veja Arquiteturas de referência para a Oracle Database.

  8. Certifique-se de que a base de dados está no modo de registo de arquivo para ativar as cópias de segurança online.

    Verifique primeiro o estado do arquivo de registos:

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

    Se estiver em NOARCHIVELOG modo, 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 cópia de segurança e restauro:

    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
    

Fazer uma cópia de segurança dos seus dados com Azure Backup

O serviço Azure Backup fornece soluções para criar cópias de segurança dos seus dados e recuperá-los a partir da cloud do Microsoft Azure. Azure Backup fornece cópias de segurança independentes e isoladas para proteger contra a destruição acidental de dados originais. As cópias de segurança são armazenadas num cofre dos Serviços de Recuperação com gestão incorporada de pontos de recuperação, para que possa restaurar conforme necessário.

Nesta secção, vai utilizar Azure Backup para tirar instantâneos consistentes com a aplicação das instâncias da VM em execução e da Base de Dados Oracle. As bases de dados são colocadas no modo de cópia de segurança, o que permite que ocorra uma cópia de segurança online consistente de forma transacional enquanto Azure Backup tira um instantâneo dos discos da VM. O instantâneo é uma cópia completa do armazenamento e não um instantâneo incremental ou copy-on-write. É um meio eficaz para restaurar a sua base de dados.

A vantagem de utilizar Azure Backup instantâneos consistentes com a aplicação é que são rápidos de tirar, independentemente do tamanho da sua base de dados. Pode utilizar um instantâneo para operações de restauro assim que o utilizar, sem ter de esperar que seja transferido para o cofre dos Serviços de Recuperação.

Para utilizar Azure Backup para fazer uma cópia de segurança da base de dados, conclua estes passos:

  1. Compreenda a arquitetura Azure Backup.
  2. Prepare o ambiente para uma cópia de segurança consistente com a aplicação.
  3. Configurar cópias de segurança consistentes com aplicações.
  4. Acionar uma cópia de segurança consistente com a aplicação da VM.

Compreender a arquitetura de Azure Backup

O serviço Azure Backup fornece uma arquitetura para alcançar a consistência da aplicação durante as cópias de segurança de VMs do Windows e linux para várias aplicações. Esta arquitetura envolve invocar um pré-script para questionar as aplicações antes de tirar um instantâneo dos discos. Chama um pós-script para libertar as aplicações após a conclusão do instantâneo.

A Microsoft melhorou a arquitetura para que o serviço Azure Backup forneça pré-scripts e pós-scripts em pacote para aplicações selecionadas. Estes pré-scripts e pós-scripts já estão carregados na imagem do Linux, pelo que não há nada para instalar. Basta atribuir um nome à aplicação e, em seguida, Azure Backup invoca automaticamente os scripts relevantes. A Microsoft gere os pré-scripts e pós-scripts empacotados, para que possa ter a certeza do suporte, propriedade e validade dos mesmos.

Atualmente, as aplicações suportadas para a arquitetura melhorada são Oracle 12.x ou posterior e MySQL. Para obter detalhes, veja Matriz de suporte para cópias de segurança de VMs geridas do Azure.

Pode criar os seus próprios scripts para Azure Backup utilizar com bases de dados anteriores a 12.x. Estão disponíveis scripts de exemplo no GitHub.

Sempre que fizer uma cópia de segurança, a arquitetura melhorada executa os pré-scripts e pós-scripts em todas as instâncias da Base de Dados Oracle instaladas na VM. O configuration_path parâmetro no ficheiro workload.conf aponta para a localização do ficheiro Oracle /etc/oratab (ou um ficheiro definido pelo utilizador que segue a sintaxe oratab). Para obter detalhes, veja Configurar cópias de segurança consistentes com aplicações.

Azure Backup executa os pré-scripts e pós-scripts para cada base de dados listada no ficheiro que configuration_path aponta para. As exceções são linhas que começam por # (tratadas como comentários) ou +ASM (uma instância do Oracle ASM).

O Azure Backup arquitetura melhorada utiliza cópias de segurança online de instâncias da Base de Dados Oracle que operam no ARCHIVELOG modo. Os pré-scripts e pós-scripts utilizam os ALTER DATABASE BEGIN comandos e END BACKUP para alcançar a consistência da aplicação.

Para que a cópia de segurança da base de dados seja consistente, as bases de dados no NOARCHIVELOG modo têm de ser encerradas de forma limpa antes do instantâneo começar.

Preparar o ambiente para uma cópia de segurança consistente com a aplicação

A Oracle Database emprega a separação de funções de trabalho para proporcionar a separação de deveres através do menor privilégio. Associa grupos de sistema operativo (SO) separados a funções administrativas de bases de dados separadas. Em seguida, os utilizadores podem ter diferentes privilégios de base de dados concedidos aos mesmos, consoante a respetiva associação em grupos de SO.

A SYSBACKUP função de base de dados (nome OSBACKUPDBAgenérico) fornece privilégios limitados para realizar operações de cópia de segurança na base de dados. Azure Backup requer.

Durante a instalação do Oracle, recomendamos que utilize backupdba como o nome do grupo do SO para associar à função SYSBACKUP . Mas pode utilizar qualquer nome, pelo que tem de determinar primeiro o nome do grupo do SO que representa a função Oracle SYSBACKUP .

  1. Mude para o oracle utilizador:

    sudo su - oracle
    
  2. Defina o ambiente Oracle:

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

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

    O resultado tem um aspeto semelhante ao seguinte exemplo:

    #define SS_BKP_GRP "backupdba"
    

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

  4. Verifique se o grupo do SO existe ao executar o seguinte comando. Substitua <group name> pelo valor devolvido pelo comando anterior (sem as aspas).

    grep <group name> /etc/group
    

    O resultado tem um aspeto semelhante ao seguinte exemplo:

    backupdba:x:54324:oracle
    

    Importante

    Se o resultado não corresponder ao valor do grupo oracle OS que obteve no passo 3, utilize o seguinte comando para criar o grupo do SO que representa a função Oracle SYSBACKUP . Substitua <group name> pelo nome do grupo que obteve no passo 3.

    sudo groupadd <group name>
    
  5. Crie um novo utilizador de cópia de segurança com o nome azbackup que pertence ao grupo de SO que verificou ou criou nos passos anteriores. Substitua <group name> pelo nome do grupo verificado. O utilizador também é adicionado ao oinstall grupo para permitir que abra discos ASM.

    sudo useradd -g <group name> -G oinstall azbackup
    
  6. Configure a autenticação externa para o novo utilizador de cópia de segurança.

    O utilizador azbackup da cópia de segurança tem de conseguir aceder à base de dados através da autenticação externa, pelo que não é desafiado por uma palavra-passe. Para ativar este acesso, tem de criar um utilizador de base de dados que se autentice externamente através do azbackup. A base de dados utiliza um prefixo para o nome de utilizador, que precisa de encontrar.

    Execute os seguintes passos para cada base de dados instalada na VM:

    1. Inicie sessão na base de dados com o SQL Plus e verifique as predefinições para autenticação externa:

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

      O resultado deve ter o seguinte aspeto, que é apresentado ops$ como o prefixo de nome de utilizador da base de dados:

      NAME                                 TYPE        VALUE
      ------------------------------------ ----------- ------------------------------
      os_authent_prefix                    string      ops$
      remote_os_authent                    boolean     FALSE
      
    2. Crie um utilizador de base de dados com o nome ops$azbackup para autenticação externa ao azbackup utilizador e conceda SYSBACKUP privilégios:

      SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY;
      SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
      
  7. Se receber o erro ORA-46953: The password file is not in the 12.2 format ao executar a GRANT instrução, siga estes passos para migrar o ficheiro orapwd para o formato 12.2. Execute estes passos para cada instância da Base de Dados Oracle na VM.

    1. Saia do SQL Plus.

    2. Mova o ficheiro de palavra-passe com o formato antigo para um novo nome.

    3. Migrar o ficheiro de palavra-passe.

    4. Remova o ficheiro 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 GRANT operação no SQL Plus.

  8. Crie um procedimento armazenado para registar mensagens de cópia de segurança no registo de alertas da base de dados. Utilize o seguinte código para cada base de dados instalada 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
    

Configurar cópias de segurança consistentes com aplicações

  1. Mude para o utilizador raiz:

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

    if [ ! -d "/etc/azure" ]; then
       mkdir /etc/azure
    fi
    
  3. Verifique se existe o ficheiro workload.conf na pasta. Se não estiver presente, crie-o no diretório /etc/azure e atribua-lhe os seguintes conteúdos. Os comentários têm de começar com [workload]. Se o ficheiro já estiver presente, basta editar os campos para que correspondam aos seguintes conteúdos. Caso contrário, o seguinte comando cria o ficheiro e preenche o conteúdo:

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

    O ficheiro workload.conf utiliza o seguinte formato:

    • O workload_name parâmetro indica o tipo de carga de trabalho da base de dados. Neste caso, definir o parâmetro para Oracle permitir Azure Backup executar os pré-scripts e pós-scripts corretos (comandos de consistência) para instâncias da Base de Dados Oracle.
    • O timeout parâmetro indica o tempo máximo, em segundos, que cada base de dados tem de concluir os instantâneos de armazenamento.
    • O linux_user parâmetro indica a conta de utilizador do Linux que Azure Backup utiliza para executar operações de quiesce da base de dados. Criou este utilizador, azbackup, anteriormente.
    • O configuration_path parâmetro indica o nome do caminho absoluto para um ficheiro de texto na VM. Cada linha lista uma instância de base de dados em execução na VM. Normalmente, este é o ficheiro /etc/oratab que o Oracle gera durante a instalação da base de dados, mas pode ser qualquer ficheiro com qualquer nome que escolha. Tem de seguir estas regras de formato:
      • O ficheiro é um ficheiro de texto. Cada campo é delimitado com o caráter de 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 essa ORACLE_SID instância.
      • Todo o texto após os dois primeiros campos ser ignorado.
      • Se a linha começar com um sinal de libra (#), toda a linha é ignorada como um comentário.
      • Se o primeiro campo tiver o valor +ASM, denotando uma instância do Oracle ASM, é ignorado.

Acionar uma cópia de segurança consistente com a aplicação da VM

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

  2. No painel Cópia de Segurança :

    1. Em Cofre dos Serviços de Recuperação, selecione Criar novo.
    2. Para o nome do cofre, utilize myVault.
    3. Para Grupo de recursos, selecione rg-oracle.
    4. Em Escolher política de cópia de segurança, utilize (novo) DailyPolicy. Se quiser alterar a frequência de cópia de segurança ou o intervalo de retenção, selecione Criar uma nova política .

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

  3. Selecione Ativar Cópia de Segurança.

    O processo de cópia de segurança só é iniciado quando a hora agendada expirar. Para configurar uma cópia de segurança imediata, conclua o passo seguinte.

  4. No painel do grupo de recursos, selecione o cofre dos Serviços de Recuperação recentemente criado com o nome myVault. Poderá ter de atualizar a página para a ver.

  5. No painel myVault - Itens de cópia de segurança, em CONTAGEM DE ITENS DE CÓPIA DE SEGURANÇA, selecione a contagem de itens de cópia de segurança.

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

  6. No painel Itens de Cópia de Segurança (Máquina Virtual do Azure), selecione o botão de reticências (...) e, em seguida, selecione Fazer cópia de segurança agora.

    Captura de ecrã a mostrar o comando para fazer uma cópia de segurança dos cofres dos Serviços de Recuperação agora.

  7. Aceite o valor Predefinido Reter Cópia de Segurança Até e, em seguida, selecione OK. Aguarde até que o processo de cópia de segurança seja concluído.

  8. Para ver o estado da tarefa de cópia de segurança, selecione Tarefas de Cópia de Segurança.

    Captura de ecrã que mostra o painel que lista as tarefas de cópia de segurança de um cofre dos Serviços de Recuperação.

    Selecione a tarefa de cópia de segurança para ver detalhes sobre o respetivo estado.

    Captura de ecrã que mostra informações detalhadas sobre o estado de uma tarefa de cópia de segurança.

    Apesar de demorar apenas alguns segundos a executar o instantâneo, pode demorar algum tempo a transferi-lo para o cofre. A tarefa de cópia de segurança não é concluída até que a transferência esteja concluída.

  9. Para uma cópia de segurança consistente com a aplicação, resolva quaisquer erros no ficheiro de registo em /var/log/azure/Microsoft.Azure.RecoveryServices.VMSnapshotLinux/extension.log.

Restaurar a VM

Restaurar uma VM inteira significa que restaura a VM e os respetivos discos anexados para uma nova VM a partir de um ponto de restauro selecionado. Esta ação também restaura todas as bases de dados que são executadas na VM. Posteriormente, tem de recuperar cada base de dados.

Para restaurar uma VM inteira, conclua estes passos:

  1. Pare e elimine a VM.
  2. Recuperar a VM.
  3. Defina o endereço IP público.
  4. Recuperar a base de dados.

Existem duas opções principais ao restaurar uma VM:

  • Restaure a VM a partir da qual as cópias de segurança foram originalmente executadas.
  • Restaure (clone) uma nova VM sem afetar a VM a partir da qual as cópias de segurança foram originalmente executadas.

Os primeiros passos neste exercício (parar, eliminar e, em seguida, recuperar a VM) simulam o primeiro caso de utilização.

Parar e eliminar a VM

  1. Na portal do Azure, aceda à máquina virtual vmoracle19c e, em seguida, selecione Parar.

  2. Quando a máquina virtual já não estiver em execução, selecione Eliminar e, em seguida , Sim.

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

Recuperar a VM

  1. Crie uma conta de armazenamento para teste no portal do Azure:

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

      Captura de ecrã que mostra onde criar um recurso.

    2. No painel Criar conta de armazenamento :

      1. Em Grupo de recursos, selecione o grupo de recursos existente, rg-oracle.
      2. Em Nome da conta de armazenamento, introduza oracrestore.
      3. Certifique-se de que a Localização está definida para a mesma região que todos os outros recursos no grupo de recursos.
      4. Defina Desempenho como Standard.
      5. Em Tipo de conta, selecione StorageV2 (fins gerais v2).
      6. Para Replicação, selecione Armazenamento localmente redundante (LRS).

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

    3. Selecione Rever + Criar e, em seguida, selecione Criar.

  2. No portal do Azure, procure o cofre dos Serviços de Recuperação myVault e selecione-o.

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

  3. No painel Descrição Geral , selecione Itens de cópia de segurança. Em seguida, selecione Máquina Virtual do Azure, que deverá ter um número diferente de zero para CONTAGEM DE ITENS DE CÓPIA DE SEGURANÇA.

    Captura de ecrã que mostra as seleções de um item de cópia de segurança de uma máquina virtual para um cofre dos Serviços de Recuperação.

  4. No painel Itens de Cópias de Segurança (Máquina Virtual do Azure ), selecione a VM vmoracle19c .

    Captura de ecrã que mostra o painel de itens de cópia de segurança da máquina virtual.

  5. No painel vmoracle19c , escolha um ponto de restauro que tenha um tipo de consistência Consistente com a Aplicação. Selecione as reticências (...) e, em seguida, selecione Restaurar VM.

    Captura de ecrã a mostrar o comando para restaurar uma VM.

  6. No painel Restaurar Máquina Virtual :

    1. Selecione Criar Nova.

    2. Em Tipo de Restauro, selecione Criar nova máquina virtual.

    3. Em Nome da máquina virtual, introduza vmoracle19c.

    4. Em Rede virtual, selecione vmoracle19cVNET.

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

    5. Para a Localização de Teste, o processo de restauro de uma VM requer uma conta de armazenamento do Azure no mesmo grupo de recursos e região. Pode escolher uma conta de armazenamento ou uma tarefa de restauro que configurou anteriormente.

    Captura de ecrã que mostra os valores para restaurar uma máquina virtual.

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

  8. Para ver o estado do processo de restauro, selecione Tarefas e, em seguida, selecione Tarefas de Cópia de Segurança.

    Captura de ecrã que mostra uma lista de tarefas de cópia de segurança.

    Selecione a operação de restauro Em Curso para mostrar detalhes sobre o estado do processo de restauro.

    Captura de ecrã a mostrar informações de estado detalhadas sobre um processo de restauro.

Definir o endereço IP público

Depois de a VM ser restaurada, deve reatribuir o endereço IP original à nova VM.

  1. No portal do Azure, aceda à sua máquina virtual com o nome vmoracle19c. Foi-lhe atribuído um novo IP público e NIC semelhante a vmoracle19c-nic-XXXXXXXXXXXXXXXX, mas não tem um endereço DNS. Quando a VM original foi eliminada, o IP público e o NIC foram retidos. Os passos seguintes voltarão a ligá-los à nova VM.

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

  2. Parar a VM.

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

  3. Aceda a Rede.

    Captura de ecrã que mostra as informações de rede.

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

    Captura de ecrã que mostra a seleção do tipo de recurso e os valores NIC.

  5. Desanexe o NIC que criou com a operação de restauro da VM, porque está configurado como a interface primária. Selecione Desencaixar interface de rede, selecione a NIC semelhante a vmoracle19c-nic-XXXXXXXXXXXXXX E, em seguida, selecione OK.

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

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

    Captura de ecrã que mostra um valor de endereço IP.

  6. Voltar para o painel Descrição geral e selecione Iniciar.

Recuperar a base de dados

Para recuperar uma base de dados após um restauro completo da VM:

  1. Restabeleça a ligação à VM:

    ssh azureuser@<publicIpAddress>
    
    

    Quando toda a VM tiver sido restaurada, é importante recuperar as bases de dados na VM ao executar os seguintes passos em cada base de dados.

  2. Poderá descobrir que a instância está em execução, porque o início automático tentou iniciar a base de dados no arranque da VM. No entanto, a base de dados requer recuperação e é provável que esteja apenas na fase de montagem. Execute um encerramento preparatório antes de iniciar a fase de montagem:

    sudo su - oracle
    sqlplus / as sysdba
    SQL> shutdown immediate
    SQL> startup mount
    
  3. Efetue a recuperação da base de dados.

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

    O ficheiro de controlo de base de dados restaurado era um instantâneo, juntamente com o resto da base de dados. O SCN armazenado no mesmo é do ponto anterior no tempo do instantâneo. Poderá haver transações registadas após este ponto e pretende recuperar para o ponto da última transação consolidada na base de dados.

    SQL> recover automatic database using backup controlfile until cancel;
    
  4. Quando o último ficheiro de registo de arquivo disponível tiver sido aplicado, introduza CANCEL para terminar a recuperação.

    Quando a recuperação for concluída com êxito, a mensagem Media recovery complete é apresentada.

    No entanto, quando estiver a utilizar a BACKUP CONTROLFILE cláusula, o comando recuperar ignora os ficheiros de registo online. É possível que sejam necessárias alterações no registo de refazer online atual para concluir a recuperação para um ponto anterior no tempo. Nesta situação, 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 registo de refazer online atual estiver perdido ou danificado e não puder utilizá-lo, poderá cancelar a recuperação neste momento.

    Para corrigir esta situação, pode identificar que registo online não foi arquivado e fornecer o nome de ficheiro completamente qualificado à linha de comandos.

  5. Abra a base de dados.

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

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

    SQL> select * from scott.scott_table;
    

A cópia de segurança e a recuperação da Base de Dados Oracle numa VM do Linux do Azure estão agora concluídas.

Pode encontrar mais informações sobre os comandos e conceitos do Oracle na documentação do Oracle, incluindo:

Elimine a VM

Quando já não precisar da VM, pode utilizar os seguintes comandos para remover o grupo de recursos, a VM e todos os recursos relacionados:

  1. Desative a eliminação recuperável de cópias de segurança 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 elimine as cópias de segurança:

    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
    

Passos seguintes

Criar VMs de elevada disponibilidade

Explorar exemplos da CLI do Azure para implementação de VMs