Replicar dados do PostgresSQL para o Snowflake usando o Streaming Handler
Descubra como usar o OCI GoldenGate para replicar dados do PostgreSQL para o Snowflake usando o Streaming Handler.
Antes de começar
Para concluir este início rápido com sucesso, você deve ter o seguinte:
-
Acesso ao OCI Database with PostgreSQL
-
Abra a porta 5432 na lista de segurança da VCN usada pelo OCI Database with PostgreSQL
-
Acesso ao Snowflake
Configurar o OCI Database with PostgreSQL
-
Crie um OCI Database with PostgreSQL.
-
No OCI Database with PostgreSQL:
-
Selecione Configurações.
-
Use uma configuração existente, como
PostgreSQL.VM.Standard.E5.Flex-14-0_51. -
Selecione Copiar configuração, renomeie-a, adicione
wal_levelem Variáveis do usuário (leitura/gravação) e defina-a como 'lógica'. -
Selecione Criar.
-
Consulte Copiando uma Configuração para obter mais informações.
-
-
Use a Configuração com
wal_leveldefinida como verdadeira ao criar o Sistema de BD. Consulte Criando um Sistema de Banco de Dados para obter mais informações.
-
-
Conecte-se ao OCI Database with PostgreSQL. Consulte Estabelecendo Conexão com um Banco de Dados para obter mais informações.
-
Crie um banco de dados e um usuário para o GoldenGate no OCI Database with PostgreSQL:
-
Banco de dados
-
criar banco de dados ociggll;
-
\c ociggll;
-
criar esquema src_ociggll;
-
-
Usuário
-
criar usuário
ggadmincom a senha<password>; -
CONCEDER TODOS OS PRIVILEGOS NA ORIGEM DO BANCO DE DADOS AO ggadmin;
-
GRANT SELECT ON ALL TABLES IN SCHEMA src_ociggll TO ggadmin;
-
-
Configurar o banco de dados Snowflake
-
Os usuários devem criar um par de chaves pública e privada para autenticação no Snowflake.
-
Crie um usuário especificamente para GoldenGate no Snowflake com privilégios apropriados.
-
Adicione a chave pública ao usuário do Snowflake, por exemplo:
ALTER USER example_user SET RSA_PUBLIC_KEY='MIIBIjANBgkqh...'; -
Crie tabelas de destino usando o esquema de amostra.
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.
-
O GoldenGate para PostgreSQL 26ai é obrigatório.
-
Crie uma implantação do PostgreSQL para o banco de dados PostgreSQL de origem.
-
Crie uma implantação de Big Data para o banco de dados Snowflake de destino.
-
Crie uma conexão PostgreSQL com os seguintes valores:
-
Para Tipo, selecione OCI Database with PostgreSQL no menu suspenso.
-
Para Nome do banco de dados, digite
ociggll. -
Para Username, digite
ggadmin. -
Em Senha, informe a sua senha.
-
Para Protocolo de Segurança, selecione TLS no menu suspenso e, em seguida, selecione Preferir.
-
-
Crie uma conexão Snowflake com os seguintes valores:
-
Para URL da Conexão, digite
jdbc:snowflake://<account_identifier>.snowflakecomputing.com/?warehouse=<warehouse name>&db=OCIGGLL.Observação: Certifique-se de substituir
<account_identifier>e<warehouse name>pelos valores apropriados. -
Para Tipo de Autenticação, selecione Autenticação de par de chaves no menu suspenso.
Observação: A autenticação do par de chaves é o único tipo de autenticação suportado para o Snowflake Streaming.
-
Para Nome do Usuário, informe um nome.
-
Faça upload da Chave privada criada anteriormente.
-
Informe a frase-senha de chave privada no campo Senha de chave privada.
-
-
Crie uma conexão com o GoldenGate para a implantação do Big Data de destino e atribua essa conexão à implantação do PostgreSQL de origem.
-
Designe a conexão PostgreSQL de origem à implantação do PostgreSQL.
-
Designe a conexão do Snowflake à implantação do Big Data de destino.
Tarefa 2: Ativar log complementar
Para ativar o registro em log complementar:
-
Inicie a console de implantação do PostgreSQL GoldenGate do:
-
Na página Implantações, selecione a implantação do PostgreSQL para ver os detalhes.
-
Na página Detalhes da implantação do PostgreSQL, selecione Iniciar console.
-
Na página de acesso da console de implantação, informe as credenciais de administrador do GoldenGate fornecidas na Tarefa 1, etapa 1.
Observação: O acesso será obrigatório se o IAM não tiver sido selecionado como o armazenamento de credenciais ao criar uma implantação.
-
-
Na console de implantação, selecione Conexões de BD na navegação esquerda, depois o banco de dados PostgreSQL de origem e, em seguida, Trandata.
-
Na página TRANDATA, ao lado de Informações TRANDATA, selecione Adicionar TRANDATA (ícone de mais).
-
No painel Trandata, para Nome do Esquema, digite
src_ocigglle selecione Enviar.Observação: Use o campo de pesquisa para procurar
src_ocigglle verificar se as tabelas foram adicionadas.
Tarefa 3: Criar os processos de Extract
-
Adicionar a Extração da Captura de Dados de Alteração:
-
Na navegação esquerda, selecione Extrações,
-
Na página Extracts, selecione Adicionar Extract (ícone de mais) e preencha os campos da seguinte forma:
-
Na página Informações da Extração:
-
Para Tipo de extração, selecione Alterar Extração de Captura de Dados.
-
Para Nome do Processo, informe um nome para o processo Extract, como
ECDC. -
Selecione Próximo.
-
-
Na página Opções de Extração:
-
Para credenciais de Origem, selecione Oracle GoldenGate na lista drop-down Domínio
-
Selecione o banco de dados PostgreSQL de origem na lista drop-down Alias.
-
Para Extrair Nome da Trilha, informe um nome de trilha de dois caracteres, como
C1. -
Selecione Próximo.
-
-
Na página Parâmetros de Extração, substitua
MAP *.*, TARGET *.*;pelo seguinte:TABLE SRC_OCIGGLL.*;
-
-
Selecione Criar e Executar.
-
-
Adicione a Extração de Carga Inicial:
-
Na página Extracts, selecione Adicionar Extract e preencha o formulário Adicionar Extract da seguinte forma:
-
Na página Informações da Extração:
-
Para o tipo de Extração, selecione Extração de Carga Inicial.
-
Para Nome do Processo, informe um nome, como
EIL. -
Selecione Próximo.
-
-
Na página Opções de Extração:
-
Para credenciais de Origem, selecione Oracle GoldenGate na lista drop-down Domínio.
-
Selecione o banco de dados PostgreSQL na lista drop-down Alias.
-
Para Nome da Trilha de Extração, informe um nome de trilha de dois caracteres, como
I1. -
Selecione 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
SOURCEDBna frente deUSERIDALIASantes de seguir em frente.
-
-
Selecione Criar e Executar.
-
Você retorna à página Extracts, na qual é possível observar o início do processo Extract.
Tarefa 4: Criar o Caminho de Distribuição para Extract de Carga Inicial
Para criar um Caminho de Distribuição para a Extração da Carga Inicial:
-
Na console do Oracle Cloud, na página Implantações, selecione a implantação do Big Data de destino.
-
Na página de detalhes da implantação, selecione Iniciar Console e, em seguida, faça log-in como usuário administrador.
-
Se estiver usando o armazenamento de credenciais do IAM, prossiga para a etapa Criar um Caminho de Distribuição. Se estiver usando o armazenamento de credenciais do GoldenGate, crie um usuário com o qual o GoldenGate de origem use para estabelecer conexão com o GoldenGate de destino.
-
No menu de navegação, selecione Administração de Usuários.
-
Selecione Adicionar Novo Usuário (ícone de adição), preencha os campos da seguinte forma e selecione Submeter:
-
Para Username, informe
ggsnet. -
Para Atribuição, selecione Operador.
-
Digite a senha duas vezes para verificação.
-
-
-
No console de implantação do PostgreSQL de origem, crie uma Conexão de Caminho para o usuário criado na etapa anterior.
-
No menu de navegação, selecione Conexões de Caminho.
-
Selecione Adicionar Conexão de Caminho (ícone de mais), preencha os campos da seguinte forma e selecione 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.
-
-
-
Criar um Caminho de Distribuição.
-
Na barra de menus do serviço, selecione Caminhos e, em seguida, selecione Adicionar Caminho de Distribuição (ícone de mais).
-
Preencha o formulário Adicionar Caminho da seguinte forma:
-
Na página Informações do Caminho:
-
Para Nome do Caminho, informe um nome para este caminho.
-
Selecione Próximo.
-
-
Na página Opções de Origem:
-
Para Extração de Origem, deixe em branco.
-
Para Nome da Trilha, informe o nome de trilha de Extração da Carga Inicial (
I1). -
Selecione Próximo.
-
-
Na página Opções de Destino:
-
Para Destino, selecione wss.
-
Para o Host do Destino, informe o URL da implantação do destino, sem https:// ou qualquer barra à esquerda.
-
Para o Número de Porta, informe
443. -
Para Nome da Trilha, informe
I1. -
Para Método de Autenticação de Destino, selecione Alias de ID de Usuário.
-
Para Domínio, informe o nome do domínio criado na etapa anterior.
-
Para Alias, informe o alias criado na etapa anterior (
dpuser). -
Selecione Próximo.
-
-
-
Selecione Criar e Executar.
Você retorna à página Serviço de Distribuição, na qual pode revisar o caminho criado.
-
-
Na console de implantação de destino, verifique o caminho do Receptor criado como resultado do caminho de Distribuição:
-
Selecione Caminhos.
-
Verifique os detalhes do Caminho.
-
Tarefa 5: Adicionar o Processo de Replicat para Carga Inicial
-
Na console de implantação do Big Data de destino, adicione o processo Replicat de Carga Inicial.
-
No menu de navegação, selecione Replicações e, em seguida, Adicionar Replicat (ícone de mais).
-
Na página Replicats, preencha os campos Adicionar Replicat da seguinte forma:
-
Na página Informações de Replicação:
-
Para Tipo de replicação, selecione Replicação Coordenada.
-
Para Nome do Processo, informe um nome, como
RIL. -
Selecione Próximo.
-
-
Na página Opções de Replicat:
-
Para Nome da Trilha de Replicação, informe o nome da Trilha da Tarefa 2 (
I1). -
Para Destino, selecione Snowflake.
-
Para Credenciais de Destino, selecione o Domínio e o Apelido da conexão do Snowflake.
-
Para Alias disponíveis, selecione um alias no menu suspenso, como Snowflake.
-
Selecione Streaming.
-
Selecione Próximo.
-
-
Na página Arquivo de Parâmetros, adicione o seguinte mapeamento:
INSERTALLRECORDS MAP src_ociggll.src_city, TARGET SRCMIRROR_OCIGGLL.SRC_CITY; MAP src_ociggll.src_region, TARGET SRCMIRROR_OCIGGLL.SRC_REGION; MAP src_ociggll.src_customer, TARGET SRCMIRROR_OCIGGLL.SRC_CUSTOMER; MAP src_ociggll.src_orders, TARGET SRCMIRROR_OCIGGLL.SRC_ORDERS; MAP src_ociggll.src_order_lines, TARGET SRCMIRROR_OCIGGLL.SRC_ORDER_LINES; MAP src_ociggll.src_product, TARGET SRCMIRROR_OCIGGLL.SRC_PRODUCT; -
Na página Propriedades, revise as propriedades e adicione
jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true. -
Selecione Criar e Executar.
-
Você retorna à página Replicats, na qual pode revisar os detalhes do Replicat.
-
-
Para verificar a Carga Inicial, conecte-se ao banco de dados do Snowflake e execute as seguintes consultas:
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 da Carga Inicial.
Tarefa 6: Criar o Caminho de Distribuição para a Captura de Dados de Alteração
-
No console de implantação do PostgreSQL de origem, selecione Serviço de Distribuição.
-
Selecione Adicionar Caminho de Distribuição.
-
Preencha o formulário Adicionar Caminho da seguinte forma:
-
Na página Informações do Caminho:
-
Para Nome do Caminho, informe um nome.
-
Selecione Próximo.
-
-
Na página Opções de Origem:
-
Para Extração de Origem, selecione a Extração da Captura de Dados de Alteração (
ECDC). -
Para Nome da Trilha, selecione o arquivo da trilha de Captura de Dados de Alteração (
C1). -
Selecione Próximo.
-
-
Na página Opções de Destino:
-
Para Destino, selecione wss.
-
Para Host de Destino, informe o URL da console de implantação de destino (você pode encontrar isso na página de detalhes da implantação, sem https:// ou qualquer barra à direita).
-
Para o Número de Porta, informe
443. -
Para Nome da Trilha, informe
C1. -
Para Método de Autenticação de Destino, selecione Alias de ID de Usuário.
-
Em Domínio, digite o nome do domínio.
-
Para Alias, informe o alias.
-
-
Selecione Criar Caminho e Executar.
-
Tarefa 7: Adicionar um processo de Replicat para Captura de Dados de Alteração
Execute atualizações no banco de dados PostgreSQL de origem para verificar a replicação no Snowflake.
-
Adicione o processo de Replicat.
-
Na console de implantação do Big Data de destino, selecione Serviço de Administração e, no menu de navegação, selecione Replicações.
-
Na página Replicatos, selecione Adicionar Replicat (ícone de mais) e preencha o form Adicionar Replicat da seguinte forma:
- Na página Informações do Replicat:
-
Para Tipo de replicado, selecione Clássico ou Coordenado.
-
Para Nome do Processo, informe um nome, como
RCDC. -
Selecione Próximo.
-
- Na página Opções de Replicat:
-
Para Nome da Trilha Replicat, informe o nome da Trilha da Tarefa 3 (
C1). -
Para Destino, selecione Snowflake.
-
Para Credenciais de Destino, selecione o Domínio e o Alias da conexão do Snowflake.
-
Selecione Streaming.
-
-
Na página Arquivos de Parâmetros, adicione o seguinte mapeamento e selecione Próximo:
INSERTALLRECORDS MAP src_ociggll.src_city, TARGET SRCMIRROR_OCIGGLL.SRC_CITY; MAP src_ociggll.src_region, TARGET SRCMIRROR_OCIGGLL.SRC_REGION; MAP src_ociggll.src_customer, TARGET SRCMIRROR_OCIGGLL.SRC_CUSTOMER; MAP src_ociggll.src_orders, TARGET SRCMIRROR_OCIGGLL.SRC_ORDERS; MAP src_ociggll.src_order_lines, TARGET SRCMIRROR_OCIGGLL.SRC_ORDER_LINES; MAP src_ociggll.src_product, TARGET SRCMIRROR_OCIGGLL.SRC_PRODUCT; -
Na página Propriedades, revise as propriedades, adicione o seguinte mapeamento e selecione Criar e Executar:
jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true
- Na página Informações do Replicat:
Você retorna à página Replicats, na qual pode revisar os detalhes do Replicat.
-
-
Verificar Captura de Dados de Alteração:
-
Execute atualizações no banco de dados PostgreSQL de origem para verificar a replicação no Snowflake. Execute o seguinte script para executar 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); -
No console de implantação do PostgreSQL de origem, selecione
RCDCe, em seguida, Estatísticas. Verifique se osrc_ociggll.src_citytem 10 inserções.Observação: Se o Extract não tiver inserções capturadas, reinicie o Extract
ECDC. -
Na console de implantação do Big Data de destino, selecione o
RCDC, revise seus Detalhes e Estatísticas para verificar o número de Inserções.
-