Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között

Bankunk 1999 óta a back office kiszolgálására a Progress OpenEdge platformon a BISKVIT integrált bankrendszert használja, amelyet világszerte széles körben használnak, így a pénzügyi szektorban is. Ennek a DBMS-nek a teljesítménye lehetővé teszi akár egymillió vagy több rekord beolvasását másodpercenként egyetlen adatbázisban (DB). Progress OpenEdge-ünk mintegy 1,5 millió egyéni betétet és mintegy 22,2 millió aktív termékre vonatkozó szerződést (autóhitelek és jelzáloghitelek) szolgál ki, valamint felelős minden elszámolásért a szabályozóval (Központi Bank) és a SWIFT-tel.

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között

A Progress OpenEdge használatával szembesültünk azzal az igénysel, hogy működjön az Oracle DBMS-sel. Kezdetben ez a csomag jelentette infrastruktúránk szűk keresztmetszetét – egészen addig, amíg nem telepítettük és konfiguráltuk a Pro2 CDC-t – egy Progress terméket, amely lehetővé teszi, hogy adatokat küldjön a Progress DBMS-ből az Oracle DBMS-nek közvetlenül, online. Ebben a bejegyzésben részletesen, minden buktatóval együtt elmondjuk, hogyan lehet hatékonyan barátkozni az OpenEdge és az Oracle között.

Hogyan történt: adatok feltöltése a QCD-re fájlmegosztással

Először is néhány tény az infrastruktúránkról. Az adatbázis aktív felhasználóinak száma megközelítőleg 15 ezer. Az összes produktív adatbázis mennyisége, beleértve a replikát és a készenléti állapotot is, 600 TB, a legnagyobb adatbázis 16,5 TB. Ugyanakkor az adatbázisok folyamatosan bővülnek: csak az elmúlt év során mintegy 120 TB produktív adat gyűlt össze. A rendszert 150 elülső szerver hajtja az x86 platformon. Az adatbázisokat 21 IBM platformszerver tárolja.

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között
A Sonic ESB buszon keresztül a front-end rendszerek, a különféle alapvető banki rendszerek és banki szolgáltatások integrálva vannak az OpenEdge Progress-szel (BISCUIT IBS). Az adatok QCD-re való feltöltése fájlcserén keresztül történik. Egy bizonyos időpontig ennek a megoldásnak egyszerre két nagy problémája volt: az információk vállalati adattárházba (CDW) való feltöltésének alacsony teljesítménye és hosszú ideig az adategyeztetés (egyeztetés) más rendszerekkel.
Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között
Ezért elkezdtünk olyan eszközt keresni, amely felgyorsíthatja ezeket a folyamatokat. Mindkét probléma megoldása az új Progress OpenEdge termék – Pro2 CDC (Change Data Capture) volt. Szóval, kezdjük.

Telepítse a Progress OpenEdge-t és a Pro2Oracle-t

A Pro2 Oracle futtatásához a rendszergazda Windows számítógépén elegendő a Progress OpenEdge Developer Kit Classroom Edition telepítése, amely letöltése ingyen. Alapértelmezett OpenEdge telepítési könyvtárak:

DLC: C:ProgressOpenEdge
WRK: C:OpenEdgeWRK

Az ETL-folyamatokhoz a Progress OpenEdge 11.7-es vagy újabb verziója szükséges – nevezetesen az OE DataServer for Oracle és a 4GL Development System. Ezeket a licenceket a Pro2 tartalmazza. A DataServer for Oracle távoli Oracle adatbázissal való teljes körű működéséhez a Full Oracle Client telepítve van.

Az Oracle szerveren telepítenie kell az Oracle Database 12+ verziót, létre kell hoznia egy üres adatbázist, és hozzá kell adnia egy felhasználót (nevezzük cdc).

A Pro2Oracle telepítéséhez töltse le a legújabb disztribúciót a letöltési központból Progress szoftver. Csomagolja ki az archívumot egy könyvtárba C:Pro2 (A Pro2 Unix rendszeren történő konfigurálásához ugyanaz a disztribúció és ugyanazok a konfigurációs elvek érvényesek).

