Replicar Dados de PostgreSQL para o Autonomous Transaction Processing

Aprenda a replicar dados de um banco de dados do servidor PostgreSQL para o Autonomous Transaction Processing usando o OCI GoldenGate.

Antes de começar

Para concluir esse início rápido com sucesso, você deve ter:

Ambiente configurado: PostgreSQL

Para configurar o ambiente para esse Início Rápido:
  1. Execute os comandos a seguir para instalar PostgreSQL.
    1. Instale o servidor PostgreSQL:
      sudo yum install postgresql-server
    2. Instale o módulo postgresql-contrib para evitar esta exceção SQL:
      sudo yum install postgresql-contrib
    3. Crie um novo cluster de banco de dados PostgreSQL:
      sudo postgresql-setup --initdb
    4. Ative o postgresql.service:
      sudo systemctl enable postgresql.service
    5. Inicie o postgresql.service:
      sudo systemctl start postgresql.service
  2. Por padrão, PostgreSQL só permite conexões locais. Permitir conectividade remota com PostgreSQL.
    1. Em /var/lib/pgsql/data/postgresql.conf, prepare o banco de dados para replicação.
    2. Localize e remova o comentário de listen_addresses = 'localhost' e altere localhost para um asterisco (*):
      listen_addresses = '*'
    3. Defina os parâmetros a seguir:
      • wal_level = logical
      • max_replication_slots = 1
      • max_wal_senders = 1
      • track_commit_timestamp = on

      Observação:

      Configure /var/lib/pgsql/data/pg_hba.conf para garantir que a autenticação do cliente seja definida para permitir conexões de um host do Oracle GoldenGate. Por exemplo, adicione o seguinte:
      #Allow connections from remote hosts
      host    all    all    0.0.0.0/0    md5
      Consulte O Arquivo pg_hba.conf para obter mais informações.
    4. Reiniciar servidor PostgreSQL:
      sudo systemctl restart postgresql.service
  3. Se estiver usando o Oracle Cloud Compute para hospedar o PostgreSQL, abra a porta 5432:
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --reload
    sudo firewall-cmd --list-all
  4. Abra a porta 5432 na lista de segurança da sua VCN.
  5. Conectar-se a PostgreSQL.
    > sudo su - postgres
    > psql

    Observação:

    Como alternativa, você poderá informar sudo su - postgres psql se o exemplo acima não funcionar.
  6. Configure PostgreSQL.
    1. Faça download e execute seedSRCOCIGGLL_PostgreSQL.sql para configurar o banco de dados e carregar os dados de amostra.
    2. Execute os seguintes comandos para configurar o usuário (certifique-se de substituir <password> por uma senha real):
      create user ggadmin with password '<password>';
      alter user ggadmin with SUPERUSER;
      GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin;

Configuração de ambiente: Autonomous Transaction Processing (ATP)

  1. Faça download e descompacte o esquema de banco de dados de amostra.
  2. Desbloqueie o usuário GGADMIN.
    1. Na console do Oracle Cloud, selecione a instância do ATP na página Autonomous Databases para exibir seus detalhes e acessar o Database Actions.
    2. Clique em Database Actions e, em seguida, clique em Database Users.
    3. Localize GGADMIN, clique em seu menu de reticências (três pontos) e selecione Editar.
    4. No painel Editar Usuário, informe a senha GGADMIN, confirme a senha e desmarque A conta está Bloqueada.
    5. Clique em Aplicar Alterações.
  3. Carregue os dados e o esquema de amostra de destino.
    1. No menu do Database Actions, selecione SQL.
    2. Copie e cole o script de OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql na planilha SQL.
    3. Clique em Executar Script. A guia Saída do Script exibe mensagens de confirmação.
    4. Limpe a planilha SQL e copie e cole o SQL de OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql.
    5. Para verificar se as tabelas foram criadas com sucesso, feche a janela SQL e reabra-a novamente. Na guia Navegador, procure o esquema SRC_OCIGGLL e selecione tabelas de suas respectivas listas drop-down.

Tarefa 1: Criar os recursos do OCI GoldenGate

