Utilizando o Oracle Database Cloud Backup Module para Migração de Bancos de dados para a Oracle Cloud (OCI) - Parte 2: Movendo o Banco de Dados Oracle para a Cloud

Por Alex Zaballa Oracle ACE director
Publicado em abril 2019

Revisado por Juan Pablo Guizado




No artigo anterior vimos como criar um servidor de banco de dados na Oracle Cloud utilizando IAAS. Nesste artigo veremos como mover o banco de dados Oracle para Cloud.




Oracle Database Cloud Backup Module – Instalação e Configuração no Servidor de Destino



Baixar o arquivo opc_installer.zip no link abaixo:

https://www.oracle.com/technetwork/database/availability/oracle-cloud-backup-2162729.html

 


Transferir o arquivo para o servidor de banco de dados na Cloud e descompactar:


 


Antes de configurar, será necessário gerar as chaves conforme a documentação abaixo:

https://docs.cloud.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm


Comandos:

$   mkdir ~/.oci
$   openssl genrsa -out ~/.oci/oci_api_key.pem 2048
$   chmod go-rwx ~/.oci/oci_api_key.pem
$   openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem

 


O conteúdo da chave pública deve ser copiado para as “API Keys”:



 


Com isso será gerado o “Fingerprint”:

 


O “Tenancy OCID” pode ser encontrado em:

 


O “User OCID” pode ser encontrado em “User Settings”:

 


Para criar o Bucket deve-se abrir o menu e ir em “Object Storage”, “Object Storage”:

 


Basta informar o nome do “Bucket” e escolher o tipo “standard”:

 


 “Bucket” criado:

 


java -jar oci_install.jar -host https://objectstorage.us-ashburn-1.oraclecloud.com \
  -pvtKeyFile /home/oracle/.oci/oci_api_key.pem \
  -pubFingerPrint a3:06:d3:23:aa:63:c4:13:2a:ff:5e:b7:0b:b9:d7:7e \
  -uOCID ocid1.user.oc1..aaaaaaaa6gthvopq5x6cycotlnwqdoyczijzchkci2t2jg2j5pzuvkt6v7da \
  -tOCID ocid1.tenancy.oc1..aaaaaaaankelxhovriwq476ckpvqmocxekebe43x3ahfbf7ti2zzyfs2kqsq \
  -walletDir /u01/app/oracle/bkp_cloud_module/oci_wallet \
  -libDir /u01/app/oracle/bkp_cloud_module/lib \
  -bucket db_backups \
  -configFile /u01/app/oracle/bkp_cloud_module/config/opc2CDB2.ora


 






Oracle Database Cloud Backup Module – Instalação e Configuração no Servidor de Origem



Para este artigo, estou utilizando a VM “Oracle Database 18c (18.3.0) Upgrade and Migration hands-on Lab” que pode ser encontrada em:

https://www.oracle.com/technetwork/community/developer-vm/vts-hol-2415742.html


Transferir o arquivo opc_installer.zip (baixado anteriormente) para o servidor de banco de dados de origem e descompactar:

 


Nessa VM já estava instalado o Java OpenJDK versão 1.7.

Com isso mantive essa versão e não vamos utilizar o JDK da Oracle no banco de dados de origem.


 


Copiar o arquivo oci_api_key.pem do servidor de banco de dados do Cloud.

java -jar oci_install.jar -host https://objectstorage.us-ashburn-1.oraclecloud.com \
  -pvtKeyFile /home/oracle/.oci/oci_api_key.pem \
  -pubFingerPrint a3:06:d3:23:aa:63:c4:13:2a:ff:5e:b7:0b:b9:d7:7e \
  -uOCID ocid1.user.oc1..aaaaaaaa6gthvopq5x6cycotlnwqdoyczijzchkci2t2jg2j5pzuvkt6v7da \
  -tOCID ocid1.tenancy.oc1..aaaaaaaankelxhovriwq476ckpvqmocxekebe43x3ahfbf7ti2zzyfs2kqsq \
  -walletDir /u01/app/oracle/bkp_cloud_module/oci_wallet \
  -libDir /u01/app/oracle/bkp_cloud_module/lib \
  -bucket db_backups \
  -configFile /u01/app/oracle/bkp_cloud_module/config/opc2CDB2.ora

 




 





