Modernização e Migração Física/Multitenant com ZDM
- Andrey Schulz
- 15 de mai.
- 3 min de leitura
Por Andrey Schulz– Especialista em Arquiteturas de Missão Crítica e Cloud
Modernização e Migração física /Multitenant com ZDM: do On-Premises para o Exadata na OCI (passo a passo oficial) exige precisão.
Quando migramos bancos de dados locais (muitas vezes em arquiteturas legadas Non-CDB) para instâncias modernas na nuvem com conversão automática para Multitenant (CDB/PDB), o uso do Oracle Zero Downtime Migration (ZDM) poderá apoia-la nesta jornada para a Cloud.
Abaixo, detalhamos a execução prática baseada diretamente no laboratório de referência oficial da Oracle para migração de bases locais para o ecossistema de nuvem.
Módulo de Arquitetura: Visão Geral do Fluxo
Antes de iniciar a execução no terminal, o processo oficial de migração via ZDM segue uma esteira rigorosa de dependências entre o ambiente de origem (On-Premises), a OCI (Object Storage e Destino) e o host orquestrador do ZDM.
Passo 1: Preparação e Instalação do Servidor ZDM (ZDM Server)
O ZDM não é executado diretamente no banco de dados. Ele requer um host dedicado (geralmente uma VM com Oracle Linux 8) para atuar como o motor de controle.
1.1 Configuração do S.O. e Armazenamento no Host ZDM
Acesse a VM que será o seu ZDM Server via SSH e ajuste o espaço do sistema de arquivos e boot, adicione os grupos e crie a árvore de diretórios padrão:
1.2 Executando o Setup do ZDM
Com os pacotes instalados, mude para o usuário zdmuser, descompacte o software do ZDM dentro de /home/zdmuser/zdminstall e execute o script de instalação automatizada (zdminstall.sh):
1.3 Validação do Serviço ZDM
Para confirmar que o orquestrador está ativo e pronto para receber comandos via CLI (zdmcli):
Passo 2: Configuração da Conectividade e Ferramentas OCI no ZDM
Para que o ZDM consiga mover os arquivos de backup via nuvem, precisamos configurar o OCI CLI e criar um repositório de armazenamento (Object Storage).
2.1 Configurando o OCI CLI
No host do ZDM, execute a ferramenta de configuração interativa do CLI para apontar sua tenancy, usuário e região:
2.2 Criando o Bucket de Trânsito no Object Storage
Crie o container na nuvem que servirá de "ponte" temporária para os arquivos RMAN:
Passo 3: Preparação do Destino (ExaCS / Database System na OCI)
No lado do destino (seja um DB System em VM ou um Exadata Database Service), a infraestrutura lógica de banco precisa estar preparada para receber o container.
Criação do Database Home: No console da OCI, certifique-se de que o Database Home de destino (ex: versão 19c ou 23ai) esteja devidamente provisionado e com as mesmas opções de patch da origem ou superior.
Validação de Portas de Rede: Abra as regras de segurança (Security Lists e Network Security Groups) na VCN da OCI para liberar as portas de Listener (1521 ou customizada) e SSH (22) vindas do IP do ZDM Server e do Servidor On-Premises.
Passo 4: Construção do Response File (Arquivo de Resposta do ZDM)
O ZDM centraliza as regras de migração em um arquivo de parâmetros (.rsp). Para uma migração física com conversão de Non-CDB para PDB (Multitenant), criamos o arquivo zdm_physical_pdb.rsp:
Passo 5: Executando a Avaliação Pré-Migração (Dry Run)
Antes de disparar a cópia de dados, o ZDM executa rotinas automatizadas de Prechecks para certificar que o ambiente está 100% íntegro. Rode o comando com a tag -eval:
Caso todos os testes retornem PASSED, o ambiente está validado para a execução real.
Passo 6: Execução Real da Migração com ZDM
Para iniciar a migração de fato, remova a flag -eval e execute o comando definitivo.
O ZDM vai automaticamente executar as fases de:
Validação de pré-requisitos finais.
Configuração do ambiente RMAN na origem e destino.
Backup do banco on-premises direto para o Object Storage da OCI (zdm-migration-bucket).
Restauração e recuperação do banco no Exadata de destino.
Execução automática da rotina de conversão de Non-CDB para Pluggable Database (PDB) no ambiente Multitenant.
Monitoramento do Progresso:
Para acompanhar o andamento de cada fase da migração em tempo real, utilize o ID do job retornado pelo comando anterior:

Comentários