Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS

Tangu 1999, ili kuhudumia ofisi ya nyuma, benki yetu imetumia mfumo jumuishi wa benki BISKVIT kwenye jukwaa la Progress OpenEdge, ambalo linatumika sana duniani kote, ikiwa ni pamoja na katika sekta ya fedha. Utendaji wa DBMS hii hukuruhusu kusoma hadi rekodi milioni moja au zaidi kwa sekunde katika hifadhidata moja (DB). Huduma zetu za Progress OpenEdge kuhusu amana milioni 1,5 na kandarasi zipatazo milioni 22,2 za bidhaa zinazotumika (mikopo ya gari na rehani), na pia inawajibika kwa malipo yote na mdhibiti (Benki Kuu) na SWIFT.

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS

Kwa kutumia Progress OpenEdge, tulikabiliwa na hitaji la kuifanya ifanye kazi na Oracle DBMS. Hapo awali, kifurushi hiki kilikuwa kikwazo cha miundombinu yetu - hadi tuliposakinisha na kusanidi Pro2 CDC - bidhaa ya Maendeleo inayokuruhusu kutuma data kutoka kwa DBMS ya Maendeleo hadi Oracle DBMS moja kwa moja, mtandaoni. Katika chapisho hili tutakuambia kwa undani, pamoja na mitego yote, jinsi ya kufanya marafiki kwa ufanisi kati ya OpenEdge na Oracle.

Jinsi ilifanyika: kupakia data kwa QCD kupitia kushiriki faili

Kwanza, baadhi ya ukweli kuhusu miundombinu yetu. Idadi ya watumiaji hai wa hifadhidata ni takriban 15 elfu. Kiasi cha hifadhidata zote zinazozalisha, pamoja na nakala na hali ya kusubiri, ni 600 TB, hifadhidata kubwa zaidi ni 16,5 TB. Wakati huo huo, hifadhidata zinajazwa tena kila wakati: kwa mwaka jana pekee, takriban TB 120 za data zenye tija zimeongezwa. Mfumo unaendeshwa na seva 150 za mbele kwenye jukwaa la x86. Hifadhidata hupangishwa kwenye seva 21 za jukwaa la IBM.

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS
Mifumo ya mbele, mifumo mbalimbali ya msingi ya benki na huduma za benki zimeunganishwa na OpenEdge Progress (BISCUIT IBS) kupitia basi la Sonic ESB. Kupakia data kwa QCD hutokea kwa kubadilishana faili. Hadi wakati fulani, suluhisho hili lilikuwa na shida mbili kubwa mara moja - utendaji duni wa kupakia habari kwenye ghala la data la shirika (CDW) na muda mrefu wa kufanya upatanisho wa data (maridhiano) na mifumo mingine.
Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS
Kwa hiyo, tulianza kutafuta chombo ambacho kinaweza kuharakisha taratibu hizi. Suluhisho la matatizo yote mawili lilikuwa bidhaa mpya ya Progress OpenEdge - Pro2 CDC (Badilisha Ukamataji Data). Kwa hiyo, hebu tuanze.

Sakinisha Maendeleo OpenEdge na Pro2Oracle

Ili kuendesha Pro2 Oracle kwenye kompyuta ya Windows ya msimamizi, inatosha kusakinisha Toleo la Darasani la Progress OpenEdge Developer Kit, ambalo linaweza kuwa. download kwa bure. Saraka chaguomsingi za usakinishaji wa OpenEdge:

DLC: C:ProgressOpenEdge
WRK: C:OpenEdgeWRK

Michakato ya ETL inahitaji leseni za Progress OpenEdge toleo la 11.7+ - yaani OE DataServer kwa Oracle na 4GL Development System. Leseni hizi zimejumuishwa na Pro2. Kwa utendakazi kamili wa DataServer ya Oracle iliyo na hifadhidata ya mbali ya Oracle, Full Oracle Client imesakinishwa.

Kwenye seva ya Oracle unahitaji kusakinisha Hifadhidata ya Oracle 12+, unda hifadhidata tupu na uongeze mtumiaji (wacha tumpigie simu. cdc).

Ili kusakinisha Pro2Oracle, pakua usambazaji wa hivi punde kutoka kwa kituo cha upakuaji Programu ya maendeleo. Fungua kumbukumbu kwenye saraka C:Pro2 (Ili kusanidi Pro2 kwenye Unix, usambazaji sawa unatumika na kanuni sawa za usanidi zinatumika).