Este exemplo de início rápido exige implantações e conexões para a origem e o destino.
  1. Crie uma implantação para o banco de dados PostgreSQL de origem.
  2. Crie uma implantação para a instância de destino do Autonomous Transaction Processing.
  3. Crie uma conexão com o banco de dados PostgreSQL de origem.
    1. Para Tipo, certifique-se de selecionar Servidor PostgreSQL.
    2. Para Nome do banco de dados, digite ociggll.
    3. Para Host, digite o IP público da instância do serviço Compute na qual PostgreSQL é executado.
    4. Para Porta, digite 5432.
    5. Para Nome do Usuário, informe ggadmin.
    6. Em Senha, digite uma senha.
    7. Para Protocolo de Segurança, selecione Simples.
  4. Crie uma conexão para a instância do Autonomous Transaction Processing de destino.
  5. Crie uma conexão com GoldenGate e, em seguida, designe essa conexão à implantação PostgreSQL de origem.
  6. Designe a conexão de origem à implantação PostgreSQL de origem.
  7. Designe a conexão de destino à implantação Oracle de destino.

Tarefa 2: Ativar log complementar

Para ativar o log complementar:
  1. Inicie a console de implantação do PostgreSQL GoldenGate do:
    1. Na página Implantações, selecione a implantação do PostgreSQL para ver os detalhes.
    2. Na página de detalhes da implantação PostgreSQL, clique em Iniciar console.
    3. Na página de acesso da console de implantação, informe as credenciais de administrador GoldenGate fornecidas na Tarefa 1, etapa 1.
  2. Em GoldenGate 23ai, clique em Conexões de BD na navegação esquerda, no banco de dados PostgreSQL de origem e em Trandata.
  3. Na página TRANDATA, ao lado de Informações TRANDATA, clique em Adicionar TRANDATA (ícone de mais).
  4. No painel Trandata, para Nome do Esquema, digite src_ociggll.* e clique em Enviar.

    Observação:

    Use o campo de pesquisa para procurar src_ociggll e verificar se as tabelas foram adicionadas.

Tarefa 3: Criar os Extracts

  1. Adicione o Change Data Capture Extract:
    1. Na navegação esquerda, clique em Extrações,
    2. Na página Extrações, clique em Adicionar Extração (ícone de mais) e preencha os campos da seguinte forma:
      • Na página Informações Extração:
        1. Para o tipo Extração, selecione Extração do Change Data Capture.
        2. Para Nome do Processo, digite um nome para a Extração, como ECDC.
        3. Clique em Próximo.
      • Na página Opções de Extração:
        1. Para credenciais de Origem, selecione Oracle GoldenGate na lista drop-down Domínio
        2. Selecione o banco de dados PostgreSQL de origem na lista drop-down Alias.
        3. Para Extrair o Nome da Trilha, digite um nome com dois caracteres, como C1.
        4. Clique em Próximo.
      • Na página Parâmetros de Extração, substitua MAP *.*, TARGET *.*; pelo seguinte:
        TABLE SRC_OCIGGLL.*;
    3. Clique em Criar e Executar.
  2. Adicione a Extração de Carga Inicial:
    1. Na página Extrações, clique em Adicionar Extração e preencha o formulário Adicionar Extração da seguinte forma:
      • Na página Informações de Extração:
        1. Para o tipo Extrair, selecione Extrair Carga Inicial.
        2. Em Nome do Processo, digite um nome, como EIL.
        3. Clique em Próximo.
      • Na página Opções de Extração:
        1. Para credenciais de Origem, selecione Oracle GoldenGate na lista drop-down Domínio.
        2. Selecione o banco de dados PostgreSQL no menu suspenso Alias.
        3. Para Extrair Nome da Trilha, digite um nome de trilha com dois caracteres, como I1.
        4. Clique em Próximo.
      • Na página Parâmetros de Extração, substitua o conteúdo da área de texto pelo seguinte:
        EXTRACT EIL
        USERIDALIAS PostgreSQL_Compute, DOMAIN OracleGoldenGate
        EXTFILE I1, PURGE
        TABLE src_ociggll.*;

        Observação:

        Certifique-se de remover o parâmetro SOURCEDB na frente de USERIDALIAS antes de seguir em frente.
    2. Clique em Criar e Executar.
Você retorna à página Extrações, na qual é possível observar o início da Extração.