CD-replikációs adatbázis létrehozása

Replikációs adatbázis cdc (repl) A Pro2 konfigurációs információk tárolására szolgál, beleértve a replikációs térképet, a replikált adatbázisok nevét és tábláit. Tartalmaz egy replikációs sort is, amely megjegyzésekből áll arról, hogy a forrásadatbázisban egy táblasor megváltozott. A replikációs sorból származó adatokat az ETL-folyamatok arra használják, hogy azonosítsák azokat a sorokat, amelyeket a forrásadatbázisból az Oracle-be kell másolni.

Különálló cdc adatbázist készítünk.

Az adatbázis létrehozásának eljárása

  1. Az adatbázis-kiszolgálón létrehozunk egy könyvtárat a cdc adatbázishoz - például a szerveren /adatbázis/cdc/.
  2. Hozzon létre egy dummyt a cdc adatbázishoz: Procopy $DLC/üres cdc
  3. Nagy fájlok támogatásának engedélyezése: proutil cdc -C EnableLargeFiles
  4. Készítünk egy szkriptet a cdc adatbázis elindításához. A start paramétereknek hasonlóaknak kell lenniük a replikált adatbázis kezdőparamétereihez.
  5. Elindítjuk a cdc adatbázist.
  6. Csatlakozzon a cdc adatbázishoz, és töltse be a Pro2 sémát a fájlból cdc.df, amely a Pro2-höz tartozik.
  7. A következő felhasználókat hozzuk létre a cdc adatbázisban:

pro2adm – a Pro2 adminisztrációs panelről történő csatlakozáshoz;
pro2etl – ETL folyamatok összekapcsolására (ReplBatch);
pro2cdc – CDC folyamatok összekapcsolására (CDCBatch);

Az OpenEdge Change Data Capture aktiválása

Most kapcsoljuk be magát a CDC-mechanizmust, melynek segítségével az adatok egy további technológiai területre replikálódnak. Minden egyes Progress OpenEdge forrásadatbázishoz külön tárolóterületeket kell hozzáadnia, amelyekbe a forrásadatok megkettőződnek, és magát a mechanizmust kell aktiválnia a paranccsal. proutil.

Példa eljárás a bisquit adatbázishoz

  1. Másolás a katalógusból C:Pro2db fájl cdcadd.st a bisquit forrásadatbázis könyvtárába.
  2. -ben írjuk le cdcadd.st fix méretű kiterjedések a régiókra "ReplCDCArea" и "ReplCDCArea_IDX". Új tárhelyeket adhat hozzá online: prostrct addonline bisquit cdcadd.st
  3. Az OpenEdge CDC aktiválása:
    proutil bisquit -C enablecdc terület "ReplCDCArea" indexterület "ReplCDCArea_IDX"
  4. A következő felhasználókat kell létrehozni a forrásadatbázisban a futó folyamatok azonosításához:
    a. pro2adm – a Pro2 adminisztrációs panelről történő csatlakozáshoz.
    b. pro2etl – ETL folyamatok összekapcsolására (ReplBatch).
    c. pro2cdc – CDC folyamatok összekapcsolására (CDCBatch).

Sématartó létrehozása a DataServer for Oracle számára

Ezután létre kell hoznunk egy Schema Holder adatbázist a szerveren, ahol a Progress DBMS adatai replikálódnak az Oracle DBMS-be. A DataServer Schema Holder egy üres Progress OpenEdge adatbázis, amely nem tartalmaz felhasználókat és alkalmazásadatokat, és amely a forrástáblák és a külső Oracle táblák közötti megfelelési térképet tartalmazza.

A Progress OpenEdge DataServer for Oracle for Pro2 Schema Holder adatbázisának az ETL folyamatszerveren kell lennie, és minden ághoz külön jön létre.

