Udostępnij za pośrednictwem


Transakcyjne replikacja przepływu pracy dla Oracle wydawcy

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 subskrybent spójne grup transakcyjnych.Tabele z odwołania do klucz obcy między nimi zachowania ich relacji danych, zmiany są zaprojektowane (kluczy obcych nie są kopiowane do subskrybent).

Uwaga

Duże obiekty (LOBs) są śledzone w inny sposób z innych typów danych.Aby uzyskać więcej informacji zobacz sekcję "Uwagi dotyczące za duże obiekty" w temacie Zagadnienia i ograniczenia dla Oracle wydawcy projektów.

Następujące przepływu pracy powoduje wyróżnienie klucz etapy śledzenia i dostarczenia zmian od Wydawca bazy danych Oracle.

Śledzenie zmian

  1. Użytkownik lub aplikacja wykonuje wstawia aktualizacji, lub usuwa na jednej lub większej liczby tabel bazy danych Oracle opublikowane dla replikacja.

  2. Wiersz-poziom zainstalowane przez replikację dla każdego wyzwalacza opublikowane uruchamiany tabela bazy danych Oracle dla każdego wiersza modyfikacji, przechowywanie informacji na temat zmian w tabela Dziennik artykuł związanego z tabela.

  3. Po uruchomieniu wyzwalacza poziomie wiersza, numer jest pobierany z HREPL_seq sekwencji i przypisany do wiersza tabela Dziennik opisujący operację DML.Dzięki temu replikacja zastosuje zmianę poleceń we właściwej kolejności przez subskrybent.

  4. W przypadku podstawowego aktualizacji klucza, wyzwalacz poziom instrukcja zainstalowany w tabela również uruchomieniu, pozwalając wielu aktualizacji klucz podstawowy w tym samym sprawozdaniu związanych ze sobą.Identyfikator instrukcja jest pobierana z HREPL_Stmt sekwencji.Służy ona do właściwego obsługi podstawowego klucz aktualizacji przez subskrybent.

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

Dostarczanie zmian do dystrybutor

  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 wierszy tabela pozycji dziennika w HREPL_Poll tabela.Identyfikator pobierany z serii HREPL_Pollid jest używany do oznaczania każdego zapisu zmian jako element członkowski członkowski transakcyjnie spójne zestaw, jak również sposób, aby zapewnić kolejność przetwarzania dla zestaw względem innych zestawów.

  2. Podczas przetwarzania zmian w opublikowanej tabeli, wiersze są pobierane z dziennika tabela; bieżący identyfikator sondowania z HREPL_Pollid jest używany do identyfikowania te wiersze do przetworzenia.

  3. Partia zmian z tabela Dziennik jest stara się jako pojedyncza transakcja baza danych dystrybucji i przechowywane w MSrepl_commands and MSrepl_transactions tabel.

Zmiany są następnie odczytać baza danych dystrybucji i dostarczane do subskrybentów przez agenta dystrybucji, są one ze standardowych replikacja transakcyjnej.