Migrar Usando Migração Lógica

Estas etapas descrevem como executar uma migração lógica off-line. As migrações lógicas on-line exigem um servidor adicional que execute o Oracle GoldenGate. Isso garante que o banco de dados esteja sempre on-line durante a migração. Antes de executar sua migração lógica off-line, anote o seguinte:

  • O banco de dados de origem no servidor x86 não precisa ser criptografado. O Oracle Zero Downtime Migration criptografará o banco de dados de destino durante a migração.
  • A senha sys, a versão do banco de dados e o nível de patch nos bancos de dados de origem e de destino podem ser diferentes.
  • O banco de dados pode ser atualizado durante a migração.
  • As migrações lógicas do Zero Downtime Migration permitirão a migração de determinados banco de dados plugável (PDB) e ou esquemas para um banco de dados plugável (PDB) no Oracle Exadata Database Service on Cloud@Customer.

Para executar uma migração lógica off-line:

  1. Faça download do software Zero Downtime Migration e instale-o em um servidor separado. Execute o software Zero Downtime Migration usando zdmuser.
  2. Faça login no servidor Zero Downtime Migration como zdmuser.
  3. Gere um par de chaves ssh.
  4. Ative o ssh sem senha de zdmuser para o servidor x86 de origem (root/privilege-sudoer user) e para todos os nós do Cluster de VMs no banco de dados do Oracle Exadata Database Service on Cloud@Customer de destino (opc user).
  5. No Oracle ZFS Storage Appliance (NAS), crie um Compartilhamento NFS (Network File System) a ser usado como um espaço reservado para os dumps de dados do banco de dados enquanto a migração está em andamento.
  6. Monte o Compartilhamento de NFS no mesmo ponto de montagem em todos os nós dos bancos de dados de origem e de destino. Certifique-se de que todos os usuários tenham permissões de leitura, gravação e execução (rwx) na origem e no destino.
  7. Crie um banco de dados de destino no Oracle Exadata Database Service on Cloud@Customer usando a GUI ou a API REST do OCI. Configure o banco de dados de destino da seguinte forma:
    • O nome e a versão do banco de dados de destino podem ser diferentes da origem.
    • Não selecione um Destino de Backup ou ative Backups Automáticos. Essas definições podem ser ativadas após a migração do banco de dados da origem para o destino.
  8. Use a GUI do OCI para criar uma Chave de API para o usuário do OCI que possui o banco de dados Oracle Exadata Database Service on Cloud@Customer de destino. Anote o OCID do usuário, o OCID da tenancy, a impressão digital e a região do OCI. Salve as chaves privadas e públicas correspondentes nos arquivos .pem. Essa Chave de API será usada pelo Zero Downtime Migration para estabelecer conexão com o OCI e obter as informações do banco de dados de destino durante a migração do banco de dados.
  9. Copie os arquivos .pem para o servidor Zero Downtime Migration.
  10. Faça log-in como sys no banco de dados Oracle Exadata Database Service on Cloud@Customer de destino e certifique-se de que o parâmetro streams_pool_size esteja definido como pelo menos 2G, por exemplo:
    SQL>show parameter streams_pool_size;
    SQL>alter system set streams_pool_size=2G scope=both SID=’*’;
  11. Use o modelo de arquivo de resposta de migração lógica do Zero Downtime Migration incluído no Zero Downtime Migration para criar um arquivo de resposta para a migração. Os parâmetros-chave incluem:
    • TARGETDATABASE_OCID: OCID do banco de dados de destino do Oracle Exadata Database Service on Cloud@Customer.
    • MIGRATION_METHOD: OFFLINE_LOGICAL
    • DATA_TRANSFER_MEDIUM: NFS
    • TARGETDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_CONNECTIONDETAILS_HOST: IP/nome do host do servidor de banco de dados x86 de origem.
    • SOURCEDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCEDATABASE_CONNECTIONDETAILS_SERVICENAME: Nome do serviço do PDB de origem ou do banco de dados contêiner (CDB). Use lsnrctl para localizar.
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_TENANTID: OCID da Tenancy na Etapa 8.
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_USERID: OCID do Usuário na Etapa 8.
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_FINGERPRINT: Impressão Digital da Etapa 8.
    • OCIAUTHENTICATIONDETAILS_PRIVATEKEYFILE: Caminho do arquivo para o arquivo .pem de chave privada no servidor ZDM na Etapa 9.
    • OCIAUTHENTICATIONDETAILS_REGIONID: ID da região do OCI para o usuário do OCI na Etapa 8.
    • TARGETDATABASE_CONECTIONDETAILS_HOST: IP/nome do host da primeira VM no Cluster de VMs do Oracle Exadata Database Service on Cloud@Customer de destino.
    • TARGETDATABASE_CONNECTIONDETAILS_PORT: 1521
    • TARGETDATABASE_CONNECTIONDETAILS_SERVICENAME: Nome do serviço do banco de dados plugável (PDB) de destino no banco de dados Oracle Exadata Database Service on Cloud@Customer de destino. Use lsnrctl para localizar.
    • SOURCECONTAINERDATABASE_ADMINUSERNAME: system
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_HOST: IP/nome do host do servidor de banco de dados x86 de origem.
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_SERVICENAME: Nome do serviço para o banco de dados contêiner de origem no servidor x86. Use lsnrctl para localizar).
    • DATAPUMPSETTINGS_JOBMODE: SCHEMA
    • DATAPUMPSETTINGS_FIXINVALIDOBJECTS: TRUE
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_PATH: ponto de montagem NFS da Etapa 6.
    • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_PATH: ponto de montagem NFS da Etapa 6.
    • DATAPUMPSETTINGS_CREATEAUTHTOKEN: TRUE
    • TABLESPACEDETAILS_AUTOCREATE: TRUE
    • TABLESPACEDETAILS_USEBIGFILE: TRUE
    • TABLESPACEDETAILS_EXTENTSIZEMB: 512
    • EXCLUDEOBJECTS-1: owner:PDBADMIN
  12. É possível executar um job de migração de execução seca (-eval) do Zero Downtime Migration para validar todos os pré-requisitos para migração. Isso executará a Ferramenta Cloud Pre-Migration Advisor (CPAT) para validar se o banco de dados de origem é adequado para migração para o Oracle Exadata Database Service on Cloud@Customer usando a migração lógica Zero Downtime Migration. Resolva problemas reportados pelo CPAT antes de continuar. Por exemplo:
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_x86_db_server \
    -srcauth zdmauth \
    -srcarg1 user: root_or_sudoer_user \
    -srcarg2 identity_file: path_to_ssh_private_key/ssh_private_key_file_name
    \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -targetnode IP/hostname_of_first_Exadata_Database_Cloud@Customer_VM_Cluster_Node
    -tgtarg1 user:opc \
    -tgtarg2 identity_file: path_to_ssh_private_key/ssh_private_key_file_name
    \
    -tgtarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_11 \
    -eval
    Após uma migração de dryrun bem-sucedida, vá para a próxima etapa.
  13. Executar job Zero Downtime Migration. Por exemplo:
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_x86_db_server \
    -srcauth zdmauth \
    -srcarg1 user: root_or_sudoer_user \
    -srcarg2 identity_file: path_to_ssh_private_key/ssh_private_key_file_name
    \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -targetnode IP/hostname_of_first_Exadata_Database_Cloud@Customer_VM_Cluster_Node
    -tgtarg1 user:opc \
    -tgtarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name
    \
    -tgtarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_11