Udostępnij za pośrednictwem


Transakcyjne replikacji przepływu pracy dla wydawców Oracle

Transactional replication for Oracle Publishers is built on the Microsoft SQL Server transactional replication publishing architecture, but the process of tracking changes at the Publisher and delivering them to the Distributor is significantly different from standard transactional replication.Pomimo różnic transakcje, które występują w bazie danych Oracle są stosowane przez subskrybenta zgodne grupy transakcyjnych.Tabele z odwołaniami do klucz obcy między nimi utrzymania ich relacji dane dostarczane są zmiany (kluczy obcych nie są kopiowane do subskrybenta).

Ostrzeżenie

Duże obiekty (obiektów LOB) są śledzone odmiennie od innych typów danych.Aby uzyskać więcej informacji zobacz sekcję "Uwagi dla dużych obiektów" w temacie Projektowanie uwagi i ograniczenia dla wydawców Oracle.

Następujące przepływu pracy wyróżnia klucz etapy śledzenia i dostarczania zmiany z Oracle Wydawca.

Śledzenie zmian

  1. Użytkownik lub aplikacja wykonuje aktualizacje, wstawia lub usuwa tabel Oracle opublikowane dla replikacja.

  2. Wyzwalacz poziom wierszy zainstalowanego przez replikacja na każdego opublikowanego Oracle tabeli uruchamiany dla każdego wiersza zmodyfikowany, przechowywanie informacji o zmianie Tabela Dziennik artykuł związanego.

  3. Po wyzwalacza poziom wierszy, liczba jest pobierana z HREPL_seq sekwencji i przypisany do wiersza tabela Dziennik, który opisuje operację DML.Dzięki temu stosuje się polecenia Zmień w prawidłowej kolejności subskrybent replikacja.

  4. Jeśli klucz podstawowy wystąpił aktualizacji wyzwalacza poziom instrukcja zainstalowany w tabela również fires, pozwalając wielu klucz podstawowy aktualizacje występujących w tej samej instrukcja związanych ze sobą.Identyfikator instrukcja jest pobierana z HREPL_Stmt sekwencji.Używany do prawidłowe obchodzenie się z klucz podstawowy aktualizacji przez subskrybenta.

  5. Dla każdego wiersza wstawiony lub usunięty z tabela Oracle, która jest publikowana jeden wiersz jest wstawiany do tabela Dziennik artykuł związanego.Dla każdego wiersza zaktualizowane w tabela programu Oracle, jeden wiersz (obraz po) lub dwa wiersze (przed obrazu i po obrazie) są wstawiane do tabela Dziennik w zależności od tego, czy replikacja wymaga informacji na temat stanu poprzedniego wiersza.

Dostarczanie zmiany do dystrybutora

  1. Agent odczytywania dziennika Identyfikuje zestaw transakcyjnie spójne zmiany z dzienników artykuł, które nie są już skojarzone z interwału sondowanie i tymczasowo przechowuje identyfikatory wpisów dziennika tabela w HREPL_Poll tabela.Identyfikator pobierany z serii HREPL_Pollid jest używany do oznaczania każdego zapisu zmian jako element członkowski transakcyjnie spójnego zestaw, jak również zapewnienie kolejność przetwarzania zestaw względem innych zestawów.

  2. Podczas przetwarzania zmian tabela opublikowane, wiersze są pobierane z tabela Dziennik; Bieżący identyfikator sondowania z HREPL_Pollid jest używany do identyfikowania tych wierszy do przetwarzania.

  3. Partia zmian z tabela Dziennik jest zatwierdzona jako jedną transakcję baza danych dystrybucji i przechowywane w MSrepl_commands i MSrepl_transactions tabele.

Zmiany są odczytywane z baz dystrybucji i dostarczana subskrybentom przez agenta dystrybucji są one ze standardem replikacja transakcyjna.