Provisionar o Oracle Zero Downtime Migration

Instale e configure o Oracle Zero Downtime Migration.

Sobre os Pré-requisitos do Zero Downtime Migration

Antes de executar o utilitário Zero Downtime Migration para migração do banco de dados, ele precisa atender a determinados pré-requisitos.

O host do serviço Zero Downtime Migration precisa acessar os servidores de banco de dados de origem e de destino durante uma migração de banco de dados. Com isso, para executar a migração para o Oracle Autonomous Database on Dedicated Exadata Infrastructure, o host do serviço Zero Downtime Migration exige acesso do usuário raiz ou acesso baseado em chave SSH a um dos servidores de banco de dados de origem também. Certifique-se de que esses requisitos para rota de rede e conectividade sejam atendidos antes de continuar.

Instalar um Host do Zero Downtime Migration

A Oracle recomenda a instalação do Zero Downtime Migration em um host separado executado no Oracle Linux 7 ou 8. Ele pode ser provisionado no data center do banco de dados de origem ou configurado no OCI. Neste exemplo, o host do serviço Zero Downtime Migration foi configurado no OCI.
  1. Provisione um host no Oracle Linux com um mínimo de armazenamento de 100 GB.
  2. Certifique-se de que estes pacotes obrigatórios estejam disponíveis:
    • glibc-devel
    • expect
    • unzip
    • libaio
    • oraclelinux-developer-release-el7

    Observação:

    Para versões mais recentes, como o Oracle Linux 8, os pacotes libnsl e ncurses-compat-libs também são necessários.
  3. Execute o seguinte comando:
    [root@zdmhost ~]# yum install glibc-devel expect unzip libaio oraclelinux-developer-release-el7 -y
  4. Crie um grupo chamado zdm e um usuário chamado zdmuser que seja adicionado ao grupo executando os comandos:
    [root@zdmhost ~]# groupadd zdm
    [root@zdmhost ~]# useradd zdmuser -g zdm
    [root@zdmhost ~]# mkdir -p /home/zdmuser/zdminstall
    [root@zdmhost ~]# mkdir /home/zdmuser/zdmhome
    [root@zdmhost ~]# mkdir /home/zdmuser/zdmbase
    [root@zdmhost ~]# chown -R zdmuser:zdm /home/zdmuser/
  5. Atualize a variável de ambiente necessária para zdmuser para instalar o ZDM no host de serviço do ZDM, executando os comandos:
    echo "ORACLE_HOME=/home/zdmuser/zdmhome; export ORACLE_HOME" >> ~/.bashrc
    echo "ORACLE_BASE=/home/zdmuser/zdmbase; export ORACLE_BASE" >> ~/.bashrc
    echo "ZDM_BASE=\$ORACLE_BASE; export ZDM_BASE" >> ~/.bashrc
    echo "ZDM_HOME=/home/zdmuser/zdmhome; export ZDM_HOME" >> ~/.bashrc
    echo "ZDM_INSTALL_LOC=/home/zdmuser/zdminstall; export ZDM_INSTALL_LOC" >> ~/.bashrc

Instalar Ferramentas Adicionais no Host ZDM

  1. Instale a Interface de Linha de Comando do OCI (CLI do OCI) no host de serviço ZDM como root:
    [root@zdmhost ~]# yum install python36-oci-cli
  2. Instale o cliente SQL do Oracle Database no host ZDM para estabelecer conectividade com os bancos de dados de origem e destino.
  3. Certifique-se de ter feito download dos pacotes RPM do Oracle Instant Client (consulte a seção Download de Pacotes de Software):
    • Pacote Básico (RPM)
    • Pacote SQL*Plus (RPM)
    • Pacote de Ferramentas (RPM)
  4. Instale os pacotes RPM como um usuário root, na ordem Básico, SQL*Plus e Ferramentas, executando os comandos:
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-basic-19.20.0.0.0-1.x86_64.rpm
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-sqlplus-19.20.0.0.0-1.x86_64.rpm
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-tools-19.20.0.0.0-1.x86_64.rpm
  5. Atualize as variáveis de ambiente para zdmuser para TNS_ADMIN e PATH executando os comandos:
    TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
    PATH=/usr/lib/oracle/19.20/client64/bin:$PATH; export PATH

Instalar Zero Downtime Migration no Host

