Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS

Zënter 1999, fir de Backoffice ze servéieren, huet eis Bank den integréierte Bankesystem BISKVIT op der Progress OpenEdge Plattform benotzt, déi wäit an der Welt benotzt gëtt, och am Finanzsecteur. D'Performance vun dësem DBMS erlaabt Iech bis zu enger Millioun oder méi records pro Sekonn an enger Datebank (DB) ze liesen. Eis Progress OpenEdge servéiert ongeféier 1,5 Milliounen individuell Depositioune a ronn 22,2 Millioune Kontrakter fir aktiv Produkter (Autosprêten an Hypotheken), an ass och verantwortlech fir all Siedlunge mam Reguléierer (Zentralbank) a SWIFT.

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS

Mat Hëllef vu Progress OpenEdge ware mir mat der Bedierfnes konfrontéiert fir et mat der Oracle DBMS ze schaffen. Am Ufank war dëse Bündel de Flaschenhals vun eiser Infrastruktur - bis mir Pro2 CDC installéiert a konfiguréiert hunn - e Progress Produkt dat Iech erlaabt Daten aus der Progress DBMS op d'Oracle DBMS direkt online ze schécken. An dësem Post wäerte mir Iech am Detail soen, mat all de Fallen, wéi Dir effektiv Frënn tëscht OpenEdge an Oracle mécht.

Wéi et geschitt ass: Eroplueden vun Donnéeën op QCD iwwer Dateienaustausch

Als éischt e puer Fakten iwwer eis Infrastruktur. D'Zuel vun den aktive Benotzer vun der Datebank ass ongeféier 15 dausend. De Volume vun all produktiven Datenbanken, inklusiv Replik a Standby, ass 600 TB, déi gréisste Datebank ass 16,5 TB. Zur selwechter Zäit ginn d'Datebanke stänneg ersat: eleng am leschte Joer sinn ongeféier 120 TB u produktiv Donnéeën dobäikomm. De System gëtt vun 150 Front Server op der x86 Plattform ugedriwwen. D'Datebanke ginn op 21 IBM Plattformserver gehost.

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS
Front-End Systemer, verschidde Kär Banke Systemer a Bankeservicer sinn integréiert mat OpenEdge Progress (BISCUIT IBS) iwwer de Sonic ESB Bus. Eroplueden vun Daten op QCD geschitt duerch Dateiaustausch. Bis zu engem gewëssen Zäitpunkt hat dës Léisung zwee grouss Probleemer gläichzäiteg - niddereg Leeschtung vun der Eroplueden vun Informatioun an e Firmendatenlager (CDW) an eng laang Zäit fir Datenreconciliatioun (Reconciliatioun) mat anere Systemer ze maachen.
Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS
Dofir hu mir ugefaang no engem Tool ze sichen dat dës Prozesser kéint beschleunegen. D'Léisung fir béid Problemer war den neie Progress OpenEdge Produkt - Pro2 CDC (Change Data Capture). Also, loosst eis ufänken.

Installéiert Progress OpenEdge a Pro2Oracle

Fir Pro2 Oracle um Windows Computer vum Administrator ze lafen, ass et genuch Progress OpenEdge Developer Kit Classroom Edition z'installéieren, déi скачать fir näischt. Standard OpenEdge Installatiounsverzeichnis:

DLC: C: ProgressOpenEdge
WRK: C:OpenEdgeWRK

ETL Prozesser erfuerderen Progress OpenEdge Lizenzen Versioun 11.7+ - nämlech OE DataServer fir Oracle an 4GL Entwécklung System. Dës Lizenzen si mat der Pro2 abegraff. Fir voll Operatioun vum DataServer fir Oracle mat enger Remote Oracle Datebank, gëtt de Full Oracle Client installéiert.

Um Oracle Server musst Dir d'Oracle Database 12+ installéieren, eng eidel Datebank erstellen an e Benotzer addéieren (loosst eis him nennen cdc).

Fir Pro2Oracle z'installéieren, luet déi lescht Verdeelung vum Download Center erof Fortschrëtt Software. Auspackt den Archiv an e Verzeichnis C:Pro2 (Fir Pro2 op Unix ze konfiguréieren, gëtt déiselwecht Verdeelung benotzt an déiselwecht Konfiguratiounsprinzip gëllen).

