Observação:

Clonar um Banco de Dados Plugável on-line remotamente entre Sistemas de BD no Oracle Base Database Service usando link de banco de dados

Introdução

Você pode criar clones de seus Bancos de Dados Plugáveis (PDB) dentro do mesmo banco de dados (Banco de Dados Contêiner) em um Sistema de BD. Esta operação é conhecida como clonagem local. Isso pode ser feito facilmente usando a Console. Você também pode clonar um PDB para outro banco de dados (Banco de Dados Contêiner) de outro sistema de BD. Esta operação é conhecida como clonagem remota.

A clonagem remota requer dois Sistemas de BD, pois cada Sistema de BD suporta apenas um banco de dados (Banco de Dados Contêiner). A clonação remota do PDB ainda não está disponível na Console. Você pode criar um clone remoto usando a API RemoteclonePluggabledatabase, usando um link de banco de dados e com ferramentas baseadas em API, incluindo a CLI do OCI, SDKs e o Terraform.

Este tutorial o orienta com as etapas para clonar remotamente um PDB usando um link de banco de dados em um Oracle Base Database Service.

Objetivos

Clonagem on-line remota de um PDB para outro sistema de BD no Oracle Base Database Service usando um link de banco de dados.

Pré-requisitos

  1. Noções básicas do Oracle Base Database Service.
  2. Dois Serviços de Banco de Dados do Oracle Base dentro da mesma VCN ou em diferentes VCNs.
  3. Pareamento da VCN se esses sistemas de BD estiverem em outro Pareamento da VCN.
  4. Veja a seguir os nomes de ambiente usados neste tutorial para facilitar a compreensão.
    • Nome do sistema de banco de dados de origem: SOURCE
    • Nome do sistema de BD de destino: TARGET
    • Nome do PDB de Origem: SOURCE_PDB1
    • Clonar nome do PDB: CLONE_PDB1

Tarefa 1: Preparar o Ambiente de Origem

  1. Crie um usuário para fins de clonagem no CDB de Origem usando o comando a seguir.

    CREATE USER c##clone IDENTIFIED BY <PASSWORD> CONTAINER=ALL;
    GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO c##clone CONTAINER=ALL;
    
  2. Verifique o conteúdo do objeto no PDB de origem: Neste exemplo, estamos considerando a tabela TEST.PERSONS para referência.

    • Nome do esquema: TESTE

    • Nome da tabela: PESSOAS

      Detalhes do objeto do PDB de origem

Tarefa 2: Preparar o Ambiente de Destino

  1. Certifique-se de que local_undo_enabled esteja definido como verdadeiro no CDB de destino.

  2. Certifique-se de que o CDB de destino esteja no modo archivelog.

    Observação: quando o CDB de destino está no modo ARCHIVELOG e no MODE LOCAL UNDO, o PDB de origem pode ser aberto no modo de leitura/gravação e operacional durante o processo de clonagem. Essa técnica é conhecida como clonagem a quente.

    Verifique os detalhes do undo local e do log de arquivamento do CDB de destino

  3. Atualize o endereço do nome do serviço CDB de origem no arquivo tnsnames.ora localizado no diretório $ORACLE_HOME/network/admin/ no nó do sistema de BD de destino.

    <addressname> =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(Host = <hostname>)(Port = <port>))
      )
    (CONNECT_DATA =
      (SERVICE_NAME = <service_name>)
    )
    )
    

    Este é um exemplo concluído:

    SOURCE_CDB =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = source.**************.*****.oraclevcn.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = SOURCE_iad1zr.**************.*****.oraclevcn.com)
        )
      )
    
  4. Crie um link de banco de dados no CDB de destino apontando para o CDB de origem.

    CREATE PUBLIC DATABASE LINK clone_pdb_dblink CONNECT TO c##clone identified by <PASSWORD> using '<ADDRESSNAME>';
    
    CREATE PUBLIC DATABASE LINK clone_pdb_dblink CONNECT TO c##clone identified by ************** using 'SOURCE_CDB';
    
  5. Verifique se a conectividade por meio do link de banco de dados funciona bem no CDB de destino. Como não estamos usando o link de banco de dados com o mesmo nome do banco de dados ao qual ele se conecta, precisamos definir adicionalmente global_names parameter como falso. Caso contrário, você encontrará erro do ORA-02085.

    alter session set global_names=false;
    
    select * from dual@clone_pdb_dblink;
    

    Pesquisar por meio do dblink

Tarefa 3: Clonar um PDB Remoto

  1. É hora de clonar o PDB de origem no CDB de destino fazendo log-in no CDB de destino. Forneça o TDE_WALLET_PASSWORD do ambiente de destino.

    alter session set global_names=false;
    
    create pluggable database <CLONE_PDB_NAME> from <SOURCE_PDB_NAME>@<DB_LINK_NAME> keystore identified by <TDE_WALLET_PASSWORD>;
    
    create pluggable database CLONE_PDB1 from SOURCE_PDB1@clone_pdb_dblink keystore identified by <TDE_WALLET_PASSWORD>;
    

    Criar um clone do PDB no CDB de destino

  2. Abra o PDB clonado no modo de leitura/gravação. Depois de criar o PDB, ele estará no modo montado. Abra o novo PDB clonado no modo de leitura/gravação do Oracle Database para concluir a integração do novo PDB no CDB de destino.

    alter pluggable database CLONE_PDB1 open read write;
    
  3. Verifique se todos os dados do objeto estão clonados no PDB clone:

    Verificar PDB Clonado

Podemos ver que os dados foram copiados com sucesso do PDB de origem para o PDB clone no sistema de BD de destino.

Confirmações

Mais Recursos de Aprendizagem

Explore outros laboratórios no site docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. 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.