Tarefa 4: Criar o Distribution Path para Initial Load Extrair

  1. Na página Implantações, selecione a implantação do Autonomous Database de destino.
  2. Na página de detalhes da implantação, clique em Iniciar Console e faça log-in como o usuário administrador.
  3. Se estiver usando o armazenamento de credenciais do IAM, prossiga para a etapa Criar um Distribution Path. Se estiver usando o armazenamento de credenciais GoldenGate, crie um usuário com o qual a origem GoldenGate use para estabelecer conexão com o destino GoldenGate.
    1. No menu de navegação, clique em Administração de Usuários.
    2. Clique em Adicionar Novo Usuário (ícone de mais), preencha os campos da seguinte forma e clique em Submeter:
      • Para Nome do Usuário, digite ggsnet.
      • Para Atribuição, selecione Operador.
      • Digite a senha duas vezes para verificação.
  4. Na console de implantação de origem PostgreSQL, crie uma Conexão de Caminho para o usuário criado na etapa anterior.
    1. No menu de navegação, clique em Conexões de Caminho.
    2. Clique em Adicionar Conexão de Caminho (ícone de mais), preencha os campos a seguir e clique em Submeter:
      • Para o Alias de Credencial, digite dpuser.
      • Para ID do Usuário, digite ggsnet
      • Para Senha, digite a mesma senha usada na etapa anterior.
  5. Criar um Distribution Path.
    1. Na barra de menu de serviço, clique em Distribution Service e, em seguida, clique em Adicionar Distribution Path (ícone de mais).
    2. Complete o formulário Adicionar caminho da seguinte forma:
      • Na página Informações do Caminho:
        1. Para Nome do Caminho, digite um nome para esse caminho.
        2. Clique em Próximo.
      • Na página Opções de Origem:
        1. Para Origem Extract, deixe em branco.
        2. Para Nome da Trilha, digite o nome da trilha Initial Load Extract (I1).
        3. Clique em Próximo.
      • Na página Opções Alvo:
        1. Para Alvo, selecione wss.
        2. Para Host de Destino, digite o URL de implantação de destino, sem https:// ou qualquer barra à direita.
        3. Para Port Number, digite 443.
        4. Para Nome da Trilha, digite I1.
        5. Para Destinar Método de Autenticação, selecione UserID Alias.
        6. Para Domínio, digite o nome do domínio criado na etapa anterior.
        7. Para Alias, digite o alias criado na etapa anterior (dpuser).
        8. Clique em Próximo.
    3. Clique em Criar e Executar.
    Você retorna à página Distribution Service, na qual pode verificar o caminho criado.
  6. Na console de implantação do Autonomous Database de destino, verifique o caminho do Receptor criado como resultado do caminho de Distribuição:
    1. Clique em Receiver Service.
    2. Verifique os detalhes de Distribution Path.

Tarefa 5: Adicione um Replicat para Initial Load

  1. Na implantação do Autonomous Database de destino, adicione uma tabela Checkpoint.
    1. No menu de navegação, clique em Conexões de BD
    2. Selecione a instância de destino do Autonomous Database e, em seguida, Checkpoints.
    3. Na página Checkpoints, clique em Adicionar Ponto de Verificação (ícone de mais).
    4. No painel Checkpoint, para Tabela de Esquema, digite SRCMIRROR_OCIGGLL.CHECKTABLE.
    5. Clique em Enviar.
  2. Adicione o Replicat.
    1. No menu de navegação, clique em Replicats.
    2. Na página Replicats, clique em Adicionar Replicat (ícone de mais) e preencha os campos Adicionar Replicat da seguinte forma:
      • Na página Informações do Replicat:
        1. Para tipo Replicat, selecione Nonintegrated Replicat.
        2. Em Nome do Processo, digite um nome, como RIL.
        3. Clique em Próximo
      • Na página Opções Replicat:
        1. Para Replicat Nome da Trilha, digite o nome da Trilha da Tarefa 2 (I1).
        2. Para Credenciais de Destino, selecione o Domínio e o Alias da conexão do Autonomous Database.
        3. Para Tabela de Checkpoint, selecione a tabela de Checkpoint criada na Etapa 1.
        4. Clique em Próximo.
      • Na página Arquivo de Parâmetros, substitua MAP *.*, TARGET *.*; pelo seguinte:
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. Clique em Criar e Executar.
      Você retorna à página Replicats, na qual pode revisar os detalhes de Replicat.
  3. Selecione o Replicat (RIL) e exiba seus Detalhes.
  4. Clique em Estatísticas e verifique o número de Inserções. Atualize a página.
    • Se o número de Inserções não for alterado, todos os registros do Initial Load terão sido carregados e você poderá interromper o Replicat (RIL)
    • Se o número de Inserções continuar a aumentar, mantenha a atualização da página até que os registros Initial Load sejam todos carregados antes de continuar.
  5. Verifique o Initial Load.
    1. Na console do Oracle Cloud, na página de detalhes do Autonomous Database, clique em Ações de banco de dados e, em seguida, clique em SQL.
    2. Na ferramenta SQL, digite cada uma das seguintes instruções na planilha e clique em Executar Instrução:
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
    A saída deve retornar os dados que foram carregados nas tabelas do banco de dados de destino como resultado do Initial Load.

