Spegling av Oracle-begränsningar i Microsoft Fabric

Den här artikeln beskriver de aktuella gränserna vid spegling av Oracle-databaser i Microsoft Fabric. Dessa gränser kan ändras när vi fortsätter att förbättra tjänsten.

Anmärkning

Vi stöder för närvarande spegling för Oracle for On-Premises Data Gateway (OPDG). Använd version 3000.282.5 eller senare.

Skalningsgränser

Här är vad du kan förvänta dig för databasskala:

  • För närvarande har speglad databas stöd för upp till 1 000 tabeller

Miljöer som stöds

Vi stöder dessa Oracle Server-miljöer:

  • Oracle-versioner 10 och senare med LogMiner aktiverat
  • Oracle on-premises (VM, Azure VM)
  • Oracle Cloud Infrastructure (OCI)
  • Oracle Database@Azure
  • Oracle Exadata

Spegling för Oracle kan bara stödja databaser i skrivläge. LogMiner fungerar inte i läslägesdatabaser.

Anmärkning

  • LogMiner måste vara aktiverat på Oracle-servern. Det här verktyget hjälper dig att spåra ändringar i Oracle-databasen för realtidsspegling.

Speglingskrav

Det här behöver du för databaskonfigurationen:

Datatyper och schemastöd

Dessa Oracle-datatyper stöds:

  • VARCHAR2
  • NVARCHAR2
  • NUMMER
  • FLOAT
  • DATE
  • BINÄR_FLOAT
  • BINARY_DOUBLE
  • RAW
  • ROWID
  • CHAR
  • NCHAR
  • TIDSSTÄMPEL MED LOKAL TIDSZON
  • INTERVALL FRÅN DAG TILL SEKUND
  • INTERVALL FRÅN ÅR TILL MÅNAD

För schemaändringar (DDL) stöder vi för närvarande:

  • Kolumnändringar (partiellt stöd):
    • Lägg till kolumner
    • Ta bort kolumner
    • Byt namn på kolumner

Anmärkning

Uppdateringar av kolumndatatyp stöds inte

Vi har också stöd för speglingstabeller som har en partitionering – om källtabellerna är partitionerade kan vi spegla tabellerna.

Tabeller som inte har en primärnyckel (PK) stöds – om du har ett unikt index i dina tabeller kan vi stödja spegling av dessa tabeller. Om dina tabeller inte har en primärnyckel (PK) eller ett unikt index stöder vi inte spegling av tabellerna.

Vi kan inte stödja tabellnamn som har en längd som är större än eller lika med 30.

Stora tabeller och återutsådder

Onboarding eller återinitiering av flera stora tabeller samtidigt orsakar kraftiga minnesspikar. Om du förskjuter stora tabeller och undviker massomstarter som utlöser flera återinitieringar samtidigt, visar det sig fungera bra.

Nödvändiga behörigheter

Synkroniseringsanvändaren behöver följande behörigheter:

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;

Konfigurationskrav

Arkivlogginställningar

Databasen behöver följande inställningar för arkivloggen:

  • ARCHIVELOG-läge aktiverat
  • Håll arkivloggläget aktiverat under spegling
  • Gör om loggfilsarkivering aktiverad av databasadministratören

Aggressiv rensning av Oracle-arkivloggar under den inledande belastningen eller den tunga CDC-aktiviteten kan tvinga fram återförsök och öka minnestrycket. Vägledningen för stablilitet är att undvika rensning under initial belastning och tung CDC. Om fönstret för stillestånd inte är tydliga, behåll minst de senaste ~24 timmarnas loggar.

Om du får det här felet – "Complete Logminer Dictionary not found or ORA-01291: missing logfile\nORA-06512: at \"SYS. DBMS_LOGMNR\.," följer du ovanstående vägledning om kvarhållning av loggfiler.

Loggningskonfiguration

Om Oracle-användaren inte har direkt alter database- och ALTER TABLE-behörigheter ber du din DBA att köra följande kommandon:

  1. Aktivera kompletterande loggning för databasen:

    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE) COLUMNS;
    
  2. Aktivera kompletterande loggning för varje tabell som du vill spegla:

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

Ogiltig decimalprecision eller skala för Oracle NUMBER-kolumner

Problematik

Om en Oracle-kolumn definieras som NUMBER utan precision och skala (det vill säga att inget (p,s) anges), kan spegling till Fabric misslyckas med följande fel: Ogiltig decimalprecision eller skala. Precision: 38 Skala: 127

Orsak

Det här problemet kan inträffa på grund av en inaktuell Oracle-klient/ODP-drivrutin som används av den lokala datagatewayen, som inte korrekt tolkar Oracle NUMBER-typer utan explicit precision och skalning.

Lösning

Uppgradera Oracle-klientverktygen som används av gatewayen och starta om speglingsprocessen genom att följa dessa steg:

  1. Stoppa spegling för den berörda databasen
    • Om stopp av spegling påverkar nedströmskonsumenter kan du också stoppa den lokala datagatewayen.
  2. Uppdatera Oracle-klientverktyg
  3. Starta om gatewaytjänster
    • Öppna services.msc
    • Starta om den lokala datagatewaytjänsten
  4. Starta om skärmspegling
    • Gå tillbaka till Fabric-portalen
    • Starta om speglingen

Konfigurera din gateway

För närvarande stöder vi endast anslutning till Oracle med hjälp av en lokal datagateway (OPDG). Du måste installera och konfigurera gatewayen på en dator som kan ansluta till Oracle-servern.

Information om datorkrav och installationsinstruktioner för att installera och registrera din gateway finns i installationsguiden för lokal Data Gateway.

Anmärkning

I konfigurationer med högre samtidighet ackumuleras minnesanvändningen över tid när varje speglingspipeline kör sin egen process. Bättre stabilitet kan erhållas genom -

  • Använda färre, kraftfullare virtuella gatewaydatorer med tillräckligt med utrymme och
  • Dedikera de virtuella datorerna exklusivt till den lokala datagatewayen – inga andra Fabric- eller batcharbetsbelastningar

Om du får det här felet – "Det går inte att ansluta till fjärrservern..." misslyckades antingen ett anslutningsförsök eftersom den anslutna parten inte svarade korrekt efter en viss tidsperiod, eller så misslyckades den etablerade anslutningen eftersom den anslutna värddatorn inte svarade. Oracle Mirror-Publisher körs på lokal datagateway och måste ha auktoritativa krav för gatewayens utgående anslutning. Se Justera kommunikationsinställningar för den lokala datagatewayen och följ anvisningarna som anges där.

Problem utanför spegling för Oracle

Om du får något av följande fel -

  • ORA-00604: fel inträffade på rekursiv SQL-nivå 1\nORA-01289: kan inte lägga till dubblettloggfil +DBSV6162_ARCHIVE_OBIA/CPOBIACH/ARCHIVELOG/2026_03_03/thread_1_seq_138823.582.1226964749\nORA-06512: på "SYS.DBMS_LOGMNR," rad 82\nORA-06512: på rad 1\nORA-06512: på rad 1\nORA-06512: på "SYS.DBMS_LOGMNR," rad 72\nORA-06512: på rad 1
  • ORA-65040: åtgärden tillåts inte inifrån en pluggbar databas.

Du måste kontakta Oracles supportteam eller öppna ett supportärende med Oracle – inte Microsoft. Låt Oracle-supportteamet veta att Oracle-databasen som används för spegling behöver uppdateringar av den senaste korrigeringen.