Erstellt eng cdc Replikatiounsdatebank

Replikatioun Datebank cdc (repl) Pro2 gëtt benotzt fir Konfiguratiounsinformatioun ze späicheren, dorënner d'Replikatiounskaart, Nimm vu replizéierten Datenbanken an hir Tabellen. Et enthält och eng Replikatiounsschlaang, besteet aus Notizen iwwer d'Tatsaach datt eng Tabellerei an der Quelldatebank geännert huet. Daten aus der Replikatiounsschlaang ginn vun ETL Prozesser benotzt fir Reihen z'identifizéieren déi op Oracle aus der Quelldatebank kopéiert musse ginn.

Mir kreéieren eng separat cdc Datebank.

Prozedur fir eng Datebank ze kreéieren

  1. Um Datebankserver erstellen mir e Verzeechnes fir d'cdc Datebank - zum Beispill um Server /database/cdc/.
  2. Erstellt eng Dummy fir d'cdc Datebank: procopy $DLC / eidel cdc
  3. Aktivéiert Ënnerstëtzung fir grouss Dateien: proutil cdc -C EnableLargeFiles
  4. Mir preparéieren e Skript fir d'cdc Datebank ze starten. D'Startparameter mussen ähnlech wéi d'Startparameter vun der replizéierter Datebank sinn.
  5. Mir starten d'cdc Datebank.
  6. Connectéiert mat der cdc Datebank a lued de Pro2 Schema aus der Datei cdc.df, déi mat der Pro2 abegraff ass.
  7. Mir kreéieren déi folgend Benotzer an der cdc Datebank:

pro2adm - fir d'Verbindung vum Pro2 Administrativ Panel;
pro2etl - fir ETL Prozesser ze verbannen (ReplBatch);
pro2cdc - fir CDC Prozesser ze verbannen (CDCBatch);

Aktivéiert OpenEdge Change Data Capture

Loosst eis elo den CDC Mechanismus selwer ausschalten, mat der Hëllef vun deenen Daten an en zousätzlech Technologieberäich replizéiert ginn. Fir all Progress OpenEdge Quelldatebank musst Dir separat Späicherberäicher addéieren, an deenen d'Quelldaten duplizéiert ginn, an de Mechanismus selwer aktivéieren mam Kommando proutil.

Beispill Prozedur fir d'Bisquit Datebank

  1. Aus dem Katalog kopéieren C:Pro2db Datei cdcadd.st an de Bisquit Quell Datebank Verzeechnes.
  2. Mir beschreiwen an cdcadd.st fix Gréisst Ausmooss fir Regiounen "ReplCDCArea" и "ReplCDCArea_IDX". Dir kënnt nei Späicherberäicher online addéieren: prostrct addonline bisquit cdcadd.st
  3. OpenEdge CDC aktivéieren:
    proutil bisquit -C enablecdc Beräich "ReplCDCArea" indexarea "ReplCDCArea_IDX"
  4. Déi folgend Benotzer mussen an der Quelldatebank erstallt ginn fir lafend Prozesser z'identifizéieren:
    a. pro2adm - fir d'Verbindung vum Pro2 Administrativ Panel.
    b. pro2etl - fir ETL Prozesser ze verbannen (ReplBatch).
    c. pro2cdc - fir CDC Prozesser (CDCBatch) ze verbannen.

Erstellt e Schema Holder fir DataServer fir Oracle

Als nächst musse mir eng Schema Holder-Datebank op de Server erstellen, wou Daten aus dem Progress DBMS an d'Oracle DBMS replizéiert ginn. DataServer Schema Holder ass eng eidel Progress OpenEdge Datebank ouni Benotzer oder Uwendungsdaten, mat enger Kaart vun der Korrespondenz tëscht Quelltabellen an externen Oracle Dëscher.

D'Schema Holder Datebank fir Progress OpenEdge DataServer fir Oracle fir Pro2 muss um ETL Prozessserver lokaliséiert sinn; et gëtt separat fir all Branche erstallt.