Tarefa 6: Criar um Distribution Path para Change Data Capture Extract

  1. Na console de implantação de origem PostgreSQL, clique em Distribution Service.
  2. Clique em Adicionar Distribution Path.
  3. Complete o formulário Adicionar caminho da seguinte forma:
    1. Na página Informações do Caminho:
      1. Para Nome do Caminho, digite um nome.
      2. Clique em Próximo.
    2. Na página Opções de Origem:
      1. Para Origem Extract, selecione o Change Data Capture Extract (ECDC).
      2. Para Nome da Trilha, selecione o arquivo de trilha Change Data Capture (C1).
      3. Clique em Próximo.
    3. Na página Opções Alvo:
      1. Para Alvo, selecione wss.
      2. Para Host de Destino, digite o URL da console de implantação de destino (você pode encontrá-lo na página de detalhes da implantação, sem https:// ou qualquer barra à direita.
      3. Para Port Number, digite 443.
      4. Para Nome da Trilha, digite C1.
      5. Para Destinar Método de Autenticação, selecione UserID Alias.
      6. Em Domínio, digite o nome do domínio.
      7. Para Alias, insira o alias.
    4. Clique em Criar Caminho e Executar.
  4. Na console de implantação do Autonomous Database de destino, clique em Serviço do Receiver e verifique o caminho do Receiver criado.

Tarefa 7: Adicione um Replicat para Change Data Capture

  1. Na console de implantação do Autonomous Database de destino, adicione um Replicat.
    1. No menu de navegação do Serviço de Administração, clique em Replicats.
    2. Na página Replicats, clique em Adicionar Replicat (ícone de mais) e preencha o formulário Adicionar Replicat da seguinte forma:
      • Na página Replicat Information:
        1. Para tipo Replicat, selecione Nonintegrated Replicat.
        2. Em Nome do Processo, digite um nome, como RCDC.
        3. Clique em Próximo.
      • Na página Opções Replicat:
        1. Para Replicat Nome da Trilha, digite o nome da Trilha da Tarefa 3 (C1).
        2. Para Credenciais de Destino, selecione o Domínio e o Alias da conexão do Autonomous Database.
        3. Para Tabela de Checkpoint, selecione a tabela de Checkpoint.
      • Na página Parâmetros Replicat, substitua MAP *.*, TARGET *.*; pelo seguinte mapeamento:
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. Clique em Criar. Não execute Replicat.
  2. Na página Replicats, selecione o Replicat para Initial Load (RIL) e exiba seus Detalhes.
  3. Clique em Estatísticas e verifique o número de Inserções. Atualize a página.
    • Se o número de Inserções não for alterado, todos os registros do Initial Load terão sido carregados e você poderá interromper o Replicat (RIL)
    • Se o número de Inserções continuar a aumentar, mantenha a atualização da página até que os registros Initial Load sejam todos carregados antes de continuar.

    Observação:

    Se você não vir nenhuma Inserção, clique em Serviço de Métricas de Desempenho, selecione a Extração e clique em Estatísticas de Banco de Dados.
  4. Retorne à página Replicats e inicie o Replicat para Change Data Capture (RCDC).
  5. Depois de iniciar o Replicat para Change Data Capture, verifique os Detalhes e as Estatísticas para exibir o número de Inserções.
  6. Verificar replicação:
    1. Execute o seguinte script para fazer inserções no banco de dados PostgreSQL:
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    2. Na console de implantação PostgreSQL de origem, selecione o Change Data Capture Extract (ECDC) e clique em Estatísticas. Verifique se src_ociggll.src_city tem 10 inserções.

      Observação:

      Se o Extract não tiver capturado inserções, reinicie o ECDC Extract.
    3. Na console de implantação do Autonomous Database de destino, selecione o nome Replicat (RCDC), exiba seus Detalhes e marque Estatísticas. Verifique se SRCMIRROR_OCIGGLL.SRC_CITY tem 10 inserções.

Tarefa 8: Monitorar e manter processos

  1. Monitorar o desempenho.
  2. Gerenciar arquivos de Trilha.