Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS

Sedert 1999 gebruik ons ​​bank die geïntegreerde bankstelsel BISKVIT gebaseer op die Progress OpenEdge-platform om die agterkantoor te bedien, wat wyd oor die wêreld gebruik word, insluitend in die finansiële sektor. Die werkverrigting van hierdie DBBS laat jou toe om tot 'n miljoen of meer rekords per sekonde in een databasis (DB) te lees. Progress OpenEdge bedien sowat 1,5 miljoen individuele deposito's en sowat 22,2 miljoen kontrakte vir aktiewe produkte (motorlenings en verbande), en is ook verantwoordelik vir alle skikkings met die reguleerder (CB) en SWIFT.

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS

Deur Progress OpenEdge te gebruik, word ons gekonfronteer met die feit dat ons dit vriende moet maak met die Oracle DBMS. Aanvanklik was hierdie bundel die "bottelnek" van ons infrastruktuur - totdat ons Pro2 CDC geïnstalleer en gekonfigureer het - 'n Progress-produk wat jou toelaat om data vanaf die Progress DBBS direk na die Oracle DBBS te stuur, in aanlynmodus. In hierdie pos sal ons jou in detail vertel, met al die slaggate, hoe om OpenEdge en Oracle-vriende effektief te maak.

Hoe dit was: die oplaai van data na QCD via lêeruitruiling

Eerstens 'n paar feite oor ons infrastruktuur. Die aantal aktiewe gebruikers van die databasis is ongeveer 15 600. Die volume van alle produktiewe databasisse, insluitend replika en bystand, is 16,5 TB, die grootste databasis is 120 TB. Terselfdertyd word die databasisse voortdurend aangevul: net die afgelope jaar is sowat 150 TB se produktiewe data bygevoeg. Die stelsel word ondersteun deur 86 x21-voorbedieners. Die databasisse word op XNUMX IBM-platformbedieners gehuisves.

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS
Voorste stelsels, verskeie ABS en bankdienste is geïntegreer met OpenEdge Progress (IBS BISKVIT) via die Sonic ESB-bus. Data word deur lêeruitruiling na QCD opgelaai. Tot op 'n sekere tydstip het so 'n oplossing twee groot probleme tegelyk gehad - lae werkverrigting van die oplaai van inligting na 'n korporatiewe datapakhuis (CWD) en 'n lang tyd om datarekonsiliasie (rekonsiliasie) met ander stelsels uit te voer.
Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS
Daarom het ons begin soek na 'n instrument wat hierdie prosesse kan bespoedig. Die oplossing vir beide probleme was die nuwe Progress OpenEdge-produk - Pro2 CDC (Change Data Capture). So, kom ons begin.

Installeer Progress OpenEdge en Pro2Oracle

Progress Oracle OpenEdge Developer Kit Classroom Edition, wat kan wees download verniet. Verstek OpenEdge-installasiegidse:

DLC: C: ProgressOpenEdge
WRK: C:OpenEdgeWRK

ETL-prosesse vereis Progress OpenEdge weergawe 11.7+ lisensies - naamlik OE DataServer for Oracle en 4GL Development System. Hierdie lisensies is by die Pro2 ingesluit. Vir volwaardige werking van DataServer vir Oracle met 'n afgeleë Oracle-databasis, word die volledige Oracle-kliënt geïnstalleer.

Op die Oracle-bediener moet u die weergawe van Oracle Database 12+ installeer, 'n leë databasis skep en 'n gebruiker byvoeg (kom ons noem dit CDC).

Om Pro2Oracle te installeer, laai 'n nuwe verspreiding van die aflaaisentrum af Vorderingsagteware. Pak die argief uit in 'n gids C: Pro2 (om Pro2 op Unix te konfigureer, word dieselfde verspreiding gebruik en dieselfde beginsels van konfigurasie geld).

Die skep van 'n cdc replikasie databasis

Replikasie databasis cdc (repl) gebruik deur Pro2 om konfigurasie-inligting te stoor, insluitend die replikasiekaart, die name van die gerepliseerde databasisse en hul tabelle. Dit bevat ook 'n replikasie-tou wat bestaan ​​uit notas oor die feit dat 'n tabelry in die brondatabasis verander het. Die replikasie-toudata word deur die ETL-prosesse gebruik om die rye te identifiseer wat vanaf die brondatabasis na Oracle gekopieer moet word.

Ons skep 'n aparte databasis cdc.