Wéi erstellen ech e Schema Holder

  1. Packt d'Pro2 Verdeelung an e Verzeichnis /pro2
  2. Erstellt a gitt an den Dossier /pro2/dbsh
  3. Erstellt eng Schema Holder Datebank mam Kommando kopéieren $ DLC / eidel bisquitsh
  4. Leeschtung der Konversioun bisquitsch an déi erfuerderlech Kodéierung - zum Beispill, an UTF-8 wann Oracle Datenbanken UTF-8 Kodéierung hunn: proutil bisquitsh -C convchar konvertéieren UTF-8
  5. Nodeems Dir eng eidel Datebank erstallt bisquitsch konnektéieren et am Single-Benotzer Modus: pro bisquitsh
  6. Loosst eis op Data Dictionary goen: Tools -> Data Dictionary -> DataServer -> ORACLE Utilities -> Create DataServer Schema
  7. Lancéiere Schema Holder
  8. Den Oracle DataServer Broker opsetzen:
    a. Start AdminServer.
    proadsv -start
    b. Start vum Oracle DataServer Broker
    oraman -numm orabroker1 -start

Astellung vun der administrativer Panel a Replikatiounsschema

Mat der Pro2 Administratiounspanel gi Pro2 Parameteren konfiguréiert, inklusiv d'Opstellung vum Replikatiounsschema an d'Generatioun vun ETL Prozesser (Processor Library), primär Synchroniséierungsprogrammer (Bulk-Copy Prozessor), Replikatiounsausléiser an OpenEdge CDC Politiken. Et ginn och primär Tools fir d'Iwwerwaachung an d'Gestioun vun ETL an CDC Prozesser. Als éischt setzen mir d'Parameterdateien op.

Wéi Parameterdateien konfiguréieren

  1. Gitt an de Katalog C:Pro2bpreplScripts
  2. Öffnen d'Datei fir z'änneren replProc.pf
  3. Füügt Verbindungsparameter un d'CDc Replikatiounsdatebank:
    # Replikatiouns Datebank
    -db cdc -ld repl -H <Main Datebank Hostnumm> -S <Datebank Broker Port cdc>
    -U pro2admin -P <Passwuert>
  4. Derbäi ze replProc.pf Verbindungsparameter fir Quelldatenbanken a Schemahalter a Form vu Parameterdateien. Den Numm vun der Parameterdatei muss mam Numm vun der Quelldatenbank passen, déi ugeschloss ass.
    # Connectéiert mat all replizéiert Quellen BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Derbäi ze replProc.pf Parameteren fir Verbindung zu Schema Holder.
    #Target Pro DB Schema Holder
    -db bisquitsh -ld bisquitsh
    -H <ETL Prozess Hostnumm>
    -S <biskuitsh broker port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORAKEL
    -S 5162 -H <Oracle Broker Hostnumm>
    -DataService orabroker1
  6. Späichert d'Parameterdatei replProc.pf
  7. Als nächst musst Dir erstellen an opmaachen fir Parameterdateien fir all verbonne Quelldatenbank am Verzeechnes z'änneren C:Pro2bpreplScripts: bisquit.pf. All pf-Datei enthält Parameteren fir mat der entspriechender Datebank ze verbannen, zum Beispill:
    -db bisquit -ld bisquit -H <hostname> -S <broker port>
    -U pro2admin -P <Passwuert>

Fir Windows Ofkiirzungen ze konfiguréieren, musst Dir an de Verzeechnes goen C:Pro2bpreplScripts an d'Ofkiirzung "Pro2 - Administration" änneren. Fir dëst ze maachen, öffnen d'Eegeschafte vun der Ofkiirzung an an der Linn Start an gitt de Pro2 Installatiounsverzeechnes un. Eng ähnlech Operatioun muss fir de "Pro2 - Editor" an "RunBulkLoader" Ofkiirzungen gemaach ginn.

Pro2 Administratioun Setup: Luede initial Configuratioun

Loosst eis d'Konsol starten.

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS

Gitt op "DB Kaart".

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS

Fir Datenbanken an Pro2 - Administration ze verbannen, gitt op d'Tab DB Kaart. Füügt Mapping vu Quelldatenbanken derbäi - Schema Holder - Oracle.

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS

Gitt op d'Tab Conclusiounen. Opgezielt Quell Datebank Par défaut gëtt déi éischt verbonne Quelldatebank ausgewielt. Riets vun der Lëscht soll eng Inscriptioun sinn All Datenbanken verbonnen - déi gewielte Datenbanken sinn ugeschloss. Ënnert op der lénker Säit sollt Dir eng Lëscht vu Progress Dëscher aus Bisquit gesinn. Riets ass eng Lëscht vun Dëscher aus der Oracle Datebank.

