Delen via


Het Oracle CDC-exemplaar

Belangrijk

Change Data Capture voor Oracle door Attunity is nu verouderd verklaard. Raadpleeg de aankondigingvoor meer informatie.

Het Oracle CDC-instance is een proces dat is aangemaakt door de Oracle CDC-dienst om veranderingen te verwerken die zijn vastgelegd vanuit een enkele Oracle-brondatabase. Het Oracle CDC-exemplaar haalt de configuratie op uit de cdc.xdbcdc_config tabel en onderhoudt de status ervan in de cdc.xdbcdc_state tabel. Deze tabellen maken deel uit van de CDC-database, die het Oracle CDC-exemplaar definieert. Zie De CDC-databases voor meer informatie over de xdbcdc-database en -tabellen.

Hieronder worden de taken beschreven die worden uitgevoerd door het Oracle CDC-exemplaar:

  • Afhandeling van opstartverificatie van de service: wanneer het CDC-exemplaar is gestart, wordt de configuratie van het CDC-exemplaar uit de xdbcdc_config tabel geladen en wordt een reeks statusverificaties uitgevoerd die ervoor zorgen dat de status van het CDC-exemplaar consistent is en dat het kan beginnen met het verwerken van wijzigingen.

  • Voorbereiden voor het vastleggen van wijzigingen: wanneer de verificatie is geslaagd, scant het Oracle CDC-exemplaar alle vastgelegde exemplaren die momenteel zijn gedefinieerd en bereidt de Oracle LogMiner-query's en andere ondersteuningsstructuren voor het vastleggen van wijzigingen voor. Daarnaast laadt het Oracle-exemplaar de interne opnamestatus opnieuw in zoals deze was opgeslagen de laatste keer dat het Oracle CDC-exemplaar werd uitgevoerd.

  • Wijzigingen vastleggen vanuit Oracle: de Oracle CDC-exemplaar verzamelt wijzigingen van Oracle via de Oracle LogMiner-faciliteit, rangschikt ze op basis van de afwikkeling van transacties en vervolgens wordt de tijd in een transactie aangepast en naar de SQL Server-wijzigingstabellen in de CDC-database geschreven.

  • Beheer van het afsluiten van de service: De levenscyclus van het Oracle CDC-exemplaar wordt beheerd door de Oracle CDC-service. Wanneer het Oracle CDC-exemplaar wordt aangevraagd om af te sluiten, worden de volgende taken uitgevoerd:

    • Stopt met lezen vanuit het Oracle-transactielogboek.

    • Stopt met het schrijven van voltooide Oracle-transacties naar de CDC-database.

    • Wacht tot 30 seconden (indien nodig) totdat de huidige transactie is geschreven naar de CDC-database. Als er meer dan 30 seconden zijn verstreken, wordt het schrijven geannuleerd en wordt de transactie teruggedraaid (opnieuw te proberen wanneer het CDC-exemplaar opnieuw wordt opgestart).

    • In een afzonderlijke thread schrijft u zoveel mogelijk records in de geheugencache naar de gefaseerde transactiestabel gedurende maximaal 30 seconden (van de oudste transactie naar de nieuwste transactie), werkt u vervolgens de xdbcdc_state tabel bij en voert u alle wijzigingen door.

  • Configuratiewijzigingen verwerken: het Oracle CDC-exemplaar krijgt een melding over configuratiewijzigingen van de CDC-service of door een nieuwe versie in de cdc.xdbcdc_config tabel te detecteren. Voor de meeste wijzigingen is het opnieuw opstarten van het Oracle CDC-exemplaar niet vereist (bijvoorbeeld het toevoegen of verwijderen van capture-exemplaren). Sommige wijzigingen, zoals het wijzigen van de Oracle-verbindingsreeks of toegangsreferenties, vereisen echter het opnieuw opstarten van het CDC-exemplaar.

  • Herstel verwerken: wanneer een Oracle CDC-exemplaar de interne status start, wordt hersteld vanuit de xdbcdc_state en de xdbcdc_staged_transactions tabellen. Zodra de status is hersteld, gaat het CDC-exemplaar weer verder zoals gewoonlijk.

Zie ook

foutafhandeling