Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Migre de um Banco de Dados Não Contêiner Local 19c para o Banco de Dados Contêiner do Oracle Database 23ai
Introdução
O Zero Downtime Migration (ZDM) 21.5 introduz a migração física com um upgrade em andamento, permitindo transições contínuas para bancos de dados Oracle. Esse recurso suporta a migração de bancos de dados Oracle 11.2.0.4 e 12c para bancos de dados Oracle 19c, bem como migrações de bancos de dados de origem 19c para o Oracle Database 23ai.
Este tutorial descreve como o ZDM facilita a migração e a conversão de um banco de dados 19c não contêiner (CDB) de origem em um CDB ao executar um upgrade no nível de destino. O ZDM executa uma migração inicial usando um banco de dados de destino não CDB temporário para que os clientes migrem e atualizem um banco de dados não CDB. Ao concluir essa fase inicial, o ZDM aproveita o upgrade automático para converter em multilocatário e fazer upgrade do banco de dados para a versão desejada.
Este tutorial foi desenvolvido especificamente para migrar bancos de dados não CDB locais que executam a versão 19c de uma plataforma Linux para o CDB do Oracle Database 23ai.
Veja a seguir as propriedades e os detalhes dos ambientes de origem e destino.
Objetivos
- Migre para a Oracle Cloud Infrastructure (OCI) usando a ferramenta ZDM.
Pré-requisitos
-
O banco de dados de origem deve ser o modo de log de arquivamento.
-
Se o banco de dados de origem estiver no 12c Release 2 e posterior, a Criptografia Transparente de Dados (TDE) precisará ser ativada. Certifique-se de que
WALLET_TYPE
esteja definido comoAUTOLOGIN
ouPASSWORD
. -
O parâmetro
DB_UNIQUE_NAME
deve ser diferente no banco de dados de origem e no banco de dados de destino. -
O banco de dados de destino deve ser criado antes da migração.
-
Provisione um Oracle Home no servidor de destino da mesma forma que a versão do home do banco de dados de origem.
Tarefa 1: Preparar e Instalar o Servidor ZDM
-
Provisione um host de computação dedicado para a instalação do software ZDM. O host no qual o software ZDM está instalado é chamado de host de serviço ZDM. Os pré-requisitos a seguir devem ser atendidos no host:
- Oracle Linux 8 e tamanho do volume de inicialização de 200 GB.
- 100 GB de espaço de armazenamento livre.
- Nenhum Oracle Grid Infrastructure em execução nele.
- Possível conexão com o banco de dados de origem e destino (servidores).
-
Conecte-se ao host ZDM usando putty.
-
Execute o comando a seguir para estender o sistema de arquivos para disponibilizar os 200 GB.
[opc@zdm ~]$ sudo su - [root@zdm ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 39G 3.2G 36G 9% / [root@zdm ~]# /usr/libexec/oci-growfs -y [root@zdm ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 192G 3.2G 189G 2% /
-
Crie um novo grupo, usuário e os diretórios necessários como usuário root usando o comando a seguir.
[root@zdm ~]# groupadd zdm [root@zdm ~]# useradd -g zdm zdmuser [root@zdm ~]# mkdir -p /home/zdmuser/zdminstall [root@zdm ~]# mkdir /home/zdmuser/zdmhome [root@zdm ~]# mkdir /home/zdmuser/zdmbase [root@zdm ~]# chown -R zdmuser:zdm /home/zdmuser/
-
Instale os pacotes de software necessários como um usuário root usando o comando a seguir.
[root@zdm ~]# yum install oraclelinux-developer-release-el8 libnsl perl unzip glibc-devel expect libaio ncurses-compat-libs ncurses-devel numactl-libs openssl mlocate bind-utils
-
Faça download do software ZDM versão 21.5 e copie o arquivo zip para o host ZDM para o diretório
/home/zdmuser/zdminstall/
. Altere o proprietário do arquivo zip parazdmuser
como usuário raiz usando o comando a seguir.[root@zdm ~]# chown zdmuser:zdm /home/zdmuser/zdminstall/zdm21.5.zip
-
Instale o software ZDM como
zdmuser
usando o comando a seguir.[zdmuser@zdm ~]$ cd /home/zdmuser/zdminstall/ [zdmuser@zdm zdminstall]$ unzip zdm21.5.zip [zdmuser@zdm zdminstall]$ ZDMHOME=/home/zdmuser/zdmhome [zdmuser@zdm zdminstall]$ ZDMBASE=/home/zdmuser/zdmbase [zdmuser@zdm zdminstall]$ /home/zdmuser/zdminstall/zdm21.5/zdminstall.sh setup oraclehome=/home/zdmuser/zdmhome oraclebase=/home/zdmuser/zdmbase ziploc=/home/zdmuser/zdminstall/zdm21.5/zdm_home.zip -zdm ZDM service setup finished successfully...
-
Execute o comando a seguir para iniciar o ZDM e verificar o status como
zdmuser
.[zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice start Return code is 0 Server started successfully. [zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice status --------------------------------------- Service Status --------------------------------------- Running: true
-
Execute o comando a seguir para criar um par de chaves SSH para
zdmuser
. Isso será usado posteriormente para fazer log-in no servidor de banco de dados de origem e destino usando SSH. Mantenha os padrões.[zdmuser@zdm ~]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/zdmuser/.ssh/id_rsa): Created directory '/home/zdmuser/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/zdmuser/.ssh/id_rsa. Your public key has been saved in /home/zdmuser/.ssh/id_rsa.pub. The key fingerprint is: SHA256:giU7jz/8Z1VPiS9Ds/gfokHdevpm0dk59fPYEHRChs4 zdmuser@zdmhost The key's randomart image is:
-
Crie um token de autenticação para seu usuário do OCI, na página Detalhes do Usuário.
Clique em Tokens de Autenticação, Gerar Token, digite Descrição e clique em Gerar Token.
Observação: copie este token de seus registros, pois ele não será mostrado novamente.
-
Execute o comando a seguir para instalar a ferramenta CLI do OCI (Interface de Linha de Comando) do Oracle Cloud Infrastructure como
zdmuser
, que será usada para acessar os recursos do OCI. Por exemplo, copie o arquivo de dump do data pump para o OCI Object Storage.[zdmuser@zdm ~]$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
Observação: A instalação da CLI do OCI requer OCID do Usuário, OCID da Tenancy, Região Home, use esses valores de acordo com sua tenancy na nuvem e mantenha os outros valores de parâmetro como padrão.
[zdmuser@zdm ~]$ oci setup config
-
Execute o comando a seguir para fazer upload da chave pública de assinatura de API para o usuário do OCI na tenancy da nuvem em
zdmhost
.[zdmuser@zdmhost ~]$ cat /home/zdmuser/.oci/oci_api_key_public.pem -----BEGIN PUBLIC KEY----- ********** -----END PUBLIC KEY-----
Vá para a Console do OCI, navegue até a página Detalhes do Usuário, clique em Chaves de API e Adicionar Chave de API. Selecione Colar Chave Pública, informe a saída do comando acima e clique em Adicionar.
-
Execute o comando a seguir para criar um bucket padrão do OCI Object Storage na tenancy do OCI usando a CLI do OCI ou a Console do OCI.
[zdmuser@zdm ~]$ oci os bucket create --compartment-id ocid1.compartment.oc1.....lh4lfamxdrpuxg3x……… --name zdmbucket
-
Conectividade de
zdmhost
para servidores de banco de dados de origem e destino: Copie a chave SSH dozdmhost
comozdmuser
para a origem e o destino conforme criados na Tarefa 1.9.#on ZDM host as zdmuser [zdmuser@zdm ~]$ cat .ssh/id_rsa.pub #on the source database host as user opc [opc@sourcedb ~]$ vi .ssh/authorized_keys #insert the public key and save the changes [opc@targetdb ~]$ vi .ssh/authorized_keys #insert the public key and save the changes
-
Resolva os nomes de host do banco de dados de origem e do banco de dados de destino para zdmhost copiando o nome do host, IP e FQDN para
/etc/hosts
no zdmhost como usuário raiz.
Tarefa 2: Executar Pré-verificações no Banco de Dados de Origem e de Destino
-
Execute os comandos a seguir para criar o
ORACLE_HOME
na instância de destino do Oracle Base Database Service com a mesma versão da origem.[root@tgtzdm ~]# dbcli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- c548b052-64b7-4257-bfdc-d7c201a430ab OraDB23000_home1 23.5.0.24.07 /u01/app/oracle/product/23.0.0.0/dbhome_1 Configured
[root@tgt23ai ~]# dbcli create-dbhome -v 19.23 Job details ---------------------------------------------------------------- ID: a63db258-7ffc-4dee-b8e5-5accf223e39b Description: Database Home creation with Id : db1b4bb8-2ed0-4c0f-ade9-a656f21cf808 Status: Created Created: September 19, 2024 at 3:22:48 PM IST Progress: 0% Message: Create Database Home Error Code:
-
Execute o seguinte comando para validar a criação do home do banco de dados.
[root@tgt23ai ~]# dbcli describe-job --jobid a63db258-7ffc-4dee-b8e5-5accf223e39b Job details ---------------------------------------------------------------- ID: a63db258-7ffc-4dee-b8e5-5accf223e39b Description: Database Home creation with Id : db1b4bb8-2ed0-4c0f-ade9-a656f21cf808 Status: Success Created: September 19, 2024 at 3:22:48 PM IST Progress: 100% Message: Create Database Home Error Code: Task Name Start Time End Time Status ------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ---------- Database home creation September 19, 2024 at 3:22:49 PM IST September 19, 2024 at 3:27:40 PM IST Success [root@test23ai ~]# dbcli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- 43247858-4ff6-4fcb-85f2-09d453d863bf OraDB23000_home1 23.5.0.24.07 /u01/app/oracle/product/23.0.0.0/dbhome_1 Configured a63db258-7ffc-4dee-b8e5-5accf223e39b OraDB19000_home1 19.23.0.0.0 /u01/app/oracle/product/19.0.0.0/dbhome_1 Configured
Tarefa 3: Preparar o Arquivo de Resposta
-
Copie o arquivo de resposta do modelo em
zdmhost
colocado em$ZDM_HOME/rhp/zdm/template/
para outro diretório. -
Modifique o arquivo de resposta copiado de acordo com a configuração do ambiente de origem e destino. Veja a seguir um exemplo de arquivo de resposta compartilhado com parâmetros mínimos usados para concluir a migração com upgrade.
TGT_DB_UNIQUE_NAME=tgt23ai_ai MIGRATION_METHOD=OFFLINE_PHYSICAL DATA_TRANSFER_MEDIUM=OSS PLATFORM_TYPE=VMDB SRC_DB_LISTENER_PORT=1521 HOST=https://swiftobjectstorage.eu-frankfurt-1.oraclecloud.com/v1/frrudica1wgd OPC_CONTAINER=ZDM NONCDBTOPDB_CONVERSION=TRUE TGT_SKIP_DATAPATCH=FALSE ZDM_NONCDBTOPDB_PDB_NAME=newpdb23 ZDM_PRE_UPGRADE_TARGET_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
Tarefa 4: Avaliar a Migração
Avalie a migração modificando os parâmetros de acordo com os detalhes de origem e destino.
./zdmcli migrate database -rsp /home/zdmuser/response_files/zdm_phyupg.rsp \
-sourcedb test \
-sourcenode test23ai1 \
-srcauth zdmauth \
-srcarg1 user:opc \
-srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-srcarg3 sudo_location:/usr/bin/sudo \
-targetnode tgt23ai \
-tgtauth zdmauth \
-tgtarg1 user:opc \
-tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-tgtarg3 sudo_location:/usr/bin/sudo \
-tdekeystorepasswd \
-tgttdekeystorepasswd \
-backupuser oracleidentitycloudservice/s****aik@oracle.com \
-eval
Observação: Você pode monitorar o job usando o comando a seguir.
$ZDM_HOME/bin/zdmcli query job -jobid <jobid>
Tarefa 5: Executar a Migração Real
Execute a migração real usando o comando a seguir. Modifique os valores de acordo com o ambiente de origem e destino.
./zdmcli migrate database -rsp /home/zdmuser/response_files/zdm_phyupg.rsp \
-sourcedb test \
-sourcenode test23ai1 \
-srcauth zdmauth \
-srcarg1 user:opc \
-srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-srcarg3 sudo_location:/usr/bin/sudo \
-targetnode tgt23ai \
-tgtauth zdmauth \
-tgtarg1 user:opc \
-tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-tgtarg3 sudo_location:/usr/bin/sudo \
-tdekeystorepasswd \
-tgttdekeystorepasswd \
-backupuser oracleidentitycloudservice/s***aik@oracle.com
Links Relacionados
Confirmações
- Autor - Snehaa Patnaik (Especialista em Implementação - Personalizado, 3rd party, VM Database & Apps)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Migrate from an On-Premises 19c non-Container Database to Oracle Database 23ai Container Database
G25678-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.