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
Utilize o ambiente bash no Azure Cloud Shell. Para obter mais informações, veja Início Rápido do 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, veja Como executar a CLI do Azure num contentor 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 início de sessão, veja Iniciar sessão com a CLI do Azure.
Quando lhe for pedido, 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 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:
Ligar à VM
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>
Mude para o utilizador raiz:
sudo su -
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 chamadavmoracle19c
. - 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:
Mudar para o
oracle
utilizador:sudo su - oracle
Defina a variável
ORACLE_SID
de ambiente ao executar ooraenv
script. Ser-lhe-á pedido que introduza oORACLE_SID
nome.. oraenv
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 ooracle
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
Ligar à base de dados:
sqlplus / as sysdba
Inicie a base de dados se ainda não estiver em execução:
SQL> startup
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;
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 paraARCHIVE_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.
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;
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:
- Compreenda a arquitetura Azure Backup.
- Prepare o ambiente para uma cópia de segurança consistente com a aplicação.
- Configurar cópias de segurança consistentes com aplicações.
- 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 OSBACKUPDBA
gené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
.
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 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.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>
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 aooinstall
grupo para permitir que abra discos ASM.sudo useradd -g <group name> -G oinstall azbackup
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 doazbackup
. 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:
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
Crie um utilizador de base de dados com o nome
ops$azbackup
para autenticação externa aoazbackup
utilizador e concedaSYSBACKUP
privilégios:SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY; SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
Se receber o erro
ORA-46953: The password file is not in the 12.2 format
ao executar aGRANT
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.Saia do SQL Plus.
Mova o ficheiro de palavra-passe com o formato antigo para um novo nome.
Migrar o ficheiro de palavra-passe.
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 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
Mude para o utilizador raiz:
sudo su -
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
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 paraOracle
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
essaORACLE_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.
- O ficheiro é um ficheiro de texto. Cada campo é delimitado com o caráter de dois pontos (
- O
Acionar uma cópia de segurança consistente com a aplicação da VM
No portal do Azure, aceda ao grupo de recursos rg-oracle e selecione a sua máquina virtual vmoracle19c.
No painel Cópia de Segurança :
- Em Cofre dos Serviços de Recuperação, selecione Criar novo.
- Para o nome do cofre, utilize myVault.
- Para Grupo de recursos, selecione rg-oracle.
- 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 .
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.
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.
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.
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.
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.
Para ver o estado da tarefa de cópia de segurança, selecione Tarefas de Cópia de Segurança.
Selecione a tarefa de cópia de segurança para ver detalhes sobre o respetivo estado.
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.
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:
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
Na portal do Azure, aceda à máquina virtual vmoracle19c e, em seguida, selecione Parar.
Quando a máquina virtual já não estiver em execução, selecione Eliminar e, em seguida , Sim.
Recuperar a VM
Crie uma conta de armazenamento para teste no portal do Azure:
Na portal do Azure, selecione + Criar um recurso e, em seguida, procure e selecione Conta de armazenamento.
No painel Criar conta de armazenamento :
- Em Grupo de recursos, selecione o grupo de recursos existente, rg-oracle.
- Em Nome da conta de armazenamento, introduza oracrestore.
- Certifique-se de que a Localização está definida para a mesma região que todos os outros recursos no grupo de recursos.
- Defina Desempenho como Standard.
- Em Tipo de conta, selecione StorageV2 (fins gerais v2).
- Para Replicação, selecione Armazenamento localmente redundante (LRS).
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 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.
No painel Itens de Cópias de Segurança (Máquina Virtual do Azure ), selecione a VM vmoracle19c .
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.
No painel Restaurar Máquina Virtual :
Selecione Criar Nova.
Em Tipo de Restauro, selecione Criar nova máquina virtual.
Em Nome da máquina virtual, introduza vmoracle19c.
Em Rede virtual, selecione vmoracle19cVNET.
A sub-rede é preenchida automaticamente com base na sua seleção para a rede virtual.
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.
Para restaurar a VM, selecione o botão Restaurar .
Para ver o estado do processo de restauro, selecione Tarefas e, em seguida, selecione 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.
Definir o endereço IP público
Depois de a VM ser restaurada, deve reatribuir o endereço IP original à nova VM.
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.
Parar a VM.
Aceda a Rede.
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.
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.
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.
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:
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.
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
Efetue a recuperação da base de dados.
É importante especificar a
USING BACKUP CONTROLFILE
sintaxe para informar o comando de que aRECOVER 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;
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.
Abra a base de dados.
A
RESETLOGS
opção é necessária quando oRECOVER
comando utiliza a opçãoUSING 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;
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:
- Executar cópias de segurança geridas pelo utilizador oracle de toda a base de dados
- Realizar a recuperação completa da base de dados gerida pelo utilizador
- 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 já não precisar da VM, pode utilizar os seguintes comandos para remover o grupo de recursos, a VM e todos os recursos relacionados:
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
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
Remova o grupo de recursos, incluindo todos os recursos:
az group delete --name rg-oracle