Limitações do Mirroring Oracle no Microsoft Fabric

Este artigo descreve os limites atuais ao espelhar bases de dados Oracle em Microsoft Fabric. Estes limites podem mudar à medida que continuamos a melhorar o serviço.

Observação

Atualmente, oferecemos suporte ao Mirroring for Oracle for On-Premises Data Gateway (OPDG). Utilize a versão 3000.282.5 ou superior.

Limites de escala

Aqui está o que você pode esperar para a escala do banco de dados:

  • Atualmente, a base de dados espelhada suporta até 1000 tabelas

Ambientes suportados

Suportamos estes ambientes Oracle Server:

  • Oracle versões 10 e superiores com LogMiner ativado
  • Oracle on-premises (VM, Azure VM)
  • Infraestrutura Oracle Cloud (OCI)
  • Oracle Database@Azure
  • Oracle Exadata

O espelhamento para Oracle só suporta bases de dados em modo de escrita. O LogMiner não funciona em bases de dados em modo leitura.

Observação

  • O LogMiner precisa estar habilitado em seu servidor Oracle. Essa ferramenta ajuda a controlar as alterações em seu banco de dados Oracle para espelhamento em tempo real.

Pré-requisitos de espelhamento

Aqui está o que você precisa para a configuração do seu banco de dados:

Tipos de dados e suporte a esquemas

Estes tipos de dados Oracle são suportados:

  • VARCHAR2
  • NVARCHAR2
  • NÚMERO
  • FLOAT
  • DATE
  • BINARY_FLOAT
  • BINARY_DOUBLE
  • RAW
  • ROWID
  • CHAR
  • NCHAR
  • MARCA TEMPORAL COM FUSO HORÁRIO LOCAL
  • INTERVALO DIA A SEGUNDO
  • INTERVALO ANO A MÊS

Para alterações de esquema (DDL), atualmente suportamos:

  • Modificações de coluna (suporte parcial):
    • Adicionar colunas
    • Excluir colunas
    • Renomear colunas

Observação

Não há suporte para atualizações de tipo de dados de coluna

Também suportamos o espelhamento de tabelas que são particionadas – se as suas tabelas de origem estiverem particionadas, então podemos espelhá-las também.

Tabelas que não têm Chave Primária (PK) são suportadas – se tiver um índice único nas suas tabelas, podemos suportar o espelhamento dessas tabelas. Se as suas tabelas não tiverem uma Chave Primária (PK) ou um índice único, não suportaremos o espelhamento dessas tabelas.

Não podemos suportar nomes de tabelas com comprimento maior ou igual a 30.

Grandes tabelas e resemeaduras

A integração ou repopulação de várias tabelas grandes ao mesmo tempo causa picos acentuados de memória. Se escalonares grandes tabelas e evitares reinicios em massa que desencadeiam múltiplas reseed em simultâneo, prova funcionar bem.

Permissões necessárias

Seu usuário de sincronização precisa destas permissões:

GRANT CREATE SESSION TO user;
GRANT SELECT_CATALOG_ROLE TO user;
GRANT CONNECT, RESOURCE TO user;
GRANT EXECUTE_CATALOG_ROLE TO user;
GRANT FLASHBACK ANY TABLE TO user;
GRANT SELECT ANY DICTIONARY TO user;
GRANT SELECT ANY TABLE TO user;
GRANT LOGMINING TO user;

Requisitos de configuração

Configurações de log de arquivamento

Seu banco de dados precisa destas configurações de log de arquivamento:

  • Modo ARCHIVELOG ativado
  • Manter o modo de log de arquivamento ativado durante o espelhamento
  • Refazer arquivamento de arquivos de log habilitado pelo administrador do banco de dados

Uma purga agressiva dos registos de arquivo Oracle durante o carregamento inicial ou uma atividade intensa de CDC pode forçar tentativas repetidas e aumentar a pressão de memória. A orientação para a estabilidade é evitar purgas durante a carga inicial e CDC intenso. Se as janelas de inatividade não estiverem claras, por favor mantenha pelo menos as últimas ~24 horas de registos.

Se receber este erro - "Dicionário Completo do Logminer não encontrado ou ORA-01291: ficheiro de log em falta\nORA-06512: em \"SYS.DBMS_LOGMNR\".", siga as orientações acima sobre a retenção de ficheiros de log.