Prosedure vir die skep van 'n basis

  1. Op die databasisbediener skep ons 'n gids vir die cdc-databasis - byvoorbeeld op die bediener /databasis/cdc/.
  2. Skep 'n dummy vir die cdc-databasis: kopieer $DLC/leë cdc
  3. Aktiveer ondersteuning vir groot lêers: proutil cdc -C EnableLargeFiles
  4. Ons berei die skrip voor om die cdc-databasis te begin. Die beginparameters moet soortgelyk wees aan die beginparameters van die gerepliseerde databasis.
  5. Ons begin die cdc-databasis.
  6. Koppel aan cdc-databasis en laai Pro2-skema vanaf lêer cdc.df, wat by die Pro2 ingesluit is.
  7. Skep die volgende gebruikers in die cdc-databasis:

pro2adm - om vanaf die Pro2 administratiewe paneel te koppel;
pro2etl - vir die koppeling van ETL-prosesse (ReplBatch);
pro2cdc - vir die koppeling van CDC-prosesse (CDCBatch);

Aktiveer OpenEdge Change Data Capture

Laat ons nou die CDC-meganisme self aanskakel, met behulp waarvan data na 'n bykomende tegnologiese gebied gerepliseer sal word. In elke bron Progress OpenEdge-databasis moet jy aparte stoorareas byvoeg waarheen die brondata gedupliseer sal word, en die meganisme self aktiveer met die opdrag proutil.

Voorbeeldprosedure vir die bisquit-databasis

  1. Kopieer uit gids C: Pro2db lêer cdcadd.st na die oorspronklike bisquit-databasisgids.
  2. Ons beskryf in cdcadd.st vaste grootte omvang vir streke "ReplCDCArea" и "ReplCDCArea_IDX". Jy kan nuwe bergingsareas aanlyn byvoeg: prostrct addonline bisquit cdcadd.st
  3. Aktiveer OpenEdge CDC:
    proutil bisquit -C enablecdc area "ReplCDCArea" indeksarea "ReplCDCArea_IDX"
  4. Die volgende gebruikers moet in die brondatabasis geskep word om lopende prosesse te identifiseer:
    a. pro2adm - om vanaf die Pro2 administratiewe paneel te koppel.
    b. pro2etl - vir die koppeling van ETL-prosesse (ReplBatch).
    c. pro2cdc - vir die koppeling van CDC-prosesse (CDCBatch).

Skep skemahouer vir DataServer vir Oracle

Vervolgens moet ons 'n Skemahouer-databasis op die bediener skep waar data van die Progress DBBS na die Oracle DBMS gerepliseer sal word. Die DataServer-skemahouer is 'n leë Progress OpenEdge-databasis met geen gebruikers of toepassingsdata nie, wat 'n kartering tussen brontabelle en eksterne Oracle-tabelle bevat.

Die Schema Holder for Progress OpenEdge DataServer vir Oracle for Pro2 moet op die ETL-prosesbediener geleë wees en word afsonderlik vir elke tak geskep.

Hoe om 'n skemahouer te skep

  1. Pak die Pro2-verspreiding in 'n gids uit /pro2
  2. Skep en verander gids /pro2/dbsh
  3. Skep die Skemahouer-databasis deur die opdrag te gebruik kopieer $DLC/leë bisquitsh
  4. Ons voer die omskakeling uit bisquitsh in die vereiste enkodering - byvoorbeeld, in UTF-8 as Oracle-databasisse UTF-8-kodering het: proutil bisquitsh -C convchar omskep UTF-8
  5. Na die skep van 'n leë databasis bisquitsh koppel daaraan in enkelgebruikermodus: pro bisquitsh
  6. Gaan na die Datawoordeboek: Gereedskap -> Data Woordeboek -> DataServer -> ORACLE Utilities -> Skep DataServer Skema
  7. Begin Skemahouer
  8. Stel die Oracle DataServer-makelaar op:
    a. Begin AdminServer.
    proadsv -begin
    b. Begin Oracle DataServer Broker
    oraman -naam orabroker1 -begin

Die opstel van die administratiewe paneel en replikasieskema

Die Pro2 administratiewe paneel konfigureer Pro2-instellings, insluitend replikasieskema-opstelling en generering van ETL-prosesprogramme (Verwerkerbiblioteek), primêre sinchronisasieprogramme (grootkopieverwerker), replikasie-snellers en OpenEdge CDC-beleide. Daar is ook primêre instrumente vir die monitering en bestuur van ETL- en CDC-prosesse. Eerstens stel ons die parameterlêers op.