Oracle Database Cloud Backup Module – Fazendo Backup do Servidor de Banco de Dados de Origem



CONFIGURE CONTROLFILE AUTOBACKUP ON;


 

CONFIGURE CHANNEL DEVICE TYPE sbt

 PARMS='SBT_LIBRARY=/u01/app/oracle/bkp_cloud_module/lib/libopc.so,
 SBT_PARMS=(OPC_PFILE=/u01/app/oracle/bkp_cloud_module/config/opc2CDB2.ora)';



 

Existem 3 formas de proteger o backup, são elas:

  • Backing Up to Oracle Database Backup Cloud Service Using Password Encryption
  • Backing Up to Oracle Database Backup Cloud Service Using Transparent Data Encryption (TDE)
  • Backing Up to Oracle Database Backup Cloud Service Using Dual-Mode Encryption

Nesse artigo iremos utilizar a opção “Backing Up to Oracle Database Backup Cloud Service Using Password Encryption”.


Efetuando o backup:



 

Após o backup, pode-se verificar os arquivos criados no “Bucket”:


 

Antes do backup, criei uma tabela em um PDB do banco de origem para demonstrar que ela estará na Cloud após restaurar o banco de dados:


 





Oracle Database Cloud Backup Module – Restaurando Banco de Dados na Cloud



Comandos utilizados:

rman target /
STARTUP NOMOUNT;
SET DECRYPTION IDENTIFIED BY  'my_strong_passwd';
SET DBID=680230459;


 

Fazendo restore do arquivo de parâmetros:

RUN {
ALLOCATE CHANNEL t1 DEVICE TYPE sbt 
PARMS='SBT_LIBRARY=/u01/app/oracle/bkp_cloud_module/lib/libopc.so,
SBT_PARMS=(OPC_PFILE=/u01/app/oracle/bkp_cloud_module/config/opc2CDB2.ora)';

RESTORE SPFILE TO PFILE '/u01/app/oracle/product/18.0.0/dbhome_1/dbs/initCDB2.ora'  
FROM AUTOBACKUP;
}


 

Fazendo restore do “control file”:

SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;

RUN {
ALLOCATE CHANNEL t1 DEVICE TYPE sbt 
PARMS='SBT_LIBRARY=/u01/app/oracle/bkp_cloud_module/lib/libopc.so,
SBT_PARMS=(OPC_PFILE=/u01/app/oracle/bkp_cloud_module/config/opc2CDB2.ora)';

RESTORE CONTROLFILE FROM AUTOBACKUP;
}

ALTER DATABASE MOUNT;




 

Fazendo o restore e recover do banco de dados:

RESTORE DATABASE;

RESTORE DATABASE PREVIEW DEVICE TYPE SBT;

RECOVER DATABASE UNTIL SCN scn;

ALTER DATABASE OPEN RESETLOGS;

 

Restaurando o banco de dados na Cloud:



 

Verificando o SCN no banco “on-premises”:


 

Fazendo o recover:


 

Abrindo o banco de dados:


 

Conferindo se a tabela criada no banco de origem existe na Cloud:


 

Referências:

https://docs.oracle.com/en/cloud/paas/db-backup-cloud/csdbb/installing-oracle-database-cloud-backup-module-oci.html#GUID-4CB8F021-3B10-4E44-950C-4F799C66CC9D




Alex Zaballa, formado em Análise de Sistemas, é especialista em Banco de Dados Oracle com sólidos conhecimentos em Servidores de Aplicação e Sistemas Operacionais; trabalha com Oracle há 19 anos, é Oracle ACE Director, certificado OCM Database 12c/MAA/11G/Cloud e conta com mais de 300 outras certificações em produtos da Oracle. Alex também é membro do Groupo de Usuários Oracle do Brasil (GUOB), fundador do Grupo de Usuários Oracle de Angola (GUOA) e membro do time OraWorld.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.