Hogyan készítsünk sématartót

  1. Csomagolja ki a Pro2 disztribúciót egy könyvtárba /pro2
  2. Hozzon létre és lépjen a könyvtárba /pro2/dbsh
  3. Hozzon létre egy Schema Holder adatbázist a paranccsal másolja a $DLC-t/üres bisquitsh-t
  4. Az átalakítás végrehajtása bisquitsh a szükséges kódolásba – például UTF-8-ban, ha az Oracle adatbázisok UTF-8 kódolással rendelkeznek: proutil bisquitsh -C convchar konvertálja az UTF-8-at
  5. Üres adatbázis létrehozása után bisquitsh csatlakozzon hozzá egyfelhasználós módban: pro bisquitsh
  6. Menjünk az Adatszótárhoz: Eszközök -> Adatszótár -> DataServer -> ORACLE Utilities -> DataServer-séma létrehozása
  7. Indítsa el a Schema Holdert
  8. Az Oracle DataServer bróker beállítása:
    a. Indítsa el az AdminServert.
    proadsv -start
    b. Az Oracle DataServer bróker elindítása
    oraman -name orabroker1 -start

Az adminisztrációs panel és a replikációs séma beállítása

A Pro2 adminisztrációs panelen a Pro2 paraméterek konfigurálhatók, beleértve a replikációs séma beállítását és az ETL folyamatok (Processor Library), az elsődleges szinkronizáló programok (Bulk-Copy Processor), a replikációs triggerek és az OpenEdge CDC házirendek generálását. Léteznek elsődleges eszközök az ETL és CDC folyamatok figyelésére és kezelésére is. Először is beállítjuk a paraméterfájlokat.

A paraméterfájlok konfigurálása

  1. Menjen a katalógusba C:Pro2bpreplScripts
  2. Nyissa meg a fájlt szerkesztésre replProc.pf
  3. Csatlakozási paraméterek hozzáadása a cdc replikációs adatbázishoz:
    # Replikációs adatbázis
    -db cdc -ld repl -H <fő adatbázis hosztnév> -S <adatbázis-bróker port cdc>
    -U pro2admin -P <jelszó>
  4. Hozzáadás replProc.pf kapcsolati paramétereket a forrásadatbázisokhoz és a Schema Holderhez paraméterfájlok formájában. A paraméterfájl nevének meg kell egyeznie a csatlakoztatott forrásadatbázis nevével.
    # Csatlakozzon az összes replikált forráshoz BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Hozzáadás replProc.pf paraméterek a Schema Holderhez való csatlakozáshoz.
    #Target Pro DB sématartó
    -db bisquitsh -ld bisquitsh
    -H <ETL folyamat hosztnév>
    -S <biskuitsh bróker port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oracle bróker gazdagépnév>
    -DataService orabroker1
  6. Mentse el a paraméterfájlt replProc.pf
  7. Ezután létre kell hoznia és meg kell nyitnia a paraméterfájlokat a szerkesztéshez a könyvtárban lévő minden egyes csatlakoztatott forrásadatbázishoz C:Pro2bpreplScripts: bisquit.pf. Minden pf fájl paramétereket tartalmaz a megfelelő adatbázishoz való csatlakozáshoz, például:
    -db bisquit -ld bisquit -H <gazdanév> -S <broker port>
    -U pro2admin -P <jelszó>

A Windows parancsikonok konfigurálásához lépjen a könyvtárba C:Pro2bpreplScripts és szerkessze a „Pro2 – Adminisztráció” parancsikont. Ehhez nyissa meg a parancsikon tulajdonságait és a sorban Induljon be jelezze a Pro2 telepítési könyvtárát. Hasonló műveletet kell végrehajtani a „Pro2 – Editor” és a „RunBulkLoader” parancsikonokkal.

Pro2 adminisztrációs beállítások: Kezdeti konfiguráció betöltése

Indítsuk el a konzolt.

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között

Lépjen a „DB Map” oldalra.

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között

Adatbázisok összekapcsolásához a Pro2 – Adminisztráció alkalmazásban lépjen a lapra DB térkép. Forrásadatbázis-leképezés hozzáadása - Sématartó - Oracle.

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között