Kuunda hifadhidata ya urudufishaji wa cdc

Hifadhidata ya kuiga cdc (jibu) Pro2 inatumika kuhifadhi maelezo ya usanidi, ikiwa ni pamoja na ramani ya urudufishaji, majina ya hifadhidata zilizonakiliwa na jedwali zao. Pia ina foleni ya urudufishaji, inayojumuisha maelezo kuhusu ukweli kwamba safu mlalo ya jedwali katika hifadhidata ya chanzo imebadilika. Data kutoka kwa foleni ya urudufishaji hutumiwa na michakato ya ETL kutambua safu mlalo zinazohitaji kunakiliwa kwa Oracle kutoka kwa hifadhidata ya chanzo.

Tunaunda hifadhidata tofauti ya cdc.

Utaratibu wa kuunda hifadhidata

  1. Kwenye seva ya hifadhidata tunaunda saraka kwa hifadhidata ya cdc - kwa mfano, kwenye seva /database/cdc/.
  2. Unda dummy kwa hifadhidata ya cdc: nakili $DLC/empty cdc
  3. Washa usaidizi wa faili kubwa: proutil cdc -C EnableLargeFiles
  4. Tunatayarisha hati ya kuanzisha hifadhidata ya cdc. Vigezo vya kuanza lazima vifanane na vigezo vya kuanza vya hifadhidata iliyorudiwa.
  5. Tunaanzisha hifadhidata ya cdc.
  6. Unganisha kwenye hifadhidata ya cdc na upakie schema ya Pro2 kutoka kwa faili cdc.df, ambayo imejumuishwa na Pro2.
  7. Tunaunda watumiaji wafuatao kwenye hifadhidata ya cdc:

pro2adm - kwa kuunganisha kutoka kwa jopo la utawala la Pro2;
pro2etl - kwa kuunganisha michakato ya ETL (ReplBatch);
pro2cdc - kwa kuunganisha michakato ya CDC (CDCBatch);

Inawasha Upigaji Data wa OpenEdge

Sasa hebu tuwashe utaratibu wa CDC yenyewe, kwa msaada wa data ambayo itarudiwa kwenye eneo la teknolojia ya ziada. Kwa kila hifadhidata ya chanzo cha Progress OpenEdge, unahitaji kuongeza maeneo tofauti ya hifadhi ambayo data chanzo itanakiliwa, na kuamilisha utaratibu wenyewe kwa kutumia amri. bidhaa.

Utaratibu wa mfano wa hifadhidata ya bisquit

  1. Inakili kutoka kwa katalogi C:Pro2db faili cdcadd.st kwa saraka ya hifadhidata ya chanzo cha bisquit.
  2. Tunaelezea katika cdcadd.st vipimo vya saizi maalum kwa mikoa "ReplCDCArea" ΠΈ "ReplCDCArea_IDX". Unaweza kuongeza maeneo mapya ya hifadhi mtandaoni: prostrct addonline bisquit cdcadd.st
  3. Washa OpenEdge CDC:
    proutil bisquit -C enablecdc area "ReplCDCArea" indexarea "ReplCDCArea_IDX"
  4. Watumiaji wafuatao lazima waundwe katika hifadhidata ya chanzo ili kutambua michakato inayoendeshwa:
    a. pro2adm - kwa kuunganisha kutoka kwa paneli ya utawala ya Pro2.
    b. pro2etl - kwa kuunganisha michakato ya ETL (ReplBatch).
    c. pro2cdc - kwa kuunganisha michakato ya CDC (CDCBatch).

Kuunda Kishikilia Kidhibiti cha DataServer cha Oracle

Ifuatayo, tunahitaji kuunda hifadhidata ya Kimiliki cha Schema kwenye seva ambapo data kutoka kwa DBMS ya Maendeleo itaigwa kwa Oracle DBMS. DataServer Schema Holder ni hifadhidata tupu ya Maendeleo ya OpenEdge bila watumiaji au data ya programu, iliyo na ramani ya mawasiliano kati ya majedwali ya chanzo na jedwali za nje za Oracle.

Hifadhidata ya Holder Schema ya Progress OpenEdge DataServer ya Oracle for Pro2 lazima iwe kwenye seva ya mchakato wa ETL; imeundwa kando kwa kila tawi.

