Backup RMAN To Object Storage
A proposta deste artigo é demonstrar como realizar backups via RMAN de um ambiente on-premise para sua conta da OCI na nuvem. Serão abordadas as configurações iniciais e instalações necessárias, a execução do backup em si, e a manutenção desses backups na nuvem.
Para que tenhamos sucesso nesta migração de backups para a nuvem, precisaremos seguir alguns passos imprescindíveis:
Aplicativos necessários:
- Java | jdk-8u441-linux-x64.tar.gz
- Oracle Database Cloud Backup Module | opc_installer.zip
Informações requeridas:
- Tenancy Information
Compartimento de teste
- Localização
Fique tranquilo: ao longo do artigo, extrairemos e utilizaremos cada uma dessas informações no momento apropriado.
2º Passo – Criar o par de chaves para autenticação na OCI (Linux | Usuário Oracle)
No ambiente on-premise, criaremos duas chaves, que fazem parte da camada de segurança. Para isso, crie um diretório onde essas chaves serão armazenadas:
mkdir keystore
cd keystore
ls -lh
Gere uma chave privada RSA de 2048 bits com o OpenSSL:
openssl genrsa -out oci_key.pem 2048
Verifique com:
chmod 775 oci_key.pem
Agora, vamos gerar a chave pública com base na chave privada:
Agora, vamos gerar a chave pública com base na chave privada:
openssl rsa -pubout -in oci_key.pem -out oci_key_pub.pem
chmod 775 oci_key.pem oci_key_pub.pem
3º Passo – Copiar a chave pública para a OCI
Visualize a chave pública com:
cat oci_key_pub.pem
Esta chave é essencial para autenticar a conexão entre o ambiente on-premise e a nuvem.
Na conta da OCI, clique no canto superior direito e acesse o menu User > Profile > API Keys, e clique em Add API Key. Escolha a opção Paste a public key e cole a chave pública, certificando-se de que não há espaços extras no início ou no fim.
Configuration File Preview
Após colar a chave pública, o sistema fornecerá um arquivo de configuração com informações como:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyvQEimygxuAOINKzMqY1
M+/JTF7yeAEHUNaQv8lTJHSv9ZlbO+msvWJc0fBQreq54cKHZ57bglsI91mD7O9Z
gTwxTVbdMDj8aXSFbbBkM6/UsXNaBC3KAOZhBd31MHWfrv27SrA69iPDgZW3xK3P
J6/ZRsjs7A4JJU1jW6L/FmqNnchdrh66z6vAgYimS49ynaitylUlD0biYqxQqdcm
/OuOHN8opIS1wZXPavTQ2m6woEE6g5OGG4zUp9iVJHWmc6AAaz0OahoGB17AqkTm
GL2gkQSllURTOvbIhyH97dDT/GSO72fvZUiX5wwpUsViJCxR+9PpJ5wOEuKWjedK
HwIDAQAB
-----END PUBLIC KEY-----
Copie essas informações, especialmente o Fingerprint, para uso posterior.
Agora, conectados à nossa conta OCI, clicamos no canto superior direito e acessamos o menu USER, como mostra a imagem abaixo.
Estando aqui, precisamos vincular a nossa chave que acabamos de criar no ambiente on-premise com a OCI. Para isso, precisamos clicar em ‘Add API key’.
E neste ponto, vão dois alertas: esteja com a opção ‘Paste a public key’ selecionada e, ao colar a sua chave, certifique-se de que não há nenhum espaço perdido, nem no começo nem no final, para que isso não atrapalhe a autenticação.
Quando utilizamos a nossa chave, o sistema já fornece todas as informações de forma simplificada. É fundamental que prestemos atenção a esses dados, pois eles são essenciais para a nossa conexão. Portanto, copie essas informações para garantir que faremos a ligação corretamente.
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaazyaehaygw32m6ntnifxcbz7hoeubvlnslgifn4jepw5okkxjusoa
fingerprint=0e:2e:5e:73:ec:b4:76:ce:a2:51:7d:63:91:a4:85:16
tenancy=ocid1.tenancy.oc1..aaaaaaaauka6eyg5gre4zj3c2mahzasn5enrmtktihjsfzfhycb7mse5tula
region=sa-saopaulo-1
key_file=<path to your private keyfile> # TODO
Ao salvar recebemos outro elo importante, que é o ‘Fingerprint’
4º Passo – Copiar o Fingerprint da OCI
0e:2e:5e:73:ec:b4:76:ce:a2:51:7d:63:91:a4:85:16
5º Passo – Declarar variáveis de ambiente (Linux | Usuário Oracle)
Edite o arquivo .bash_profile e adicione as seguintes linhas:
export JAVA_HOME=/u01/app/oracle/product/jdk
export PATH=$ORACLE_HOME/bin:$JAVA_HOME/bin:$BASE_PATH:$PATH
Ficando assim como a imagem abaixo.
cat /home/oracle/.bash_profile
6º Passo – Instalar o Java (Linux | Usuário Oracle)
Baixe o Java no portal oficial da Oracle:
https://www.oracle.com/br/java/technologies/downloads/#java8
Após o download:
Neste ponto, são apresentadas muitas opções para download, o que exige atenção.
Baixado o arquivo:
A imagem acima demonstra que estou no diretório.
/home/oracle
Copiei o conteúdo para o diretório desejado.
cp jdk-24_linux-x64_bin.tar.gz /u01/app/oracle/product/
Estando no diretorio desejado:
cd /u01/app/oracle/product/
Estando no diretório correto, descompactei o arquivo e exibi a lista dos arquivos extraídos.
tar -xvzf jdk-24_linux-x64_bin.tar.gz
Os passos acima são necessários para o nosso ambiente, pois, ao final, é essencial que o arquivo esteja neste caminho.
/u01/app/oracle/product/jdk
7º Passo – Instalar o Oracle Database Cloud Backup Module
Crie o diretório necessário:
mkdir -p /u01/app/oracle/admin/orcl/opc_wallet
Extraia o conteúdo do arquivo:
unzip opc_installer.zip
Execute o instalador:
cd opc_installer/oci_installer
java -jar oci_install.jar -host https://objectstorage.sa-saopaulo-1.oraclecloud.com \
-pvtKeyFile '/home/oracle/keystore/oci_key.pem' \
-pubFingerPrint 0e:2e:5e:73:ec:b4:76:ce:a2:51:7d:63:91:a4:85:16 \
-tOCID ocid1.tenancy.oc1..aaaaaaaauka6eyg5gre4zj3c2mahzasn5enrmtktihjsfzfhycb7mse5tula \
-uOCID ocid1.user.oc1..aaaaaaaazyaehaygw32m6ntnifxcbz7hoeubvlnslgifn4jepw5okkxjusoa \
-walletDir /u01/app/oracle/admin/orcl/opc_wallet \
-libDir /u01/app/oracle/product/19.0.0/dbhome_1/lib \
-configfile /u01/app/oracle/product/19.0.0/dbhome_1/dbs/opcorcl19c.ora \
-bucket RMANBKP
Esse comando estabelece a ponte entre o ambiente local e a Oracle Cloud, utilizando as chaves e configurações definidas anteriormente.
Execução do comando Java: Começamos executando o comando ‘java -jar oci_install.jar’. Este arquivo ‘.jar’ é responsável por configurar o backup na OCI. Estamos dizendo ao sistema para rodar essa ferramenta e fornecer todas as informações necessárias.
URL do host na OCI: Nós especificamos o host da região da Oracle Cloud com o parâmetro, isso garante que estamos conectando ao serviço de armazenamento correto, na região “sa-saopaulo-1”.
Chave Privada para Autenticação: Aqui, passamos o caminho da nossa chave privada essa chave é fundamental para autenticar nosso ambiente local (on-premise) com a Oracle Cloud. Estamos literalmente criando uma ponte segura entre os dois.
Fingerprint Público: O FingerPrint é uma identificação única da chave pública correspondente. Isso ajuda a validar a conexão de maneira confiável.
Identificação do Tenancy: É uma chave único esse valor nós extraimos lá no começo.
Identificação do Usuário: Também passamos o OCID do usuário. Este parâmetro autentica o usuário associado à conta na Oracle Cloud.
Diretório da Wallet (Carteira): Especificamos o caminho onde a carteira será criada a carteira é essencial, pois armazenará as credenciais seguras para a comunicação entre os ambientes.
Diretório das Bibliotecas: Informamos onde estão as bibliotecas do nosso ambiente, essas bibliotecas serão utilizadas durante as operações de backup.
Arquivo de Configuração: Com o parâmetro ‘-configfile /u01/app/oracle/product/19.0.0/dbhome_1/dbs/opcorcl19c.ora’, definimos um arquivo que será criado com as configurações padrão. Ele não existia antes, mas agora ficará disponível para uso.
Bucket na OCI: Finalizamos indicando o bucket correto com RMANBKP. Este é o local na OCI onde nossos backups serão armazenados. É importante que o nome do bucket seja configurado com precisão para evitar erros.
- O módulo de backup foi instalado com sucesso.
- As credenciais foram validadas, e o bucket “RMANBKP” está configurado para receber backups.
- A wallet foi criada no diretório indicado.
- O arquivo de configuração padrão foi gerado.
- A biblioteca necessária foi baixada da Oracle Cloud.
Agora, temos a integração completa entre o ambiente local e a Oracle Cloud Infrastructure, prontos para iniciar os backups.
8º Passo – Executar o Backup via RMAN
Conecte-se ao RMAN e execute os comandos:
Carregando o ambiente Oracle: este passo é como preparar o terreno para o início das operações com o banco de dados. Iniciando o RMAN, estabelecemos a conexão com ele. Ao executar o comando STARTUP, o resultado informa que o banco de dados já está ativo. Aqui, procedemos com a execução do comando.
SET ENCRYPTION ON IDENTIFIED BY 'RMAN123' ONLY;
Com isso, ativamos a criptografia para os backups. A senha ‘RMAN123’ será usada para proteger os dados, garantindo que apenas aqueles que possuem esta chave possam restaurá-los. Este passo é essencial para adicionar uma camada extra de segurança aos backups, protegendo os dados sensíveis do banco.
run {
allocate channel c1 DEVICE TYPE 'SBT_TAPE' PARMS
'SBT_LIBRARY=/u01/app/oracle/product/19.0.0/dbhome_1/lib/libopc.so,
ENV=(OPC_PFILE=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/opcorcl19c.ora)';
backup database;
}
E voilà! Está feito. Confesso que estou com um sorriso no rosto e orgulhoso por ter realizado este backup.
Conquistas deste processo:
- Realizamos um backup completo e organizado de todos os datafiles do banco de dados.
- Incluímos o ‘Control File’ e o ‘SPFILE’ no backup, garantindo a integridade do ambiente.
- Os backups foram enviados para o bucket configurado na Oracle Cloud Infrastructure.
Podemos comprovar o sucesso do backup executando:
Verifique os backups com:
list backup;
Ou, se preferir, acesse a Oracle Cloud Infrastructure (OCI) para verificar diretamente.
Faz parte do processo a manutenção dos backups. Sendo assim, como exercício, vamos deletar o backup que acabamos de enviar.
delete backupset 98;
delete backupset 99;
delete backupset 100;
delete backupset 101;
Assim, os backups foram apagados, e podemos confirmar isso acessando a nossa OCI.
Este artigo detalhou todo o processo de configuração e execução de backups RMAN para o Object Storage da Oracle Cloud Infrastructure (OCI). A criação das chaves de segurança, o ajuste das variáveis de ambiente, a instalação dos componentes e a execução dos comandos RMAN foram tratados passo a passo.
O resultado é uma solução segura e confiável de backup em nuvem, com total controle e visibilidade dos dados armazenados.
Excelente post!
Obrigado por compartilhar
Artigo excelente. Obrigado por compartilhar.
Muito obrigado pelos comentário gentil! Fico feliz que tenha gostado do post. É sempre bom compartilhar conhecimento