Fazer backup e recuperar o Oracle Database em uma VM Linux do Azure usando o Backup do Azure
Aplica-se a: ✔️ Linux VMs
Este artigo demonstra o uso do Backup do Azure para tirar instantâneos de disco de discos de máquina virtual (VM), que incluem os arquivos do Oracle Database e a área de recuperação rápida do Oracle. Usando o Backup do Azure, você pode tirar instantâneos de disco completo 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 aplicativos, que garantem que mais correções não sejam necessárias para restaurar os dados. Os backups consistentes com aplicativos funcionam com bancos de dados do sistema de arquivos e do Oracle Automatic Storage Management (ASM).
A restauração de dados consistentes com aplicativos reduz o tempo de restauração, para que você possa retornar rapidamente a um estado de execução. A recuperação do banco de dados Oracle ainda é necessária após a restauração. Você facilita a recuperação usando arquivos de log de refazer arquivados Oracle que são capturados e armazenados em um compartilhamento de arquivos do Azure separado.
Este artigo orienta você pelas seguintes tarefas:
- Faça backup do banco de dados com backup consistente com o aplicativo.
- Restaure e recupere o banco de dados a partir de um ponto de recuperação.
- Restaure a VM a partir de um ponto de recuperação.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
Para executar o processo de backup e recuperação, você deve primeiro criar uma VM Linux que tenha uma instância instalada do Oracle Database 12.1 ou posterior.
Crie uma instância do Banco de Dados Oracle seguindo as etapas em Criar uma instância do Banco de Dados Oracle em uma VM do Azure.
Preparar o ambiente
Para preparar o ambiente, conclua estas etapas:
- Ligar à VM.
- Configure o armazenamento de Arquivos do Azure.
- Preparar as bases de dados.
Ligar-se à VM
Para criar uma sessão SSH (Secure Shell) com a VM, use o seguinte comando. Substitua
<publicIpAddress>
pelo valor de endereço público da sua VM.ssh azureuser@<publicIpAddress>
Mude para o usuário root:
sudo su -
Adicione o
oracle
usuário 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 refazer arquivados do Oracle
Os arquivos de log de refazer 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 rolar a partir de um instantâneo de banco de dados tirado no passado.
Quando o banco de dados está no ARCHIVELOG
modo, ele arquiva o conteúdo dos arquivos de log de refazer on-line quando eles ficam cheios e alternam. Juntamente com um backup, eles são necessários para obter recuperação point-in-time quando o banco de dados é perdido.
A Oracle oferece a capacidade de arquivar arquivos de log de refazer em diferentes locais. A prática recomendada do setor é que pelo menos um desses destinos esteja no armazenamento remoto, portanto, ele é separado do armazenamento do host e protegido com snapshots independentes. O Azure Files atende a esses requisitos.
Um compartilhamento de arquivos do Azure é o armazenamento que você anexa a uma VM Linux ou Windows como um componente regular do sistema de arquivos, usando o protocolo SMB (Server Message Block) ou NFS (Network File System). 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, volte a este guia e conclua todas as etapas restantes.
Preparar as bases de dados
Esta parte do processo pressupõe que você seguiu Criar uma instância do Banco de Dados Oracle em uma VM do Azure. Como resultado:
- Você tem uma instância Oracle nomeada
oratest1
que está sendo executada em uma VM chamadavmoracle19c
. - Você está usando o script Oracle
oraenv
padrão com sua dependência do 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:
Mude para o
oracle
utilizador:sudo su - oracle
Defina a variável
ORACLE_SID
de ambiente executando ooraenv
script. Ele solicita que você insira oORACLE_SID
nome.. oraenv
Adicione o compartilhamento de arquivos do Azure como outro destino para arquivos de log de arquivamento de banco de dados.
Esta etapa pressupõe que você configurou e montou um compartilhamento de arquivos do Azure na VM do Linux. Para cada banco de dados instalado na VM, crie um subdiretório com o nome do SID (identificador de segurança do banco de dados).
Neste exemplo, o nome do ponto de montagem é
/backup
e o SID éoratest1
. Assim, você cria o subdiretório/backup/oratest1
e altera a propriedade para ooracle
usuário. Substitua/backup/SID
o nome do ponto de montagem e o SID do banco de dados.sudo mkdir /backup/oratest1 sudo chown oracle:oinstall /backup/oratest1
Conecte-se ao banco de dados:
sqlplus / as sysdba
Inicie o banco de dados se ele ainda não estiver em execução:
SQL> startup
Defina o primeiro destino de log de arquivamento do banco de dados para o diretório de compartilhamento de arquivos criado anteriormente:
SQL> alter system set log_archive_dest_1='LOCATION=/backup/oratest1' scope=both;
Defina o RPO (Recovery Point Objetive, 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 refazer on-line são arquivados. Estes fatores controlam a frequência:
- O tamanho dos arquivos de log de refazer online. À medida que um arquivo de log on-line fica cheio, ele é trocado e arquivado. Quanto maior for o ficheiro de registo online, mais tempo demora a ser preenchido. O tempo adicional diminui a frequência de geração de arquivos.
- A configuração do parâmetro controla
ARCHIVE_LAG_TARGET
o número máximo de segundos permitido antes que o arquivo de log on-line atual deva ser comutado e arquivado.
Para minimizar a frequência de comutação e arquivamento, juntamente com a operação de ponto de verificação que o acompanha, os arquivos de log de refazer on-line da Oracle geralmente têm um tamanho grande (por exemplo, 1.024M, 4.096M ou 8.192M). Em um ambiente de banco de dados ocupado, é provável que os logs ainda alternem e arquivem a cada poucos segundos ou minutos. Em um banco de dados menos ativo, eles podem passar horas ou dias antes que as transações mais recentes sejam 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 paraARCHIVE_LAG_TARGET
. Ele garante que qualquer operação de recuperação de banco de dados possa ser recuperada dentro de 5 minutos do tempo da falha.Para definir
ARCHIVE_LAG_TARGET
, execute este comando:SQL> alter system set archive_lag_target=300 scope=both;
Para entender melhor como implantar instâncias de banco de dados Oracle altamente disponíveis no Azure com RPO zero, consulte Arquiteturas de referência para banco de dados Oracle.
Verifique se o banco de dados está no modo de log de arquivamento para habilitar backups online.
Verifique primeiro o estado do arquivo de registos:
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOG
Se estiver no
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;
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 de seus dados usando o Backup do Azure
O serviço de Backup do Azure fornece soluções para fazer backup de 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 interno de pontos de recuperação, para que você possa restaurar conforme necessário.
Nesta seção, você usa o Backup do Azure para tirar instantâneos consistentes com o aplicativo de suas instâncias de VM e Banco de Dados Oracle 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 copy-on-write. É um meio eficaz para restaurar seu banco de dados.
A vantagem de usar instantâneos consistentes com aplicativos do Backup do Azure é que eles são rápidos de tirar, não importa o tamanho do seu banco de dados. Você pode usar um instantâneo para operações de restauração assim que o tirar, sem ter que 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:
- Entenda a estrutura do Backup do Azure.
- Prepare o ambiente para um backup consistente com o aplicativo.
- Configure backups consistentes com aplicativos.
- Acione um backup consistente com o aplicativo da VM.
Compreender a estrutura de 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 prescript para desativar os aplicativos antes de tirar um instantâneo dos discos. Ele chama um postscript para descongelar os aplicativos depois que o instantâneo é concluído.
A Microsoft aprimorou a estrutura para que o serviço de Backup do Azure forneça pré-scripts e postscripts empacotados para aplicativos selecionados. Esses prescripts e postscripts já estão carregados na imagem do Linux, então não há nada para você instalar. Basta nomear o aplicativo e, em seguida, o Backup do Azure invoca automaticamente os scripts relevantes. A Microsoft gerencia os pré-scripts e postscripts empacotados, para que você possa ter certeza do suporte, propriedade e validade deles.
Atualmente, os aplicativos suportados para a estrutura aprimorada são Oracle 12.x ou posterior e MySQL. Para obter detalhes, consulte Matriz de suporte para backups gerenciados de VM do Azure.
Você pode criar seus próprios scripts para o Backup do Azure usar com bancos de dados anteriores a 12.x. Scripts de exemplo estão disponíveis no GitHub.
Sempre que você faz um backup, a estrutura aprimorada executa os prescripts e postscripts em todas as instâncias do Oracle Database instaladas na VM. O configuration_path
parâmetro 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, consulte Configurar backups consistentes com aplicativos.
O Backup do Azure executa os prescripts e postscripts para cada banco de dados listado no arquivo para o qual configuration_path
aponta. As 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 Banco de Dados Oracle que operam no ARCHIVELOG
modo. Os prescripts e postscripts usam os comandos e END BACKUP
para obter consistência do ALTER DATABASE BEGIN
aplicativo.
Para que o backup do banco de dados seja consistente, os bancos de dados no NOARCHIVELOG
modo devem ser desligados corretamente antes que o snapshot seja iniciado.
Preparar o ambiente para um backup consistente com aplicativos
O Oracle Database emprega a separação de funções para fornecer separação de tarefas usando privilégios mínimos. 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 sistema operacional.
A SYSBACKUP
função de banco de dados (nome OSBACKUPDBA
genérico) 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 do sistema operacional para associar à SYSBACKUP
função. Mas você pode usar qualquer nome, portanto, precisa determinar o nome do grupo de SO que representa a função Oracle SYSBACKUP
primeiro.
Mude para o
oracle
utilizador:sudo su - oracle
Defina o ambiente Oracle:
export ORACLE_SID=oratest1 export ORAENV_ASK=NO . oraenv
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 é semelhante ao exemplo a seguir:
#define SS_BKP_GRP "backupdba"
Na saída, o valor entre aspas duplas é o nome do grupo de SO Linux para o qual a função Oracle
SYSBACKUP
é autenticada externamente. Neste exemplo, ébackupdba
. Anote o valor real.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 é semelhante ao exemplo a seguir:
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>
Crie um novo usuário de backup chamado
azbackup
que pertença ao grupo de SO que você verificou ou criou nas etapas anteriores. Substitua<group name>
pelo nome do grupo verificado. O usuário também é adicionado aooinstall
grupo para permitir que ele abra discos ASM.sudo useradd -g <group name> -G oinstall azbackup
Configure a autenticação externa para o novo usuário de backup.
O usuário
azbackup
de backup precisa ser capaz de acessar o banco de dados usando autenticação externa, para que ele 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 doazbackup
. O banco de dados usa um prefixo para o nome de usuário, que você precisa localizar.Execute as seguintes etapas para cada banco de dados instalado na VM:
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 o prefixo do nome de usuário do banco de dados:NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ os_authent_prefix string ops$ remote_os_authent boolean FALSE
Crie um usuário de banco de dados nomeado
ops$azbackup
para autenticação externa aoazbackup
usuário e concedaSYSBACKUP
privilégios:SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY; SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
Se você receber o erro
ORA-46953: The password file is not in the 12.2 format
ao executar aGRANT
instrução, siga estas etapas para migrar o arquivo orapwd para o formato 12.2. Execute estas etapas para cada instância do Oracle Database na VM.Saia do SQL Plus.
Mova o arquivo de senha com o formato antigo para um novo nome.
Migre o arquivo de senha.
Remova o ficheiro antigo.
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
Execute novamente a
GRANT
operação no SQL Plus.
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
Configurar backups consistentes com aplicativos
Mude para o usuário root:
sudo su -
Verifique a pasta /etc/azure . Se ele 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
Verifique o arquivo workload.conf dentro da pasta. Se não estiver presente, crie-o no diretório /etc/azure e dê-lhe o seguinte conteúdo. Os comentários devem começar com
[workload]
. Se o ficheiro já estiver presente, basta editar os campos para que correspondam ao seguinte conteúdo. 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
workload_name
parâmetro indica o tipo de carga de trabalho do banco de dados. Nesse caso, definir o parâmetro paraOracle
permitir que o Backup do Azure execute os prescripts e postscripts corretos (comandos de consistência) para instâncias do Banco de Dados Oracle. - O
timeout
parâmetro indica o tempo máximo, em segundos, que cada banco de dados deve concluir os snapshots de armazenamento. - O
linux_user
parâmetro indica a conta de usuário do Linux que o Backup do Azure usa para executar operações de desativação do banco de dados. Você criou este usuário,azbackup
, anteriormente. - O
configuration_path
parâmetro 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. Este é normalmente 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 as seguintes regras de formato:- O arquivo é um arquivo de texto. Cada campo é delimitado com o caractere 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
essaORACLE_SID
instância. - Todo o texto após os dois primeiros campos é ignorado.
- Se a linha começar com um sinal de libra (
#
), toda a linha será ignorada como um comentário. - Se o primeiro campo tiver o valor
+ASM
, indicando uma instância do Oracle ASM, ele será ignorado.
- O arquivo é um arquivo de texto. Cada campo é delimitado com o caractere de dois pontos (
- O
Acionar um backup consistente com o aplicativo da VM
No portal do Azure, vá para seu grupo de recursos rg-oracle e selecione sua máquina virtual vmoracle19c .
No painel Backup:
- Em Cofre dos Serviços de Recuperação, selecione Criar novo.
- Para o nome do cofre, use myVault.
- Para Grupo de recursos, selecione rg-oracle.
- Para Choose backup policy, use (new) DailyPolicy. Se quiser alterar a frequência de backup ou o intervalo de retenção, selecione Criar uma nova política .
Selecione Ativar Cópia de Segurança.
O processo de backup não é iniciado até que o tempo agendado expire. Para configurar um backup imediato, conclua a próxima etapa.
No painel do grupo de recursos, selecione o cofre dos Serviços de Recuperação recém-criado chamado myVault. Talvez seja necessário atualizar a página para vê-la.
No painel myVault - Itens de backup, em BACKUP ITEM COUNT, selecione a contagem de itens de backup.
No painel Itens de Backup (Máquina Virtual do Azure), selecione o botão de reticências (...) e, em seguida, selecione Fazer backup agora.
Aceite o valor padrão Reter backup até e selecione OK. Aguarde a conclusão do processo de backup.
Para exibir o status do trabalho de backup, selecione Trabalhos de backup.
Selecione a tarefa de backup para ver detalhes sobre seu status.
Embora demore segundos para executar o snapshot, pode levar mais tempo para transferi-lo para o vault. A tarefa de backup não será concluída até que a transferência seja concluída.
Para obter 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 estas etapas:
Há duas opções principais quando você está restaurando uma VM:
- Restaure a VM da qual os backups foram originalmente feitos.
- Restaure (clone) uma nova VM sem afetar a VM da qual os backups foram originalmente feitos.
As primeiras etapas deste exercício (parar, excluir e, em seguida, recuperar a VM) simulam o primeiro caso de uso.
Parar e excluir a VM
No portal do Azure, vá para a máquina virtual vmoracle19c e selecione Parar.
Quando a máquina virtual não estiver mais em execução, selecione Excluir e, em seguida , Sim.
Recuperar a VM
Crie uma conta de armazenamento para preparo no portal do Azure:
No portal do Azure, selecione + Criar um recurso e, em seguida, procure e selecione Conta de armazenamento.
No painel Criar conta de armazenamento:
- Para Grupo de recursos, selecione seu grupo de recursos existente, rg-oracle.
- Em Nome da conta de armazenamento, digite oracrestore.
- Certifique-se de que Localização está definida para a mesma região que todos os outros recursos no grupo de recursos.
- Defina o desempenho como padrão.
- Para Tipo de conta, selecione StorageV2 (uso geral v2).
- Em Replicação, selecione LRS (armazenamento com redundância local).
Selecione Rever + Criar e, em seguida, selecione Criar.
No portal do Azure, procure o cofre dos Serviços de Recuperação myVault e selecione-o.
No painel Visão geral, selecione Itens de backup. Em seguida, selecione Máquina Virtual do Azure, que deve ter um número diferente de zero para BACKUP ITEM COUNT.
No painel Itens de Backups (Máquina Virtual do Azure), selecione a VM vmoracle19c .
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.
No painel Restaurar Máquina Virtual:
Selecione Criar Nova.
Em Tipo de restauração, selecione Criar nova máquina virtual.
Em Nome da máquina virtual, digite vmoracle19c.
Para Rede virtual, selecione vmoracle19cVNET.
A sub-rede é preenchida automaticamente com base na sua seleção para a rede virtual.
Para o Local de Preparo, 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.
Para restaurar a VM, selecione o botão Restaurar .
Para exibir o status do processo de restauração, selecione Trabalhos e, em seguida, selecione Trabalhos de Backup.
Selecione a operação de restauração Em andamento para mostrar detalhes sobre o status do processo de restauração.
Definir o endereço IP público
Depois que a VM for restaurada, você deverá reatribuir o endereço IP original à nova VM.
No portal do Azure, vá para sua máquina virtual chamada vmoracle19c. Ele recebe um novo IP público e NIC semelhante ao 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. As próximas etapas os reanexam à nova VM.
Parar a VM.
Vá para Rede.
Selecione Anexar interface de rede. Selecione a NIC vmoracle19cVMNic original, à qual o endereço IP público original ainda está associado. Em seguida, selecione OK.
Desanexe a NIC que você criou com a operação de restauração da VM, porque ela está configurada como a interface primária. Selecione Desanexar interface de rede, selecione a NIC semelhante a vmoracle19c-nic-XXXXXXXXXXXX e selecione OK.
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.
Volte ao painel Visão geral e selecione Iniciar.
Recuperar a base de dados
Para recuperar um banco de dados após uma restauração completa da VM:
Reconecte-se à VM:
ssh azureuser@<publicIpAddress>
Quando toda a VM é restaurada, é importante recuperar os bancos de dados na VM executando as seguintes etapas em cada banco de dados.
Você pode achar que a instância está em execução, porque o início automático tentou iniciar o banco de dados na inicialização da VM. No entanto, o banco de dados requer recuperação e é provável que esteja apenas 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
Execute a recuperação do banco de dados.
É importante especificar a
USING BACKUP CONTROLFILE
sintaxe para informar ao comando que aRECOVER AUTOMATIC DATABASE
recuperação não deve parar no número de alteração do sistema Oracle (SCN) registrado no arquivo de controle de banco de dados restaurado.O arquivo de controle de banco de dados restaurado era um instantâneo, juntamente com o restante do banco de dados. O SCN armazenado nele é a partir 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;
Quando o último arquivo de log de arquivamento disponível for aplicado, entre para
CANCEL
encerrar a recuperação.Quando a recuperação for concluída com êxito, a mensagem
Media recovery complete
será exibida.No entanto, quando você estiver usando a
BACKUP CONTROLFILE
cláusula, o comando recover ignorará os arquivos de log online. É possível que alterações no log de refazer on-line atual sejam necessárias para concluir a recuperação point-in-time. Nessa situação, você pode 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 on-line atual estiver perdido ou corrompido e você não puder usá-lo, poderá 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 de arquivo totalmente qualificado para o prompt.
Abra a base de dados.
A
RESETLOGS
opção é necessária quando oRECOVER
comando usa aUSING BACKUP CONTROLFILE
opção.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;
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 Oracle na documentação da Oracle, incluindo:
- Executando backups Oracle gerenciados pelo usuário de todo o banco de dados
- Executando a recuperação completa do banco de dados gerenciado pelo usuário
- Comando Oracle STARTUP
- Comando Oracle RECOVER
- Comando Oracle ALTER DATABASE
- Parâmetro Oracle LOG_ARCHIVE_DEST_n
- Parâmetro Oracle ARCHIVE_LAG_TARGET
Elimine a VM
Quando não precisar mais da VM, você poderá usar os seguintes comandos para remover o grupo de recursos, a VM e todos os recursos relacionados:
Desative a exclusão suave de backups no cofre:
az backup vault backup-properties set --name myVault --resource-group rg-oracle --soft-delete-feature-state disable
Pare a proteção para a VM e exclua backups:
az backup protection disable --resource-group rg-oracle --vault-name myVault --container-name vmoracle19c --item-name vmoracle19c --delete-backup-data true --yes
Remova o grupo de recursos, incluindo todos os recursos:
az group delete --name rg-oracle