Hoe om parameterlêers op te stel

  1. Gaan na katalogus C:Pro2bpreplScripts
  2. Maak die lêer oop vir redigering replProc.pf
  3. Voeg verbindingsparameters by die cdc-replikasiedatabasis:
    # Replikasie databasis
    -db cdc -ld repl -H <hoofdb gasheernaam> -S <cdc db makelaarpoort>
    -U pro2admin -P <wagwoord>
  4. Kom ons voeg by replProc.pf verbindingsinstellings na brondatabasisse en Skemahouer as instellingslêers. Die naam van die parameterlêer moet ooreenstem met die naam van die brondatabasis wat gekoppel word.
    # Koppel aan alle gerepliseerde bron BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Kom ons voeg by replProc.pf verbindingsparameters aan Skemahouer.
    #Target Pro DB Skemahouer
    -db bisquitsh -ld bisquitsh
    -H <gasheernaam van ETL-prosesse>
    -S <biskuitsh makelaar port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORAKEL
    -S 5162 -H <Oracle makelaar gasheernaam>
    -DataService of makelaar1
  6. Stoor die instellingslêer replProc.pf
  7. Vervolgens moet u parameterlêers vir elke inpropbare brondatabasis in die gids skep en oopmaak vir redigering C:Pro2bpreplScripts: bisquit.pf. Elke pf-lêer spesifiseer die parameters om aan die ooreenstemmende databasis te koppel, byvoorbeeld:
    -db bisquit -ld bisquit -H <gasheernaam> -S <makelaarpoort>
    -U pro2admin -P <wagwoord>

Om Windows-kortpaaie op te stel, gaan na die gids C:Pro2bpreplScripts en wysig die etiket "Pro2 - Administrasie". Om dit te doen, maak die eienskappe van die kortpad en in die reël oop Begin in spesifiseer die Pro2 installasie gids. 'n Soortgelyke bewerking moet gedoen word vir die kortpaaie "Pro2 - Editor" en "RunBulkLoader".

Pro2-administrasie-opstelling: Laai primêre konfigurasie

Ons begin die konsole.

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS

Gaan na "DB Map".

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS

Om databasisse in Pro2 - Administrasie te koppel, gaan na die oortjie db kaart. Voeg brondatabasiskartering by - Skemahouer - Oracle.

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS

Gaan na oortjie Mapping. Gelys Bron Databasis by verstek word die eerste gekoppelde brondatabasis gekies. Regs van die lys moet die inskripsie wees Alle databasisse gekoppel — die geselekteerde basisse is verbind. Onder, aan die linkerkant, behoort jy 'n lys van Progress-tabelle van bisquit te sien. Aan die regterkant is 'n lys van tabelle van die Oracle-databasis.

Skep SQL-skemas en databasisse in Oracle

Om 'n replikasiekaart te skep, moet jy eers genereer SQL skema in Oracle. Voer die menu-item in Pro2 Administration uit Gereedskap -> Genereer kode -> Teikenskema, dan in die dialoogkassie Kies databasis kies een of meer brondatabasisse en skuif dit na regs.

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS

Klik OK en kies 'n gids om die SQL-skemas te stoor.

Vervolgens skep ons die basis. Dit kan byvoorbeeld gedoen word deur Oracle SQL-ontwikkelaar. Om dit te doen, koppel ons aan die Oracle-databasis en laai die skema vir die byvoeging van tabelle. Nadat u die samestelling van die Oracle-tabelle verander het, moet u die SQL-skemas in die Skemahouer opdateer.

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS

Nadat die aflaai suksesvol voltooi is, verlaat die bisquitsh-databasis en maak die Pro2 administratiewe paneel oop. Tabelle van die Oracle-databasis moet op die Kartering-oortjie aan die regterkant verskyn.

Tabel kartering

Om 'n replikasiekaart in die Pro2 administratiewe paneel te skep, gaan na die Kartering-oortjie, kies die brondatabasis. Ons klik op Kaarttabelle, kies aan die linkerkant Kies Verander die tabelle wat in Oracle gerepliseer moet word, dra dit na regs oor en bevestig die keuse. Vir die geselekteerde tabelle sal 'n kaart outomaties geskep word. Ons herhaal die bewerking om 'n replikasiekaart vir ander brondatabasisse te skep.

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS

Genereer Pro2 Replikasie verwerker biblioteek en grootmaat-kopie verwerker programme

Die verwerkerbiblioteek is vir toegewyde replikasieprosesse (ETL) wat die Pro2-replikasie-tou verwerk en veranderinge aan die Oracle-databasis stoot. Replikasie verwerker biblioteek programme na generasie word outomaties in die gids gestoor bprepl/repl_proc (PROC_DIRECTORY parameter). Om die replikasie verwerker biblioteek te genereer, gaan na Gereedskap -> Genereer kode -> Verwerkerbiblioteek. Nadat die generasie voltooi is, sal die programme in die katalogus verskyn bprepl/repl_proc.

