Pular para o conteúdo principal

Perguntas frequentes sobre o conector CDC integrado da Oracle

info

Beta

Este recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.

Esta página responde a perguntas frequentes sobre o conector CDC integrado do Oracle no Databricks Lakeflow Connect.

FAQs sobre conectores gerenciados gerais

As respostas em Perguntas frequentes sobre conectores gerenciados aplicam-se a todos os conectores gerenciados no Lakeflow Connect. Continue lendo para ver as perguntas frequentes específicas do conector.

Qual método de extração o conector utiliza?

O conector utiliza o LogMiner da Oracle em modo não confirmado e não contínuo, e conecta-se via JDBC. Ele não utiliza XStream, Oracle GoldenGate ou acesso direto a arquivos de redo log.

No modo uncommitted, o LogMiner lê as alterações antes que elas façam commit, o que permite que a replicação comece imediatamente e mantém baixa a carga de processamento e memória (PGA) no banco de dados de origem. O pipeline prepara as alterações brutas e aplica uma transação ao destino somente após ler o commit correspondente. No modo committed, que o conector não utiliza, o LogMiner armazena transações inteiras em buffer na memória PGA do banco de dados de origem, o que transações grandes podem esgotar.

O LogMiner não está descontinuado?

Não. A Oracle continua a oferecer suporte ao LogMiner como um recurso de banco de dados integrado para consultar redo logs online e arquivados por meio de SQL. A Oracle descontinuou a opção CONTINUOUS_MINE de DBMS_LOGMNR.START_LOGMNR no Oracle Database 12c e a removeu na versão 19c, mas o conector utiliza o LogMiner em modo não confirmado e não depende de mineração contínua, portanto, essa alteração não afeta a ingestão.

Se o pipeline falhar, a ingestão será retomada sem perda de dados?

Sim. O Databricks rastreia o que o conector extraiu da origem e aplicou no destino. Se algo acontecer, o Databricks poderá retomar a partir desse ponto, desde que os logs de arquivo permaneçam no banco de dados de origem. Se os logs de arquivo forem limpos antes da execução do pipeline, a retomada não será possível e as tabelas de destino exigirão um refresh completo.

O conector captura fusos horários para colunas de data e hora?

O conector preserva as informações de fuso horário para as colunas TIMESTAMP WITH TIME ZONE e TIMESTAMP WITH LOCAL TIME ZONE quando a precisão de frações de segundo é 6 ou menos. As colunas DATE são mapeadas para TIMESTAMP, e as colunas TIMESTAMP simples são ingeridas como strings, ambas sem conversão de fuso horário. Consulte a referência do conector CDC integrado da Oracle.

Qual método de log suplementar devo escolher?

Habilite o log suplementar no nível da tabela, ou no nível do contêiner (PDB) ou do banco de dados. Quando configuradas no nível de esquema ou contêiner, as tabelas herdam o nível de log suplementar configurado.

  • O log suplementar de key primária é o mínimo e é suficiente para a maioria das tabelas, incluindo tabelas que não possuem key primária. Quando uma tabela não tem uma key primária, ela registra todas as colunas, exceto os tipos LOB e LONG, e o conector as trata como uma key agrupada ao gravar na tabela Delta de destino.
  • O log suplementar completo é necessário apenas em tabelas cujas colunas de key primária ou key única são atualizadas por instruções UPDATE. Sem isso, o pipeline falha e solicita um refresh completo quando encontra tal atualização. Como este método registra todas as colunas nos logs de redo, ele usa mais espaço em disco.

O Databricks recomenda replicar tabelas que possuem uma key primária. Consulte Ativar registro suplementar.

Com que frequência posso programar a execução do pipeline de ingestão?

O pipeline tem execução no modo Trigger. Para ingerir dados em uma programação recorrente, faça a execução a partir de uma tarefa do Lakeflow Jobs, programada com frequência suficiente para processar alterações antes que os logs de arquivo sejam limpos na origem. Consulte Tarefas comuns de manutenção de pipeline e Programar atualizações recorrentes.

O conector oferece suporte a bancos de dados multi-tenant (CDB)?

Sim. Para um banco de dados multi-tenant, crie um usuário comum em CDB$ROOT e use o nome de serviço CDB$ROOT na conexão do Unity Catalog. Instâncias multi-tenant do Amazon RDS for Oracle não são suportadas. Consulte Bancos de dados multi-tenant (CDB).

Posso realizar a ingestão a partir de uma instância physical standby ou somente leitura?

Não. A captura de alterações baseada em LogMiner requer uma instância primária do Oracle.

O conector oferece suporte a Logical Standby usando Active Data Guard?

Não. O conector replica apenas a partir do banco de dados primário. Um banco de dados Logical Standby já utiliza o LogMiner para aplicar alterações do banco de dados primário e restringe o acesso ao LogMiner para usuários que não sejam DBA, o que impede a replicação adicional baseada em LogMiner.

O conector oferece suporte a réplicas de leitura?

Não, não neste momento.

O conector suporta Oracle on-premises?

Sim, para bancos de dados de origem acessíveis via AWS Direct Connect, Azure ExpressRoute ou VPN com largura de banda suficiente.

O conector oferece suporte ao Oracle E-Business Suite (EBS)?

Sim, se você tiver acesso ao banco de dados subjacente. O conector lê diretamente do banco de dados, não da camada de aplicativo.

O conector oferece suporte a aplicativos Oracle como CCS, WACS e Fusion?

Não oficialmente. O conector conecta-se diretamente ao banco de dados e lê as alterações com o LogMiner, portanto, ele não reconhece o nível da aplicação. Se um aplicativo expõe sua porta de banco de dados, o conector pode replicar as tabelas subjacentes, mas não considera os relacionamentos em nível de aplicação entre elas, portanto, tabelas relacionadas podem se tornar inconsistentes. Por esse motivo, o Databricks não oferece suporte formal ao Oracle Customer Cloud serviço (CCS), Work and ativo Cloud serviço (WACS), Oracle Fusion ou aplicativos similares.

Posso realizar a ingestão a partir de views do Oracle?

Não, não neste momento. O conector realiza a ingestão apenas a partir de tabelas.