Erstellt SQL Schemaen an Datenbanken an Oracle

Fir eng Replikatiounskaart ze kreéieren, musst Dir als éischt generéieren SQL Schema an Oracle. An der Pro2 Administration maache mir de Menüpunkt aus Tools -> Generéiere Code -> Zil Schema, dann am Dialog Këscht Wielt Datebank wielt een oder méi Quelldatenbanken a réckelt se no riets.

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS

Klickt OK a wielt de Verzeichnis fir d'SQL Schemaen ze späicheren.

Als nächst kreéiere mir d'Basis. Dëst kann zum Beispill via Oracle SQL Entwéckler. Fir dëst ze maachen, verbannen mir mat der Oracle-Datebank a lued de Schema fir Tabellen ze addéieren. Nodeems Dir d'Zesummesetzung vun Oracle Dëscher geännert hutt, musst Dir d'SQL Schemaen am Schema Holder aktualiséieren.

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS

Nodeems den Download erfollegräich ofgeschloss ass, gitt d'Bisquitsh-Datebank eraus an öffnen d'Pro2 Administrativ Panel. Dëscher aus der Oracle Datebank sollen op der Kaart Kaart op der rietser Säit erschéngen.

Dësch Kaarte

Fir eng Replikatiounskaart ze kreéieren, an der Pro2 Administrativ Panel, gitt op d'Mapping Tab a wielt d'Quell Datebank. Klickt op Map Tables, wielt Wielt Ännerungen op der lénkser Säit vun den Dëscher, déi an Oracle replizéiert ginn, réckelen se no riets a bestätegt d'Auswiel. Eng Kaart gëtt automatesch fir déi ausgewielt Dëscher geschaf ginn. Mir widderhuelen d'Operatioun fir eng Replikatiounskaart fir aner Quelldatenbanken ze kreéieren.

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS

Generéiere Pro2 Replikatiounsprozessor Bibliothéik a Bulk-Copy Prozessor Programmer

D'Replikatiounsprozessorbibliothéik ass fir personaliséiert Replikatiounsprozesser (ETLs) entwéckelt, déi d'Pro2 Replikatiounsschlaang veraarbechten an d'Ännerungen an d'Oracle Datebank drécken. Replikatiounsprozessor Bibliothéik Programmer ginn automatesch an de Verzeechnes no Generatioun gespäichert bprepl/repl_proc (PROC_DIRECTORY Parameter). Fir d'Replikatiounsprozessorbibliothéik ze generéieren, gitt op Tools -> Code generéieren -> Prozessorbibliothéik. Nodeems d'Generatioun fäerdeg ass, erschéngen d'Programmer am Verzeechnes bprepl/repl_proc.

Bulk Load Prozessor Programmer gi benotzt fir Quell Progress Datenbanken mat der Zil-Oracle Datebank ze synchroniséieren baséiert op der Progress ABL (4GL) Programméierungssprooch. Fir se ze generéieren, gitt op de Menüpunkt Tools -> Code generéieren -> Bulk-Copy Prozessor. An der Wielt Datebank Dialog Këscht, wielt d'Quell Datenbanken, réckelen se op déi riets Säit vun der Fënster a klickt OK. Nodeems d'Generatioun fäerdeg ass, erschéngen d'Programmer am Verzeechnes bpreplrepl_mproc.

Replikatiounsprozesser am Pro2 opsetzen

Dëscher opzedeelen a Sets zerwéiert vun engem separaten Replikatiouns thread verbessert d'Performance an d'Effizienz vum Pro2 Oracle. Par défaut sinn all Verbindungen, déi an der Replikatiounskaart fir nei Replikatiounstabellen erstallt sinn, verbonne mat Thread Nummer 1. Et gëtt recommandéiert fir Dëscher a verschidde Threads ze trennen.

Informatioun iwwer de Status vu Replikatiounsfäegkeeten gëtt um Pro2 Administratiounsbildschierm an der Monitor Tab an der Replikatiounsstatus Sektioun ugewisen. Eng detailléiert Beschreiwung vu Parameterwäerter kann an der Pro2 Dokumentatioun fonnt ginn (Verzeechnes C: Pro2Docs).

