Pular para o conteúdo principal

Solucionar problemas de ingestão do Oracle

info

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 descreve problemas comuns com o conector CDC integrado do Oracle no Databricks Lakeflow Connect e como resolvê-los.

Solução de problemas gerais de pipeline

Os passos de solução de problemas nesta seção aplicam-se a todos os pipelines de ingestão no Lakeflow Connect.

Se um pipeline falhar durante a execução, clique no o passo que falhou e confirme se a mensagem de erro fornece informações suficientes sobre a natureza do erro.

view logs de eventos do pipeline na interface do usuário

Você também pode verificar e fazer download dos logs do cluster na página de detalhes do pipeline clicando em Update details no painel direito e, em seguida, em Logs . Verifique os logs em busca de erros ou exceções.

View detalhes de atualização do pipeline na IU

Verifique a configuração da origem

Se uma atualização de pipeline falhar, confirme se o banco de dados de origem está configurado corretamente:

  1. Confirme se o modo de archive log está habilitado:

    SQL
    SELECT LOG_MODE FROM V$DATABASE;

    A query deve retornar ARCHIVELOG.

  2. Confirme se o registro suplementar está habilitado:

    SQL
    SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_all FROM V$DATABASE;

    Esta query relata logs suplementares apenas no nível do banco de dados. Se você habilitou logs suplementares em tabelas individuais, essas colunas ainda podem retornar NO enquanto suas tabelas estiverem configuradas corretamente. Para verificar uma tabela específica, query ALL_LOG_GROUPS:

    SQL
    SELECT log_group_type FROM ALL_LOG_GROUPS WHERE owner = '<schema>' AND table_name = '<table>';
  3. Verifique se o usuário de replicação possui os privilégios concedidos por DBX_ORACLE_SETUP_UTIL.GRANT_PERMISSIONS. Consulte requisitos de usuário do Oracle database.

Falha na validação de log suplementar

O Databricks valida se cada tabela que você replica tem pelo menos o log suplementar de key primária. [[ ## completed ##]] Uma tabela satisfaz essa verificação quando tem o log suplementar habilitado diretamente ou quando o herda do catálogo ou banco de dados. O log suplementar mínimo por si só não satisfaz essa verificação.

Habilite o log suplementar de key primária na tabela:

SQL
ALTER TABLE <schema>.<table> ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

Para saber como escolher entre o registro de key primária e o registro suplementar completo, consulte Qual método de registro suplementar devo escolher?. [[ ## completed ##]]

Dados criptografados por TDE com uma carteira fechada

Se o seu banco de dados tiver tablespaces ou colunas criptografadas com Transparent Data Encryption (TDE), a carteira de criptografia (keystore) deve estar aberta. Caso contrário, o LogMiner relata Unsupported Type para colunas criptografadas e a validação falha. Confirme o status da carteira:

SQL
SELECT STATUS FROM V$ENCRYPTION_WALLET;

O status deve ser OPEN. Para um banco de dados multi-tenant que usa um keystore unificado, abra a carteira em CDB$ROOT.

ORA-12514: o listener não reconhece atualmente o serviço solicitado

O nome do serviço na conexão do Unity Catalog não pode ser alcançado. Se o seu banco de dados tiver DB_DOMAIN definido, os serviços do banco de dados plugável (PDB) farão o registro com um nome qualificado por domínio. Use o nome de serviço CDB$ROOT qualificado por domínio na conexão. Consulte Domínio do banco de dados.

Banco de dados multi-tenant: o usuário não consegue ver os dados de alteração

Para um banco de dados multi-tenant (CDB), confirme que:

  • O usuário de replicação é um usuário comum (o prefixo C##).
  • O usuário tem CONTAINER_DATA=ALL definido. A ferramenta de configuração define isso automaticamente. Consulte Acesso de container para ambientes CDB.
  • O source_catalog no pipeline é o nome do serviço CDB$ROOT.

Logs de arquivo limpos antes do processamento

Se o Oracle limpar os logs de arquivo antes que o pipeline possa processá-los, as tabelas afetadas exigirão um refresh completo. Aumente o período de retenção de logs de arquivo para evitar isso. A Databricks recomenda manter os logs de arquivo por pelo menos 48 horas.

PERMISSION_DENIED: Você não tem autorização para criar clusters

Contate um administrador da account Databricks para conceder a você permissões de Unrestricted cluster creation, ou use uma política de cluster personalizada. Consulte Requisitos.

Uma tabela é ignorada durante a ingestão

O LogMiner ignora tabelas que contêm tipos de dados ou atributos de armazenamento incompatíveis (por exemplo, BFILE, tabelas aninhadas ou colunas de identidade). Consulte Limitações do LogMiner.

O tempo limite de descoberta de esquema ou tabela é excedido no assistente de ingestão

Em grandes ambientes Oracle (por exemplo, 100 ou mais esquemas ou 1.000 ou mais tabelas), o passo que descobre esquemas e tabelas pode sofrer tempo esgotado. Conceda ao usuário de replicação SELECT apenas nos esquemas e tabelas que você pretende replicar. Isso reduz o escopo de descoberta e evita o tempo esgotado. Consulte Conceder privilégios SELECT em tabelas.

autenticação default: não é possível configurar credenciais default

Caso receba este erro, há um problema na descoberta das credenciais do usuário atual. Tente substituir o seguinte:

w = WorkspaceClient()

com:

w = WorkspaceClient(host=input('Databricks Workspace URL: '), token=input('Token: '))

Consulte Autenticação na documentação do SDK do Databricks para Python.