Jinsi ya kuunda Kishikilia Schema

  1. Fungua usambazaji wa Pro2 kwenye saraka /pro2
  2. Unda na uende kwenye saraka /pro2/dbsh
  3. Unda hifadhidata ya Mmiliki wa Schema kwa kutumia amri nakili $DLC/bisquitsh tupu
  4. Kufanya uongofu bisquitsh kwenye usimbuaji unaohitajika - kwa mfano, katika UTF-8 ikiwa hifadhidata za Oracle zina usimbaji wa UTF-8: proutil bisquitsh -C convchar kubadilisha UTF-8
  5. Baada ya kuunda hifadhidata tupu bisquitsh unganisha nayo katika hali ya mtumiaji mmoja: pro bisquitsh
  6. Hebu tuende kwenye Kamusi ya Data: Zana -> Kamusi ya Data -> DataServer -> ORACLE Utilities -> Unda DataServer Schema
  7. Zindua Kishikilia Schema
  8. Kuanzisha wakala wa Oracle DataServer:
    a. Anzisha AdminServer.
    proadsv -anza
    b. Kuanza kwa wakala wa Oracle DataServer
    oraman -jina orabroker1 -anza

Kuweka jopo la utawala na mpango wa urudufishaji

Kwa kutumia paneli ya usimamizi ya Pro2, vigezo vya Pro2 vinasanidiwa, ikijumuisha kusanidi mpango wa urudufishaji na kuzalisha michakato ya ETL (Maktaba ya Kichakataji), programu za msingi za ulandanishi (Kichakata-Nakala Wingi), vichochezi vya urudufishaji na sera za OpenEdge CDC. Pia kuna zana za msingi za ufuatiliaji na udhibiti wa michakato ya ETL na CDC. Awali ya yote, tunaweka faili za parameter.

Jinsi ya kusanidi faili za parameta

  1. Nenda kwenye katalogi C:Pro2bpreplScripts
  2. Fungua faili kwa uhariri replProc.pf
  3. Ongeza vigezo vya uunganisho kwenye hifadhidata ya urudufishaji wa cdc:
    Hifadhidata ya # Replication
    -db cdc -ld repl -H <jina la mwenyeji wa hifadhidata kuu> -S <bandari ya wakala wa hifadhidata cdc>
    -U pro2admin -P <nenosiri>
  4. Ongezea replProc.pf vigezo vya uunganisho kwa hifadhidata za chanzo na Holder Schema katika mfumo wa faili za parameta. Jina la faili ya vigezo lazima lilingane na jina la hifadhidata ya chanzo inayounganishwa.
    # Unganisha kwa vyanzo vyote vilivyoigwa BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Ongezea replProc.pf vigezo vya kuunganisha kwa Schema Holder.
    #Target Pro DB Schema Holder
    -db bisquitsh -ld bisquitsh
    -H <Jina la mwenyeji wa mchakato wa ETL>
    -S <biskuitsh broker port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Jina la mwenyeji la wakala wa Oracle>
    -DataService orabroker1
  6. Hifadhi faili ya vigezo replProc.pf
  7. Ifuatayo, unahitaji kuunda na kufungua kwa kuhariri faili za parameta kwa kila hifadhidata ya chanzo iliyounganishwa kwenye saraka C:Pro2bpreplScripts: bisquit.pf. Kila faili ya pf ina vigezo vya kuunganisha kwenye hifadhidata inayolingana, kwa mfano:
    -db bisquit -ld bisquit -H <jina la mwenyeji> -S <broker port>
    -U pro2admin -P <nenosiri>

Ili kusanidi njia za mkato za Windows, unahitaji kwenda kwenye saraka C:Pro2bpreplScripts na uhariri njia ya mkato ya "Pro2 - Utawala". Ili kufanya hivyo, fungua mali ya njia ya mkato na kwenye mstari Anza ndani onyesha saraka ya usakinishaji ya Pro2. Uendeshaji sawa lazima ufanywe kwa njia za mkato za "Pro2 - Editor" na "RunBulkLoader".

Usanidi wa Utawala wa Pro2: Inapakia Usanidi wa Awali

Hebu tuzindue console.

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS

Nenda kwa "Ramani ya DB".

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS

Ili kuunganisha hifadhidata katika Pro2 - Utawala, nenda kwenye kichupo Ramani ya DB. Ongeza ramani ya hifadhidata za chanzo - Mmiliki wa Schema - Oracle.

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS

