Perguntas frequentes sobre o conector CDC integrado da Oracle
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. [[ ## completed ##]] Quando uma tabela não tem uma key primária, ela registra todas as colunas, exceto os tipos
LOBeLONG, e o conector as trata como uma key agrupada ao gravar na tabela Delta de destino. [[ ## completed ##]] - 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. [[ ## completed ##]] 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. [[ ## completed ##]] 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.