CDC Politik erstellen an aktivéieren

D'Politik ass eng Rei vu Reegele fir den OpenEdge CDC-Motor fir Ännerungen an Dëscher ze iwwerwaachen. Zu der Zäit vum Schreiwen ënnerstëtzt Pro2 nëmmen CDC Politik mat Niveau 0, dat heescht, nëmmen e Fakt ass iwwerwaacht Rekord Ännerungen.

Fir eng CDC Politik ze kreéieren, op der Administrativ Panel, gitt op d'Mapping Reiter, wielt d'Quelldatebank a klickt op de Knäppchen derbäisetzen / läschen Politiken. An der Wielt Ännerunge Fënster déi opmaacht, wielt op der lénker Säit a réckelt op d'Recht d'Dëscher fir déi Dir eng CDC Politik erstellen oder läschen musst.

Fir ze aktivéieren, öffnen de Mapping Tab erëm, wielt d'Quelldatebank a klickt op de Knäppchen (In) Politiken aktivéieren. Wielt a réckelt op déi riets Säit vun der Tabell d'Politik déi aktivéiert musse ginn, klickt OK. Duerno gi se gréng markéiert. Duerch d'Benotzung (In) Politiken aktivéieren Dir kënnt och CDC Politiken deaktivéieren. All Transaktioune ginn online gemaach.

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS

Nodeems d'CDC Politik aktivéiert ass, ginn Notizen iwwer modifizéierten Opzeechnungen an de Späicherberäich gespäichert "ReplCDCArea" no der Quell Datebank. Dës Notize ginn duerch e spezielle Prozess veraarbecht CDCBatch, déi op Basis vun hinnen Notizen an der Pro2 Replikatiounsschlaang an der Datebank erstellen cdc (repl).

Also hu mir zwou Schlaangen fir Replikatioun. Déi éischt Stuf ass CDCBatch: vun der Quelldatebank ginn d'Donnéeën als éischt an d'Zwëschen CDC Datebank. Déi zweet Stuf ass wann Daten aus der CDC Datebank op Oracle transferéiert ginn. Dëst ass eng Feature vun der aktueller Architektur an dem Produkt selwer - bis elo konnten d'Entwéckler net direkt Replikatioun etabléieren.

Primär Synchroniséierung

Nodeems mir den CDC Mechanismus aktivéiert hunn an de Pro2 Replikatiounsserver opgeriicht hunn, musse mir déi initial Synchroniséierung starten. Éischt Synchroniséierung Kommando:

/pro2/bprepl/Script/replLoad.sh bisquit Dësch-Numm

Nodeems déi initial Synchroniséierung ofgeschloss ass, kënnen Replikatiounsprozesser gestart ginn.

Start vu Replikatiounsprozesser

Fir Replikatiounsprozesser unzefänken musst Dir e Skript ausféieren replbatch.sh. Ier Dir ufänkt, gitt sécher datt et Replbatch Scripte fir all Threads gëtt - replbatch1, replbatch2, etc. Wann alles op der Plaz ass, öffnen d'Kommandozeil (zum Beispill, proenv), gitt an den Dossier /bprepl/scripts a fänkt de Skript un. Am administrativen Panel kontrolléiere mir datt de entspriechende Prozess de RUNNING Status kritt huet.

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS

Resultater

Wéi Frënn ze maachen tëscht dem Progress OpenEdge Bankesystem an dem Oracle DBMS
No der Ëmsetzung hu mir den Eroplueden vun Informatioun an de Firmendatenlager staark beschleunegt. D'Donnéeë ginn automatesch an Oracle online. Et ass net néideg Zäit ze verschwenden fir e puer laangfristeg Ufroen ze lafen fir Daten aus verschiddene Systemer ze sammelen. Zousätzlech, an dëser Léisung kann de Replikatiounsprozess Daten kompriméieren, wat och e positiven Effekt op d'Geschwindegkeet huet. Elo huet deeglech Reconciliatioun vum BISKVIT System mat anere Systemer ugefaang 15-20 Minutten ze huelen anstatt 2-2,5 Stonnen, an eng komplett Reconciliatioun huet e puer Stonnen amplaz vun zwee Deeg gedauert.

Source: will.com

Setzt e Commentaire