Instale o Zero Downtime Migration quando o host estiver pronto.

  1. Verifique se o binário foi baixado anteriormente na seção Fazer Download de Pacotes de Software e transfira-o para o host do serviço Zero Downtime Migration.
  2. Descompacte o pacote zdmuser no host executando os comandos:
    • [zdmuser@zdmhost ~]$ cd $ZDM_INSTALL_LOC
    • [zdmuser@zdmhost zdminstall]$ unzip /tmp/V1037236-01.zip
    • [zdmuser@zdmhost zdminstall]$ ls -rlt
  3. Instale o Zero Downtime Migration como zdmuser no host, executando o comando: [zdmuser@zdmhost zdm21.4.1]$ ./zdminstall.sh setup oraclehome=$ZDM_HOME oraclebase=$ZDM_BASE ziploc=./zdm_home.zip -zdm
  4. Inicie o serviço Zero Downtime Migration no host executando o comando: [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmservice start
  5. Verifique o status executando os comandos:
    • [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmcli -build
    • [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmservice status
    Running deverá ser igual a true se o Zero Downtime Migration estiver em execução.

Configurar o Zero Downtime Migration

  1. Configure o arquivo /etc/hosts no host do serviço Zero Downtime Migration para garantir a conectividade entre o host do serviço Zero Downtime Migration e o banco de dados de origem adicionando as informações do banco de dados de origem como um usuário raiz.
    [root@zdmhost ~]# cat /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.1.179 hr9246.appsubnet.exadatainfrastr.oraclevcn.com hr9246
    10.0.1.78 zdmhost.appsubnet.exadatainfrastr.oraclevcn.com zdmhost
    [root@zdmhost ~]#
  2. Configure a conectividade SSH do host do Zero Downtime Migration para o banco de dados de origem com base nas chaves SSH sem uma frase-senha como zdmuser.
    1. Como zdmuser, gere a chave SSH executando os comandos:
      • [zdmuser@zdmhost~]$ ssh-keygen -t rsa
      • [zdmuser@zdmhost~]$ cd ~/.ssh
      • [zdmuser@zdmhost~]$ cat id_rsa.pub>>authorized keys
      • [zdmuser@zdmhost~]$ chmod 600 authorized keys
    2. Atualize o arquivo de chaves autorizadas adicionando o conteúdo do arquivo /home/zdmuser/.ssh/id_rsa.pub ao arquivo opc_user_home/.ssh/authorized_keys no servidor de banco de dados de origem.
    3. Valide a conectividade SSH do host Zero Downtime Migration para o host PSFT.

Configurar Acesso à API

  1. Gere uma chave pública como zdmuser executando os comandos:
    [zdmuser@zdmhost ~]$ mkdir zdmhome/.oci
    [zdmuser@zdmhost ~]$ cd zdmhome/.oci
    [zdmuser@zdmhost .oci]$ openssl genrsa -out /home/zdmuser/zdmhome/.oci/oci_api_key.pem 2048
    [zdmuser@zdmhost .oci]$ openssl rsa -pubout -in /home/zdmuser/zdmhome/.oci/oci_api_key.pem -out /home/zdmuser/zdmhome/.oci/oci_api_key_public.pem
  2. Adicione a chave de API à Console do OCI.
    1. No painel de controle do Oracle Cloud, clique no ícone de perfil e, em seguida, clique em sua conta (e-mail).
    2. Clique em chaves de API.
    3. Clique em Adicionar chave de API.
    4. Selecione Colar uma chave pública.
    5. No campo Chave pública, digite oci_api_key_public.pem
    6. Clique em Adicionar.
  3. Copie o conteúdo do arquivo de configuração da chave de API correspondente.
  4. Como zdmuser, crie um arquivo de configuração e atualize o caminho key_file com um caminho de arquivo de chave privada.
  5. Gerar um Token de Autenticação do OCI.
    A autenticação baseada em token para a CLI permite que você crie um token de sessão temporária para autenticar uma solicitação de comando da CLI.

Configurar SSH

Configure a conectividade SSH, gere um par de chaves SSH e atualize o arquivo de chaves autorizadas.

  1. No host Zero Downtime Migration como zdmuser, configure a conectividade SSH para o host do banco de dados de origem com base nas chaves SSH sem uma frase-senha.
  2. Gere uma chave SSH como zdmuser.
    [zdmuser@zdmhost ~]$ ssh-keygen -t rsa
    [zdmuser@zdmhost ~]$ cd ~/.ssh
    [zdmuser@zdmhost .ssh]$ cat id_rsa.pub >> authorized_keys
    [zdmuser@zdmhost .ssh]$ chmod 600 authorized_keys
  3. Adicione o conteúdo do arquivo /home/zdmuser/.ssh/id_rsa.pub ao arquivo opc_user_home/.ssh/authorized_keys no servidor de banco de dados de origem.