Configuração de registro em log

Se o usuário Oracle não tiver permissões diretas ALTER DATABASE e ALTER TABLE, peça ao DBA para executar estes comandos:

  1. Ative o registo suplementar para a base de dados:

    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE) COLUMNS;
    
  2. Habilite o log suplementar para cada tabela que você deseja espelhar:

    ALTER TABLE {schemaName}.{tableName} ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
    

Precisão ou Escala Decimal Inválida para colunas Oracle NUMBER

Problema

Se uma coluna do Oracle for definida como NUMBER sem precisão nem escala (ou seja, sem (p,s) especificados), o espelhamento no Fabric poderá falhar com o seguinte erro: Precisão ou escala decimal inválida. Precisão: 38 Escala: 127

Motivo

Este problema pode ocorrer devido a um cliente Oracle/controlador ODP desatualizado usado pelo On-premises Data Gateway, que não interpreta corretamente os tipos Oracle NUMBER sem precisão e escala explícitas.

Resolução

Atualize as ferramentas cliente Oracle usadas pelo gateway e reinicie o processo de espelhamento seguindo estes passos:

  1. Pare o espelhamento da base de dados afetada
    • Se a interrupção do espelhamento afetar os consumidores subsequentes, em vez disso, pare o On-premises Data Gateway.
  2. Atualizar as ferramentas do cliente Oracle
  3. Reiniciar os serviços de gateway
    • Open services.msc
    • Reiniciar o serviço On-Premises Data Gateway
  4. Reiniciar o espelhamento
    • Regressar ao portal Fabric
    • Reiniciar o espelho

Configurar o gateway

Atualmente, só suportamos a conexão com o Oracle usando um OPDG (On-Premises Data Gateway). Você precisa instalar e configurar o gateway em uma máquina que possa se conectar ao seu servidor Oracle.

Para obter os requisitos da máquina e as instruções de configuração para instalar e registrar seu gateway, consulte o guia de instalação do Gateway de Dados Local.

Observação

  • Para garantir que tem as melhorias e atualizações de desempenho mais recentes, certifique-se de que atualizou para a versão mais recente do On-Premises Data Gateway. Para rever as atualizações recentes, consulte as atualizações mensais suportadas atualmente.

Em configurações de maior concorrência, o uso de memória vai-se acumulando ao longo do tempo, à medida que cada pipeline de espelhamento executa o seu próprio processo. Uma melhor estabilidade pode ser obtida através de -

  • Utilizar menos VMs gateway, mas mais potentes e com suficiente margem de reserva
  • Dedicar as VMs exclusivamente ao Data Gateway local - sem outras cargas de trabalho Fabric ou batch

Se aparecer este erro - "Não é possível ligar-se ao servidor remoto...", ou uma tentativa de ligação falhou porque a parte ligada não respondeu corretamente após um período de tempo, ou a ligação estabelecida falhou porque o host ligado falhou em resposta. O Oracle Mirror Publisher funciona no On Premises Data Gateway e precisa de ter os requisitos autoritativos para a conectividade de saída do gateway. Consulte Ajustar as definições de comunicação para o gateway de dados local e siga as orientações aí listadas.

Questões fora do Espelhamento para a Oracle

Se aparecer algum dos seguintes erros -

  • ORA-00604: ocorreu erro no SQL recursivo nível 1\nORA-01289: não é possível adicionar ficheiro de registo duplicado +DBSV6162_ARCHIVE_OBIA/CPOBIACH/ARCHIVELOG/2026_03_03/thread_1_seq_138823.582.1226964749\nORA-06512: em \"SYS.DBMS_LOGMNR\", linha 82\nORA-06512: na linha 1\nORA-06512: na linha 1\nORA-06512: em \"SYS.DBMS_LOGMNR\", linha 72\nORA-06512: na linha 1
  • ORA-65040: operação não permitida dentro de uma base de dados conectável.

Tens de contactar a equipa de suporte da Oracle ou abrir um ticket de suporte com a Oracle - não com a Microsoft. Informe a equipa de suporte da Oracle que a base de dados Oracle usada para espelhamento precisa de atualizações para a última atualização.