Nenda kwenye kichupo Mapping. Imeorodheshwa Chanzo Hifadhidata Kwa chaguo-msingi, hifadhidata ya kwanza iliyounganishwa ya chanzo imechaguliwa. Kwa upande wa kulia wa orodha kunapaswa kuwa na maandishi Hifadhidata Zote Zimeunganishwa - hifadhidata zilizochaguliwa zimeunganishwa. Chini upande wa kushoto unapaswa kuona orodha ya Majedwali ya Maendeleo kutoka kwa bisquit. Upande wa kulia kuna orodha ya majedwali kutoka kwa hifadhidata ya Oracle.

Kuunda schema na hifadhidata za SQL katika Oracle

Ili kuunda ramani ya kurudia, lazima kwanza utengeneze Mpango wa SQL katika Oracle. Katika Utawala wa Pro2 tunatekeleza kipengee cha menyu Zana -> Tengeneza Msimbo -> Schema Lengwa, kisha kwenye kisanduku cha mazungumzo Chagua Hifadhidata chagua hifadhidata moja au zaidi ya chanzo na uhamishe kulia.

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS

Bonyeza Sawa na uchague saraka ili kuhifadhi schema za SQL.

Ifuatayo, tunaunda msingi. Hii inaweza kufanyika, kwa mfano, kupitia Msanidi programu wa SQL. Ili kufanya hivyo, tunaunganisha kwenye hifadhidata ya Oracle na kupakia schema ya kuongeza meza. Baada ya kubadilisha muundo wa majedwali ya Oracle, unahitaji kusasisha schema za SQL kwenye Kimiliki cha Schema.

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS

Baada ya upakuaji kukamilika, ondoka kwenye hifadhidata ya bisquitsh na ufungue paneli ya usimamizi ya Pro2. Majedwali kutoka kwa hifadhidata ya Oracle yanapaswa kuonekana kwenye kichupo cha Ramani kilicho upande wa kulia.

Uchoraji wa ramani

Ili kuunda ramani ya urudufishaji, katika paneli ya usimamizi ya Pro2, nenda kwenye kichupo cha Ramani na uchague hifadhidata ya chanzo. Bofya kwenye Majedwali ya Ramani, chagua Chagua Mabadiliko upande wa kushoto wa jedwali ambazo zinapaswa kuigwa katika Oracle, zihamishe kulia na uthibitishe uteuzi. Ramani itaundwa kiotomatiki kwa majedwali yaliyochaguliwa. Tunarudia operesheni ili kuunda ramani ya urudufishaji kwa hifadhidata zingine za chanzo.

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS

Inazalisha Maktaba ya Kichakataji cha Urudiaji cha Pro2 na Programu za Kichakataji cha Nakala Wingi

Maktaba ya Kichakataji Replication imeundwa kwa ajili ya michakato ya urudufishaji maalum (ETLs) ambayo huchakata foleni ya urudufishaji ya Pro2 na kusukuma mabadiliko kwenye hifadhidata ya Oracle. Programu za maktaba ya kichakataji cha kurudia huhifadhiwa kiotomatiki kwenye saraka baada ya kizazi bprepl/repl_proc (PROC_DIRECTORY parameta). Ili kutengeneza maktaba ya kichakataji replication, nenda kwa Zana -> Tengeneza Msimbo -> Maktaba ya Kichakataji. Baada ya kizazi kukamilika, programu zitaonekana kwenye saraka bprepl/repl_proc.

Programu za Kichakataji cha Mzigo Wingi hutumiwa kusawazisha hifadhidata za Maendeleo ya chanzo na hifadhidata inayolengwa ya Oracle kulingana na Lugha ya programu ya Maendeleo ABL (4GL). Ili kuzizalisha, nenda kwenye kipengee cha menyu Zana -> Tengeneza Msimbo -> Kichakata cha Nakala Wingi. Katika sanduku la mazungumzo la Chagua Hifadhidata, chagua hifadhidata za chanzo, uhamishe kwa upande wa kulia wa dirisha na ubofye OK. Baada ya kizazi kukamilika, programu zitaonekana kwenye saraka bpreplrepl_mproc.

Kuanzisha michakato ya urudufishaji katika Pro2

Kugawanya jedwali katika seti zinazotolewa na uzi tofauti wa urudufishaji huboresha utendaji na ufanisi wa Pro2 Oracle. Kwa chaguo-msingi, viunganisho vyote vilivyoundwa katika ramani ya urudufishaji kwa jedwali mpya za urudufishaji vinahusishwa na nambari ya nyuzi 1. Inashauriwa kutenganisha meza katika nyuzi tofauti.

