ORA-600 / CHARON / 0x600

Charon. Przeprawa dla danych.

Logiczna replikacja zmian z Oracle. Internale po naszej stronie. Dane tam, gdzie ich potrzebujesz.

ORA-600 ENGINEERING / LOGICAL REPLICATION

To nie magia.
Znamy drogę przez redo.

Charon przenosi logiczne zmiany z Oracle do Oracle, PostgreSQL i IBM Db2. Harvester przechwytuje. Weaver aplikuje. A pomiędzy nimi jest coś ważniejszego niż efektowna strzałka: granica transakcji.

Uruchom przeprawę ↓
Charon — Logical Replication Appliance
CAPTURE → COMMIT → APPLY
ORACLE INTERNALS. REAL ENGINEERING.
❯ ./charon --explainSCHEMAT, NIE LIVE

Prześledź jedną transakcję.

Kliknij etap albo uruchom animację. Tempo jest umowne — to mechanizm, nie benchmark.

CAPTURE PROVIDER
CAPTURE / ORACLE LOGMINER

Dekoduje Oracle. My przejmujemy wynik.

Fizyczne redo i change vectory interpretuje silnik Oracle LogMiner. Charon odbiera SQL_REDO, składa fragmenty i przekazuje logiczne zmiany do wspólnej ścieżki.

  1. REDODBMS_LOGMNR

    Oracle uruchamia mining redo.

  2. ORACLE MININGV$LOGMNR_CONTENTS

    Oracle zwraca SQL_REDO i metadane.

  3. CHARON / COLLECTORSQL_REDO → XID

    Charon składa fragmenty i wiąże transakcje.

  4. COMMON PIPELINEminedRecord

    Dalej: mapowanie, .dml i bramka COMMIT.

Powyżej: wnętrze Harvestera. Poniżej: cały przepływ. Zmienia się sposób odczytu i dekodowania, nie zasada „apply dopiero po COMMIT”.

SOURCE / ORACLE

Tu zaczyna się zmiana.

Oracle zapisuje zmiany w redo. Charon przechwytuje je przez wybrany mechanizm: Oracle LogMiner albo Native Redo.

PROVIDEROracle LogMiner
TX0x0600 / DEMO
SOURCEREDO
TARGETPostgreSQL
APPLYWAIT

Gotowe. Wybierz etap lub rozpocznij.

Native Redo: obecnie tryb continuous, jedna redo thread i jeden PDB na replikację. Db2 wymaga odpowiedniego wariantu kompilacji.

// USE THE CURRENT

Jeden silnik.
Kilka kierunków.

0x01 / SCENARIO

Wybrane dane. W innym miejscu.

Replikacja wskazanych tabel do bazy Oracle, PostgreSQL albo Db2. Bez przenoszenia całego świata, jeśli potrzebujesz jego części.

0x02 / SCENARIO

Raportowanie na drugim brzegu.

Przechwytywanie zmian jako element zasilania oddzielnej bazy raportowej lub integracyjnej. Architektura pod zastosowanie, nie odwrotnie.

0x03 / SCENARIO

Najpierw stan. Potem zmiany.

Ładowanie początkowe i późniejsze przechwytywanie zmian mogą wspierać przygotowanie danych do migracji. Plan przełączenia i testy ustalamy osobno.

[ ENGINEERING > HYPE ]

Nie obiecujemy cudów. Ustalamy warunki.

CLI i REST do sterowania. Mapowanie tabel. Oddzielne capture i apply. Zanim wdrożymy: sprawdzamy wersje, typy danych, topologię i zachowanie po awarii. Nie sprzedajemy hasła „exactly-once” — ścieżka odtwarzania może ponowić transakcję po awarii. Dlatego testujemy również wznowienie i obsługę duplikatów.

Pogadajmy o Twojej przeprawie ↗

NEXT COMMAND / LET’S TALK

Masz problem?
Dobrze trafiłeś.

↗