Grootmaat laaier programme word gebruik om bron Progress databasisse te sinchroniseer met die teiken Oracle databasis gebaseer op die Progress ABL (4GL) programmeertaal. Om dit te genereer, gaan na die menu-item Gereedskap -> Genereer kode -> Grootmaat-kopieverwerker. In die dialoogkassie Kies databasis, kies die brondatabasisse, dra dit oor na die regterkant van die venster en klik OK. Nadat die generasie voltooi is, sal die programme in die katalogus verskyn bpreplrepl_mproc.

Opstel van replikasieprosesse in Pro2

Deur tabelle in stelle te verdeel wat deur 'n aparte replikasiedraad bedien word, verbeter die werkverrigting en doeltreffendheid van Pro2 Oracle. By verstek is alle skakels wat in die replikasiekaart vir nuwe replikasietabelle geskep word gebonde aan stroom nommer 1. Dit word aanbeveel om tabelle in verskillende strome te verdeel.

Inligting oor die status van replikasiestrome word op die Pro2-administrasie-skerm in die Monitor-oortjie in die Replikasiestatus-afdeling vertoon. 'N Gedetailleerde beskrywing van die parameterwaardes kan gevind word in die Pro2-dokumentasie (C:Pro2Docs-gids).

Skep en aktivering van CDC-beleide

Beleide is 'n stel reëls vir die OpenEdge CDC-enjin wat veranderinge aan tabelle opspoor. Met die skryf hiervan ondersteun Pro2 slegs CDC-beleide met vlak 0, wat beteken dat slegs die feit nagespoor word veranderinge aanteken.

Om 'n CDC-beleid in die administratiewe paneel te skep, gaan na die Kartering-oortjie, kies die brondatabasis en klik op die Add/Verwyder Policies-knoppie. In die Kies veranderings venster wat oopmaak, kies aan die linkerkant en dra oor na die regte tabelle waarvoor jy 'n CDC-beleid moet skep of uitvee.

Om weer te aktiveer, maak die Kartering-oortjie oop, kies die brondatabasis en klik op die knoppie (In) Aktiveer Beleide. Kies en skuif na die regterkant van die tabel wie se beleide geaktiveer moet word, klik OK. Daarna word hulle in groen gemerk. Deur die gebruik van (In) Aktiveer Beleide jy kan ook CDC-beleide deaktiveer. Alle transaksies word aanlyn uitgevoer.

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS

Nadat die CDC-beleid geaktiveer is, word notas oor die gewysigde rekords in die stoorarea gestoor "ReplCDCArea" volgens die oorspronklike databasis. Hierdie notas sal deur 'n spesiale proses hanteer word CDCBatch, wat, gebaseer op hulle, notas in die Pro2-replikasie-ry in die databasis sal skep cdc (repl).

Ons het dus twee toue vir replikasie. Die eerste tou is CDCBatch: vanaf die brondatabasis gaan die data eers die intermediêre CDC-databasis binne. Die tweede fase is wanneer data van die CDC-databasis na Oracle oorgedra word. Dit is 'n kenmerk van die huidige argitektuur en die produk self - totdat die ontwikkelaars regstreekse replikasie kon vestig.

Primêre sinkronisering

Nadat ons die CDC-meganisme geaktiveer het en die Pro2-replikasiebediener gekonfigureer het, moet ons die aanvanklike sinchronisasie begin. Primêre sinkronisering begin opdrag:

/pro2/bprepl/Script/replLoad.sh bisquit tabel-naam

Nadat die aanvanklike sinchronisasie voltooi is, kan u replikasieprosesse begin.

Begin van replikasieprosesse

Om replikasieprosesse te begin, moet jy die skrip uitvoer replbatch.sh. Voordat u begin, maak seker dat hergroepskrifte beskikbaar is vir alle drade - replbatch1, replbatch2, ens. As alles in plek is, maak die opdragreël oop (byvoorbeeld, proenv), gaan na die gids /bprepl/skrifte en voer die skrip uit. In die administratiewe paneel kontroleer ons dat die ooreenstemmende proses die LOOP-status ontvang het.

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS

Bevindinge

Hoe om vriende te maak met die Progress OpenEdge-bankstelsel en Oracle DBMS
Na die implementering het ons die oplaai van inligting na die korporatiewe datapakhuis aansienlik versnel. Die data kom onafhanklik na Oracle aanlyn. Dit is nie nodig om tyd te mors om 'n paar langdurige navrae uit te voer om data van verskillende stelsels in te samel nie. Daarbenewens kan die replikasieproses in hierdie oplossing data saampers, wat ook 'n positiewe uitwerking op spoed het. Nou het die daaglikse rekonsiliasie van die BISKVIT-stelsel met ander stelsels 15-20 minute begin neem in plaas van 2-2,5 uur, en 'n volledige rekonsiliasie het etlike ure geneem in plaas van twee dae.

Bron: will.com

Voeg 'n opmerking