Taarifa kuhusu hali ya urudufishaji wa nyuzi huonyeshwa kwenye skrini ya Utawala wa Pro2 kwenye kichupo cha Monitor katika sehemu ya Hali ya Kurudufisha. Maelezo ya kina ya maadili ya parameta yanaweza kupatikana katika hati za Pro2 (saraka C:Pro2Docs).

Unda na uwashe sera za CDC

Sera ni seti ya sheria za injini ya OpenEdge CDC kufuatilia mabadiliko kwenye jedwali. Wakati wa kuandika, Pro2 inasaidia tu sera za CDC zilizo na kiwango cha 0, yaani, ukweli pekee ndio unaofuatiliwa rekodi mabadiliko.

Ili kuunda sera ya CDC, kwenye paneli ya msimamizi, nenda kwenye kichupo cha Kuchora Ramani, chagua hifadhidata ya chanzo na ubofye kitufe cha Ongeza/Ondoa Sera. Katika dirisha la Chagua Mabadiliko linalofungua, chagua upande wa kushoto na usogeze kulia kwa meza ambazo unahitaji kuunda au kufuta sera ya CDC.

Ili kuwezesha, fungua kichupo cha Ramani tena, chagua hifadhidata ya chanzo na ubofye kitufe (Katika)Amilisha Sera. Chagua na usogeze kwenye upande wa kulia wa jedwali sera zinazohitaji kuamilishwa, bofya SAWA. Baada ya hayo, huwekwa alama ya kijani. Kwa kutumia (Katika)Amilisha Sera Unaweza pia kulemaza sera za CDC. Shughuli zote zinafanywa mtandaoni.

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS

Baada ya sera ya CDC kuwashwa, madokezo kuhusu rekodi zilizorekebishwa huhifadhiwa kwenye eneo la kuhifadhi "ReplCDCArea" kulingana na hifadhidata ya chanzo. Vidokezo hivi vitachakatwa kupitia mchakato maalum CDCBatch, ambayo kulingana nao itaunda maelezo katika foleni ya urudufishaji wa Pro2 kwenye hifadhidata cdc (jibu).

Kwa hivyo, tunayo foleni mbili za urudufishaji. Hatua ya kwanza ni CDCBatch: kutoka kwa hifadhidata ya chanzo, data kwanza huenda kwenye hifadhidata ya kati ya CDC. Hatua ya pili ni wakati data inahamishwa kutoka hifadhidata ya CDC hadi Oracle. Hii ni kipengele cha usanifu wa sasa na bidhaa yenyewe - hadi sasa watengenezaji hawajaweza kuanzisha replication moja kwa moja.

Usawazishaji msingi

Baada ya kuwezesha utaratibu wa CDC na kusanidi seva ya urudufishaji ya Pro2, tunahitaji kuanza maingiliano ya awali. Amri ya maingiliano ya awali:

/pro2/bprepl/Script/replLoad.sh bisquit table-name

Baada ya maingiliano ya awali kukamilika, michakato ya urudufishaji inaweza kuanza.

Kuanza kwa michakato ya kurudia

Ili kuanza michakato ya urudufishaji unahitaji kuendesha hati replbatch.sh. Kabla ya kuanza, hakikisha kuwa kuna hati za replbatch kwa nyuzi zote - replbatch1, replbatch2, nk. Ikiwa kila kitu kiko mahali, fungua mstari wa amri (kwa mfano, proenv), nenda kwenye saraka /bprepl/scripts na anza hati. Katika jopo la utawala, tunaangalia kwamba mchakato sambamba umepokea hali ya RUNNING.

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS

Matokeo

Jinsi ya kufanya urafiki kati ya Progress OpenEdge mfumo wa benki na Oracle DBMS
Baada ya utekelezaji, tuliharakisha sana upakiaji wa taarifa kwenye ghala la data la shirika. Data huingia kiotomatiki kwenye Oracle mtandaoni. Hakuna haja ya kupoteza muda kuendesha maswali ya muda mrefu kukusanya data kutoka kwa mifumo tofauti. Kwa kuongeza, katika suluhisho hili mchakato wa kurudia unaweza kukandamiza data, ambayo pia ina athari nzuri kwa kasi. Sasa upatanisho wa kila siku wa mfumo wa BISKVIT na mifumo mingine ulianza kuchukua dakika 15-20 badala ya masaa 2-2,5, na upatanisho kamili ulichukua masaa kadhaa badala ya siku mbili.

Chanzo: mapenzi.com

Kuongeza maoni