Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: ✔️ Linux VMs
Este artigo demonstra o uso dos Arquivos do Azure como um meio para fazer backup e restaurar um banco de dados Oracle em execução em uma máquina virtual (VM) do Azure. As etapas neste artigo foram testadas em relação ao Oracle 12.1 e posterior.
Neste artigo, você usa o Oracle Recovery Manager (RMAN) para fazer backup do banco de dados em um compartilhamento de arquivos do Azure montado em uma VM por meio do protocolo SMB (Server Message Block). Usar os Arquivos do Azure para mídia de backup é econômico e de desempenho. No entanto, para bancos de dados grandes, o Backup do Azure fornece uma solução melhor.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para mais informações, veja Get started with 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 Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a 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. Recomendamos o uso do Oracle 12.x 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 de banco de dados
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
oracleusuário ao arquivo /etc/sudoers :echo "oracle ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoersEsta etapa pressupõe que você tenha uma instância Oracle (teste) em execução em uma VM chamada vmoracle19c.
Mude para o
oracleutilizador:sudo su - oracleAntes de se conectar, defina a variável
ORACLE_SIDde ambiente :export ORACLE_SID=test;Você também deve adicionar a
ORACLE_SIDvariável aooraclearquivo .bashrc do usuário para entradas futuras usando o seguinte comando:echo "export ORACLE_SID=test" >> ~oracle/.bashrcInicie o ouvinte Oracle se ele ainda não estiver em execução:
lsnrctl startO resultado deverá ter um aspeto semelhante ao seguinte exemplo:
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 18-SEP-2020 03:23:49 Copyright (c) 1991, 2019, Oracle. All rights reserved. Starting /u01/app/oracle/product/19.0.0/dbhome_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 19.0.0.0.0 - Production System parameter file is /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/vmoracle19c/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 18-SEP-2020 03:23:49 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/vmoracle19c/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) The listener supports no services The command completed successfullyCrie o local para a área de recuperação rápida:
mkdir /u02/fast_recovery_areaConecte-se ao banco de dados:
sqlplus / as sysdbaInicie o banco de dados se ele ainda não estiver em execução:
SQL> startupDefina variáveis de ambiente de banco de dados para a área de recuperação rápida:
SQL> alter system set db_recovery_file_dest_size=4096M scope=both; SQL> alter system set db_recovery_file_dest='/u02/fast_recovery_area' scope=both;Verifique se o banco de dados está no
ARCHIVELOGmodo para habilitar backups online.Verifique o status do arquivo de log:
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOGSe o arquivo de log estiver no
NOARCHIVELOGmodo, execute os seguintes comandos no SQL Plus: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
Fazer backup nos Arquivos do Azure
Para fazer backup nos Arquivos do Azure, conclua estas etapas:
- Configure os Arquivos do Azure.
- Monte o compartilhamento de arquivos do Azure em sua VM.
- Faça backup do banco de dados.
- Restaure e recupere o banco de dados.
Configurar Arquivos do Azure
Nesta seção, você faz backup do banco de dados Oracle para Arquivos do Azure usando o Oracle RMAN. Os compartilhamentos de arquivos do Azure são compartilhamentos de arquivos totalmente gerenciados que permanecem na nuvem. Você pode acessá-los usando o protocolo SMB ou o protocolo NFS (Network File System).
Os procedimentos a seguir abrangem a criação de um compartilhamento de arquivos que usa o protocolo SMB para montar em sua VM. Para obter informações sobre como montar usando NFS, consulte Criar um compartilhamento NFS.
Ao montar o compartilhamento de arquivos do Azure, use a opção para desabilitar o cache=none cache de dados de compartilhamento de arquivos. Para garantir que o oracle usuário seja o proprietário dos arquivos criados no compartilhamento, defina as uid=oracle opções e gid=oinstall .
Configure sua conta de armazenamento:
No portal do Azure, selecione + Criar um recurso e, em seguida, procure e selecione Conta de Armazenamento.
Captura de tela que mostra onde criar um recurso e selecionar uma conta de armazenamento.No painel Criar conta de armazenamento:
- Para Grupo de recursos, selecione seu grupo de recursos existente, rg-oracle.
- Para Nome da conta de armazenamento, digite oracbkup1.
- 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).
Captura de tela que mostra informações básicas para criar uma conta de armazenamento.Selecione a guia Avançado . Em Arquivos do Azure, defina Compartilhamentos de arquivos grandes como Habilitado. Selecione Rever + Criar e, em seguida, selecione Criar.
Captura de ecrã que mostra o separador para ativar partilhas de ficheiros grandes.Quando a conta de armazenamento for criada, vá para o recurso e selecione Compartilhamentos de arquivos.
Captura de tela que mostra onde selecionar compartilhamentos de arquivos para um recurso.Selecione + Compartilhamento de arquivos e, em seguida, no painel Novo compartilhamento de arquivos:
Em Nome, digite orabkup1.
Defina a cota como 10240 gibibytes (GiB).
A cota reflete um limite superior para o qual o compartilhamento de arquivos pode crescer. Como você está usando o armazenamento padrão neste exemplo, os recursos são pagos conforme o uso e não provisionados. Definir a cota para 10 tebibytes (TiB) não incorre em custos além do que você usa. Se sua estratégia de backup exigir mais armazenamento, defina a cota para um nível apropriado para armazenar todos os backups.
Em Camadas, selecione Transação otimizada.
Selecione Criar.
Captura de tela que mostra seleções para adicionar um novo compartilhamento de arquivos.Quando o compartilhamento de arquivos for criado, selecione orabkup1 no painel Configurações de compartilhamento de arquivos.
Selecione a guia Conectar para abrir o painel Conectar e, em seguida, selecione a guia Linux . Copie os comandos fornecidos para montar o compartilhamento de arquivos usando o protocolo SMB.
Captura de tela que mostra o painel para acessar os comandos para conectar um compartilhamento de arquivos a um computador Linux.
Monte o compartilhamento de arquivos do Azure em sua VM
Crie o ponto de montagem:
sudo mkdir /mnt/orabackupConfigure as credenciais:
if [ ! -d "/etc/smbcredentials" ]; then sudo mkdir /etc/smbcredentials fiExecute o seguinte comando. Substitua
<Your Storage Account Key1>pela chave da conta de armazenamento recuperada anteriormente.if [ ! -f "/etc/smbcredentials/orabackup1.cred" ]; then sudo bash -c 'echo "username=orabackup1" >> /etc/smbcredentials/orabackup1.cred' sudo bash -c 'echo "password=<Your Storage Account Key1>" >> /etc/smbcredentials/orabackup1.cred' fiAltere as permissões no arquivo de credenciais:
sudo chmod 600 /etc/smbcredentials/orabackup1.credAdicione a montagem ao arquivo /etc/fstab :
sudo bash -c 'echo "//orabackup1.file.core.windows.net/orabackup /mnt/orabackup cifs nofail,vers=3.0,credentials=/etc/smbcredentials/orabackup1.cred,dir_mode=0777,file_mode=0777,serverino,cache=none,uid=oracle,gid=oinstall" >> /etc/fstab'Execute os comandos para montar o compartilhamento de arquivos do Azure usando o protocolo SMB:
sudo mount -t cifs //orabackup1.file.core.windows.net/orabackup /mnt/orabackup -o vers=3.0,credentials=/etc/smbcredentials/orabackup1.cred,dir_mode=0777,file_mode=0777,serverino,cache=none,uid=oracle,gid=oinstallSe você receber um erro semelhante ao exemplo a seguir, o pacote Common Internet File System (CIFS) pode não estar instalado no host Linux:
mount: wrong fs type, bad option, bad superblock on //orabackup1.file.core.windows.net/orabackupPara verificar se o pacote CIFS está instalado, execute o seguinte comando:
sudo rpm -qa|grep cifs-utilsSe o comando não retornar nenhuma saída, instale o pacote CIFS usando o seguinte comando. Em seguida, execute novamente o
mountcomando para montar o compartilhamento de arquivos do Azure.sudo yum install cifs-utilsVerifique se o compartilhamento de arquivos está montado corretamente usando o seguinte comando:
df -hA saída deve ser semelhante a este exemplo:
$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.3G 0 3.3G 0% /dev tmpfs 3.3G 0 3.3G 0% /dev/shm tmpfs 3.3G 17M 3.3G 1% /run tmpfs 3.3G 0 3.3G 0% /sys/fs/cgroup /dev/sda2 30G 9.1G 19G 34% / /dev/sdc1 59G 2.7G 53G 5% /u02 /dev/sda1 497M 199M 298M 41% /boot /dev/sda15 495M 9.7M 486M 2% /boot/efi tmpfs 671M 0 671M 0% /run/user/54321 /dev/sdb1 14G 2.1G 11G 16% /mnt/resource tmpfs 671M 0 671M 0% /run/user/54322 //orabackup1.file.core.windows.net/orabackup 10T 0 10T 0% /mnt/orabackup
Fazer backup do banco de dados
Nesta seção, você usa o Oracle RMAN para fazer um backup completo do banco de dados e dos logs de arquivamento. Em seguida, você grava o backup como um conjunto de backup no compartilhamento de arquivos do Azure montado anteriormente.
Configure o RMAN para fazer backup no ponto de montagem dos Arquivos do Azure:
rman target / RMAN> configure snapshot controlfile name to '/mnt/orabkup/snapcf_ev.f'; RMAN> configure channel 1 device type disk format '/mnt/orabkup/%d/Full_%d_%U_%T_%s'; RMAN> configure channel 2 device type disk format '/mnt/orabkup/%d/Full_%d_%U_%T_%s';Neste exemplo, você está limitando o tamanho das peças de backup do RMAN a 4 GiB. No entanto, o valor de backup
maxpiecesizedo RMAN pode ir até 4 TiB, que é o limite de tamanho de arquivo para compartilhamentos de arquivos padrão do Azure e compartilhamentos de arquivos premium. Para obter mais informações, consulte Metas de desempenho e escalabilidade dos Arquivos do Azure.RMAN> configure channel device type disk maxpiecesize 4000G;Confirme os detalhes da alteração de configuração:
RMAN> show all;Execute o backup. O comando a seguir usa um backup completo do banco de dados, incluindo arquivos de log de arquivamento, como um conjunto de backup em formato compactado:
RMAN> backup as compressed backupset database plus archivelog;
Você fez backup do banco de dados online usando o Oracle RMAN, com o backup localizado nos Arquivos do Azure. Como você está armazenando os backups nos Arquivos do Azure, pode acessá-los de outras VMs se precisar clonar o banco de dados.
Usar o RMAN e os Arquivos do Azure para backup de banco de dados tem muitas vantagens. O tempo de backup e restauração está vinculado ao tamanho do banco de dados. Para grandes bancos de dados, essas operações podem levar um tempo considerável.
Uma alternativa é usar backups de VM consistentes com o aplicativo por meio do Backup do Azure. Esse mecanismo usa a tecnologia de snapshot para executar backups rápidos, independentemente do tamanho do banco de dados. A integração com um cofre dos Serviços de Recuperação fornece armazenamento em nuvem de seus backups do Banco de Dados Oracle, para que você possa acessá-los de outras VMs e outras regiões do Azure.
Restaurar e recuperar o banco de dados
Desligue a instância do Oracle:
sqlplus / as sysdba SQL> shutdown abort ORACLE instance shut down.Remova os arquivos de dados do banco de dados:
cd /u02/oradata/TEST rm -f *.dbfOs comandos a seguir usam o RMAN para restaurar os arquivos de dados ausentes e recuperar o banco de dados:
rman target / RMAN> startup mount; RMAN> restore database; RMAN> recover database; RMAN> alter database open;Verifique se o conteúdo do banco de dados está totalmente recuperado:
RMAN> SELECT * FROM scott.scott_table;
O backup e a recuperação do banco de dados Oracle Database 19c em uma VM Linux do Azure foram concluídos.
Elimine a VM
Quando não precisar mais da VM, você poderá usar o seguinte comando para remover o grupo de recursos, a VM e todos os recursos relacionados:
az group delete --name rg-oracle