Ugrás a lapra Mapping. Listázott Forrás adatbázis Alapértelmezés szerint az első csatlakoztatott forrásadatbázis van kiválasztva. A lista jobb oldalán egy feliratnak kell lennie Minden adatbázis csatlakoztatva — a kiválasztott adatbázisok össze vannak kapcsolva. Alul, a bal oldalon látnia kell a bisquit előrehaladási tábláinak listáját. A jobb oldalon az Oracle adatbázis tábláinak listája látható.

SQL-sémák és adatbázisok létrehozása az Oracle-ben

Replikációs leképezés létrehozásához először generálnia kell SQL séma az Oracle-ben. A Pro2 Adminisztrációban végrehajtjuk a menüpontot Eszközök -> Kód generálása -> Célséma, majd a párbeszédpanelen Válassza az Adatbázis lehetőséget válasszon ki egy vagy több forrásadatbázist, és helyezze át őket jobbra.

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között

Kattintson az OK gombra, és válassza ki az SQL-sémák mentéséhez szükséges könyvtárat.

Ezután elkészítjük az alapot. Ez megtehető például ezen keresztül Oracle SQL fejlesztő. Ehhez csatlakozunk az Oracle adatbázishoz, és betöltjük a sémát a táblák hozzáadásához. Az Oracle táblák összetételének módosítása után frissítenie kell az SQL-sémákat a sématartóban.

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között

A letöltés sikeres befejezése után lépjen ki a bisquitsh adatbázisból, és nyissa meg a Pro2 adminisztrációs panelt. Az Oracle adatbázis táblázatainak meg kell jelenniük a jobb oldali Leképezés lapon.

Táblázat leképezés

Replikációs leképezés létrehozásához a Pro2 adminisztrációs panelen lépjen a Leképezés lapra, és válassza ki a forrásadatbázist. Kattintson a Map Tables (Táblázatok leképezése) elemre, válassza a Select Changes (Változások kiválasztása) lehetőséget azon táblázatok bal oldalán, amelyeket replikálni szeretne az Oracle-ben, mozgassa őket jobbra, és erősítse meg a kijelölést. A kiválasztott táblázatokhoz automatikusan létrejön egy térkép. Megismételjük a műveletet a replikációs térkép létrehozásához más forrásadatbázisokhoz.

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között

Pro2 replikációs processzorkönyvtár és tömeges másolás processzorprogramok előállítása

A Replication Processor Library olyan egyéni replikációs folyamatokhoz (ETL) készült, amelyek feldolgozzák a Pro2 replikációs sort, és változtatásokat hajtanak végre az Oracle adatbázisban. A replikációs processzor könyvtári programjai generálás után automatikusan mentésre kerülnek a könyvtárba bprepl/repl_proc (PROC_DIRECTORY paraméter). A replikációs processzor könyvtár létrehozásához lépjen a következő helyre: Eszközök -> Kód generálása -> Processzorkönyvtár. A generálás befejezése után a programok megjelennek a könyvtárban bprepl/repl_proc.

A tömeges betöltési processzorprogramok a Progress forrásadatbázisok szinkronizálására szolgálnak a Progress ABL (4GL) programozási nyelven alapuló Oracle céladatbázissal. Létrehozásához lépjen a menüpontba Eszközök -> Kód generálása -> Tömeges másolás processzor. Az Adatbázis kiválasztása párbeszédpanelen válassza ki a forrásadatbázisokat, helyezze át őket az ablak jobb oldalára, és kattintson a gombra OK. A generálás befejezése után a programok megjelennek a könyvtárban bpreplrepl_mproc.

Replikációs folyamatok beállítása Pro2-ban

A táblák külön replikációs szál által kiszolgált készletekre való felosztása javítja a Pro2 Oracle teljesítményét és hatékonyságát. Alapértelmezés szerint az új replikációs táblákhoz a replikációs térképen létrehozott összes kapcsolat az 1-es szálhoz van társítva. Javasoljuk, hogy a táblákat különböző szálakra válassza szét.

