Limitações do conector CDC integrado do Oracle
Beta
Esse 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 lista limitações e considerações para a ingestão do Oracle usando o Databricks Lakeflow Connect.
Limitações gerais de conectores de banco de dados
As limitações nesta seção aplicam-se a todos os conectores de banco de dados no Lakeflow Connect. Continue lendo para ver as limitações específicas do conector.
-
Quando você executa um pipeline agendado, os alertas não Trigger imediatamente. Em vez disso, eles fazem Trigger quando ocorre a execução da próxima atualização. [[ ## completed ##]]
-
Quando uma tabela de origem é excluída, a tabela de destino não é excluída automaticamente. Você deve excluir a tabela de destino manualmente. Esse comportamento não é consistente com o comportamento do Spark Declarative Pipelines no Lakeflow.
-
O catálogo de preparo não pode ser um catálogo externo.
-
Durante períodos de manutenção da origem, o Databricks pode não conseguir acessar seus dados.
-
Se um nome de tabela de origem entrar em conflito com um nome de tabela de destino existente, a atualização do pipeline falhará.
-
O suporte a pipeline de vários destinos é apenas via API.
-
Opcionalmente, você pode renomear uma tabela que você ingere. Se você renomear uma tabela em seu pipeline, ele se tornará um pipeline somente de API e você não poderá mais editar o pipeline na IU.
-
Se você selecionar uma coluna após um pipeline começar, o conector não fará o preenchimento automático de dados para a nova coluna. Para ingerir data histórica, faça manualmente uma execução de um refresh completo na tabela.
-
O Databricks não pode ingerir duas ou mais tabelas com o mesmo nome no mesmo pipeline, mesmo que venham de esquemas de origem diferentes.
-
O sistema de origem assume que as colunas de cursor são crescentes de forma monótona.
-
Snapshots do Gateway não podem ser retomados. Se você atualizar o pipeline enquanto um Snapshot estiver em andamento (por exemplo, adicionando novas tabelas), o Snapshot atual será cancelado e um novo Snapshot começará. O novo Snapshot inclui a união das tabelas do Snapshot cancelado e quaisquer tabelas recém-adicionadas.
-
O conector ingere dados brutos sem transformações. Use Spark Declarative Pipelines downstream em LakeFlow Pipelines para transformações. [[ ## completed ##]]
Autenticação
- O conector oferece suporte apenas à autenticação básica (nome de usuário e senha).
Variações de base de dados
- O conector oferece suporte a versões do Oracle 12c e acima (12c, 18c, 19c, 21c, 23ai e 26ai).
- O conector oferece suporte ao Amazon RDS para Oracle e ao Oracle em execução em máquinas virtuais (VMs) do Amazon EC2 ou Azure, ou Oracle cloud (OCI). O conector também oferece suporte ao Oracle on-premises usando Azure ExpressRoute, AWS Direct Connect ou VPN. Para obter detalhes sobre conectividade entre cloud, consulte Conectividade de rede.
- O Oracle Real Application Clusters (RAC) não é suportado, incluindo o Exadata em uma configuração RAC. Conecte-se a um banco de dados Oracle de instância única.
- As seguintes implantações do Oracle também não são suportadas: physical standby, Oracle Autonomous Database e instâncias multi-tenant do Amazon RDS para Oracle.
- Dados criptografados com Transparent Data Encryption (TDE) são suportados apenas quando a carteira de criptografia (keystore) está aberta. Com uma carteira fechada, o LogMiner relata
Unsupported Typepara colunas criptografadas.
Dados de origem
- Tipos de dados não suportados:
XML(XMLTYPE),JSON,BFILE,VECTOR,BOOLEANe tipos de dados espaciais. BLOB,CLOBeNCLOBvalores são parcialmente suportados. O LogMiner entrega a maioria dos valores em linha com o comando SQL no log de alterações, e o conector os lê diretamente da alteração. Valores de objetos grandes que são gravados fora da linha, e que, portanto, o LogMiner não inclui no registro de redo, não são capturados. Consulte Colunas de objeto grande (LOB).- O LogMiner ignora qualquer tabela que contenha
BFILE, tabelas aninhadas, coleçõesVARRAY, colunas de identidade, colunas de validade temporal, colunasPKREFou colunasPKOID. Consulte Limitações do LogMiner. - O LogMiner requer que os nomes das tabelas ou colunas não excedam 30 caracteres.
- O Oracle armazena identificadores sem aspas em maiúsculas. Os nomes
source_catalog(nome do serviço),source_schemaesource_tablediferenciam maiúsculas de minúsculas e devem corresponder à forma como o Oracle os armazena.
evolução do esquema
O conector lida automaticamente com as seguintes alterações de esquema:
- Novas colunas. Quando uma nova coluna aparece na origem, o Databricks a ingere na próxima execução do pipeline.
- Colunas excluídas. Quando uma coluna é excluída da origem, o conector a marca como
inactiveno destino em vez de removê-la. Se outra coluna aparecer posteriormente com um nome que entre em conflito com a colunainactive, o pipeline falhará. Nesse caso, faça uma execução de um refresh completo da tabela ou remova manualmente a coluna inativa. [[ ## completed ##]] - Ampliação de tipo de dados (por exemplo,
NUMBER(10)paraNUMBER(20), ouVARCHAR2(50)paraVARCHAR2(100)). - Novas tabelas, se você ingerir o esquema inteiro.
As seguintes alterações de esquema não são tratadas automaticamente e exigem um refresh completo das tabelas afetadas:
- Renomeações de coluna. Uma renomeação é aplicada como uma exclusão e adição de coluna, portanto, os valores históricos não são transferidos para o novo nome.
- Renomeações de tabela.
- Alterações de tipo de dados sem ampliação (estreitamento).
- Adicionando uma restrição
NOT NULLa uma coluna existente.
Para recuperar dessas alterações sem intervenção manual, habilite o refresh completo automático, que realiza o refresh completo das tabelas afetadas automaticamente. Consulte política de refresh completo automático.
pipeline
- O conector CDC integrado do Oracle usa um pipeline de CDC integrado que combina extração e aplicação em um único pipeline. Consulte Criar um pipeline de CDC integrado para Oracle.
- Se o Oracle limpar os logs de arquivo antes que o pipeline possa processá-los, execute um refresh completo nas tabelas afetadas.
Homologação
- O catálogo de preparo não pode ser um catálogo externo.
Tabelas
- O número máximo de tabelas por pipeline é o mesmo que o limite para Spark Declarative Pipelines.