A replikációs szálak állapotával kapcsolatos információk a Pro2 adminisztráció képernyőjén, a Replikációs állapot szakasz Monitor lapján jelennek meg. A paraméterértékek részletes leírása a Pro2 dokumentációjában található (C:Pro2Docs könyvtár).

CDC házirendek létrehozása és aktiválása

A házirendek az OpenEdge CDC motor számára a táblák változásainak figyelésére szolgáló szabályok halmaza. A cikk írásakor a Pro2 csak 0 szintű CDC-házirendeket támogat, vagyis csak a tényeket figyeli változások rögzítése.

CDC-házirend létrehozásához az adminisztrációs panelen lépjen a Leképezés lapra, válassza ki a forrásadatbázist, és kattintson a Házirendek hozzáadása/eltávolítása gombra. A megnyíló Módosítások kiválasztása ablakban válassza ki a bal oldalon, és mozgassa jobbra azokat a táblákat, amelyekhez CDC-házirendet kell létrehoznia vagy törölnie.

Az aktiváláshoz nyissa meg újra a Mapping lapot, válassza ki a forrásadatbázist, és kattintson a gombra Irányelvek aktiválása. Válassza ki és helyezze át a táblázat jobb oldalára az aktiválandó házirendeket, majd kattintson az OK gombra. Ezt követően zölddel vannak jelölve. Használva Irányelvek aktiválása A CDC házirendeket is deaktiválhatja. Minden tranzakció online történik.

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között

A CDC-házirend aktiválása után a módosított rekordokkal kapcsolatos megjegyzések mentésre kerülnek a tárolóterületre "ReplCDCArea" a forrásadatbázis szerint. Ezeket a feljegyzéseket speciális eljárással dolgozzák fel CDCBatch, amely ezek alapján jegyzeteket hoz létre az adatbázis Pro2 replikációs sorában cdc (repl).

Így két sorunk van a replikációhoz. Az első szakasz a CDCBatch: a forrásadatbázisból az adatok először a köztes CDC adatbázisba kerülnek. A második szakasz az adatok átvitele a CDC adatbázisból az Oracle-be. Ez a jelenlegi architektúra és magának a terméknek a sajátossága – eddig a fejlesztőknek nem sikerült közvetlen replikációt létrehozniuk.

Elsődleges szinkronizálás

A CDC mechanizmus engedélyezése és a Pro2 replikációs szerver beállítása után el kell indítanunk a kezdeti szinkronizálást. Kezdeti szinkronizálási parancs:

/pro2/bprepl/Script/replLoad.sh bisquit táblanév

A kezdeti szinkronizálás befejezése után a replikációs folyamatok elindíthatók.

A replikációs folyamatok kezdete

A replikációs folyamatok elindításához egy parancsfájlt kell futtatnia replbatch.sh. Mielőtt elkezdené, győződjön meg arról, hogy minden szálhoz - replbatch1, replbatch2 stb. - vannak replbatch szkriptek. Ha minden a helyén van, nyissa meg a parancssort (pl. proenv), lépjen a könyvtárba /bprepl/scripts és indítsa el a forgatókönyvet. Az adminisztrációs panelen ellenőrizzük, hogy a megfelelő folyamat FUTÓ állapotot kapott-e.

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között

Álláspontja

Hogyan szerezzünk barátokat a Progress OpenEdge bankrendszer és az Oracle DBMS között
A bevezetést követően nagymértékben felgyorsítottuk az információk vállalati adattárházba való feltöltését. Az adatok automatikusan bekerülnek az Oracle online rendszerébe. Nem kell időt vesztegetni néhány régóta futó lekérdezés futtatásával, hogy adatokat gyűjtsön a különböző rendszerekről. Ráadásul ebben a megoldásban a replikációs folyamat képes tömöríteni az adatokat, ami szintén pozitívan hat a sebességre. Mostanra a BISKVIT rendszer napi egyeztetése más rendszerekkel 15-20 óra helyett 2-2,5 percet vett igénybe, a teljes egyeztetés pedig két nap helyett több órát vett igénybe.

Forrás: will.com

Hozzászólás