Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin

1999 yildan beri bankimiz orqa ofisga xizmat ko‘rsatish uchun butun dunyoda, jumladan, moliya sohasida keng qo‘llaniladigan Progress OpenEdge platformasida BISKVIT integratsiyalashgan bank tizimidan foydalanmoqda. Ushbu DBMSning ishlashi bitta ma'lumotlar bazasida (MB) soniyada million yoki undan ortiq yozuvlarni o'qish imkonini beradi. Bizning Progress OpenEdge 1,5 millionga yaqin shaxsiy depozitlarga va faol mahsulotlar (avtomobil kreditlari va ipoteka) bo'yicha 22,2 millionga yaqin shartnomalarga xizmat ko'rsatadi, shuningdek, regulyator (Markaziy bank) va SWIFT bilan barcha hisob-kitoblar uchun javobgardir.

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin

Progress OpenEdge-dan foydalanib, biz uni Oracle DBMS bilan ishlashga majbur qilish zarurati bilan duch keldik. Dastlab, bu to‘plam infratuzilmamizning darbog‘i bo‘ldi – biz Pro2 CDC – Progress ma’lumotlar bazasidan ma’lumotlarni to‘g‘ridan-to‘g‘ri onlayn tarzda Oracle DBMSga yuborish imkonini beruvchi Progress mahsulotini o‘rnatmagunimiz va sozlamagunimizcha. Ushbu postda biz sizga OpenEdge va Oracle o'rtasida qanday qilib samarali do'stlashishni barcha tuzoqlar bilan batafsil aytib beramiz.

Bu qanday sodir bo'ldi: fayl almashish orqali ma'lumotlarni QCDga yuklash

Birinchidan, bizning infratuzilmamiz haqida ba'zi faktlar. Ma'lumotlar bazasining faol foydalanuvchilari soni 15 mingga yaqin. Replikatsiya va kutish rejimini o'z ichiga olgan barcha samarali ma'lumotlar bazalarining hajmi 600 TB, eng katta ma'lumotlar bazasi 16,5 TB. Shu bilan birga, ma'lumotlar bazalari doimiy ravishda to'ldirilib boriladi: birgina o'tgan yilning o'zida 120 TBga yaqin samarali ma'lumotlar qo'shildi. Tizim x150 platformasidagi 86 ta front server tomonidan quvvatlanadi. Ma'lumotlar bazalari 21 ta IBM platformasi serverlarida joylashgan.

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin
Front-end tizimlari, turli asosiy bank tizimlari va bank xizmatlari Sonic ESB avtobusi orqali OpenEdge Progress (BISCUIT IBS) bilan birlashtirilgan. QCD ga ma'lumotlarni yuklash fayl almashinuvi orqali amalga oshiriladi. Vaqtning ma'lum bir nuqtasiga qadar, bu yechim bir vaqtning o'zida ikkita katta muammoga ega edi - ma'lumotlarni korporativ ma'lumotlar omboriga (CDW) yuklashning past samaradorligi va boshqa tizimlar bilan ma'lumotlarni solishtirish (kelishuv) uchun uzoq vaqt.
Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin
Shuning uchun biz ushbu jarayonlarni tezlashtiradigan vositani izlay boshladik. Ikkala muammoning echimi yangi Progress OpenEdge mahsuloti - Pro2 CDC (Ma'lumotlarni yozib olishni o'zgartirish) edi. Shunday ekan, boshlaylik.

Progress OpenEdge va Pro2Oracle-ni o'rnating

Pro2 Oracle-ni administratorning Windows kompyuterida ishga tushirish uchun Progress OpenEdge Developer Kit Classroom Edition-ni o'rnatish kifoya. скачать tekinga. Standart OpenEdge o'rnatish kataloglari:

DLC: C: ProgressOpenEdge
WRK: C: OpenEdgeWRK

ETL jarayonlari Progress OpenEdge litsenziyalarining 11.7+ versiyasini talab qiladi, ya'ni Oracle uchun OE DataServer va 4GL Development System. Ushbu litsenziyalar Pro2-ga kiritilgan. Masofaviy Oracle ma'lumotlar bazasi bilan DataServer for Oracle to'liq ishlashi uchun Full Oracle Client o'rnatilgan.

Oracle serverida siz Oracle Database 12+ ni o'rnatishingiz, bo'sh ma'lumotlar bazasini yaratishingiz va foydalanuvchi qo'shishingiz kerak (uni chaqiramiz) cdc).

Pro2Oracle-ni o'rnatish uchun yuklab olish markazidan eng so'nggi tarqatishni yuklab oling Progress dasturiy ta'minot. Arxivni katalogga oching C: Pro2 (Unix-da Pro2-ni sozlash uchun bir xil tarqatish ishlatiladi va bir xil konfiguratsiya tamoyillari qo'llaniladi).

cdc replikatsiya ma'lumotlar bazasini yaratish

Replikatsiya ma'lumotlar bazasi cdc (repl) Pro2 konfiguratsiya ma'lumotlarini, shu jumladan replikatsiya xaritasini, takrorlangan ma'lumotlar bazalari nomlarini va ularning jadvallarini saqlash uchun ishlatiladi. Shuningdek, u manba ma'lumotlar bazasidagi jadval qatori o'zgarganligi haqidagi eslatmalardan iborat replikatsiya navbatini ham o'z ichiga oladi. Replikatsiya navbatidagi ma'lumotlar ETL jarayonlari tomonidan manba ma'lumotlar bazasidan Oracle'ga ko'chirilishi kerak bo'lgan qatorlarni aniqlash uchun ishlatiladi.

Biz alohida CD ma'lumotlar bazasini yaratmoqdamiz.

Ma'lumotlar bazasini yaratish tartibi

  1. Ma'lumotlar bazasi serverida biz cdc ma'lumotlar bazasi uchun katalog yaratamiz - masalan, serverda /ma'lumotlar bazasi/cdc/.
  2. CDC ma'lumotlar bazasi uchun qo'g'irchoq yarating: $DLC/bo'sh CDni nusxalash
  3. Katta fayllarni qo'llab-quvvatlashni yoqing: proutil cdc -C EnableLargeFiles
  4. Biz cdc ma'lumotlar bazasini ishga tushirish uchun skript tayyorlaymiz. Boshlash parametrlari takrorlangan ma'lumotlar bazasining boshlang'ich parametrlariga o'xshash bo'lishi kerak.
  5. Biz cdc ma'lumotlar bazasini ishga tushiramiz.
  6. CDc ma'lumotlar bazasiga ulaning va fayldan Pro2 sxemasini yuklang cdc.df, bu Pro2 bilan birga keladi.
  7. Biz CDC ma'lumotlar bazasida quyidagi foydalanuvchilarni yaratamiz:

pro2adm - Pro2 ma'muriy panelidan ulanish uchun;
pro2etl - ETL jarayonlarini ulash uchun (ReplBatch);
pro2cdc - CDC jarayonlarini ulash uchun (CDCBatch);

OpenEdge Change Data Capture faollashtirilmoqda

Endi CDC mexanizmining o'zini yoqaylik, uning yordamida ma'lumotlar qo'shimcha texnologiya maydoniga ko'paytiriladi. Har bir Progress OpenEdge manba ma'lumotlar bazasiga siz manba ma'lumotlari takrorlanadigan alohida saqlash joylarini qo'shishingiz va buyruq yordamida mexanizmni faollashtirishingiz kerak. proutil.

Biskvit ma'lumotlar bazasi uchun misol protsedurasi

  1. Katalogdan nusxa ko'chirish C: Pro2db fayl cdcadd.st bisquit manba ma'lumotlar bazasi katalogiga.
  2. da tasvirlaymiz cdcadd.st mintaqalar uchun belgilangan o'lchamlar "ReplCDCArea" и "ReplCDCArea_IDX". Yangi saqlash joylarini onlayn qo'shishingiz mumkin: prostrct addonline biskvit cdcadd.st
  3. OpenEdge CDC-ni faollashtiring:
    proutil bisquit -C enablecdc maydoni "ReplCDCArea" indeksi "ReplCDCArea_IDX"
  4. Ishlayotgan jarayonlarni aniqlash uchun manba ma'lumotlar bazasida quyidagi foydalanuvchilar yaratilishi kerak:
    a. pro2adm - Pro2 ma'muriy panelidan ulanish uchun.
    b. pro2etl - ETL jarayonlarini ulash uchun (ReplBatch).
    c. pro2cdc - CDC jarayonlarini ulash uchun (CDCBatch).

Oracle uchun DataServer uchun sxema ushlagichini yaratish

Keyinchalik, serverda Sxema Holder ma'lumotlar bazasini yaratishimiz kerak, u erda Progress DBMS ma'lumotlari Oracle DBMSga takrorlanadi. DataServer Schema Holder - bu foydalanuvchilar yoki dastur ma'lumotlarisiz bo'sh Progress OpenEdge ma'lumotlar bazasi bo'lib, manba jadvallari va tashqi Oracle jadvallari o'rtasidagi yozishmalar xaritasini o'z ichiga oladi.

Progress OpenEdge DataServer for Oracle for Pro2 uchun Schema Holder ma'lumotlar bazasi ETL jarayon serverida joylashgan bo'lishi kerak, u har bir filial uchun alohida yaratilgan.

Sxema ushlagichini qanday yaratish kerak

  1. Pro2 distributivini katalogga oching /pro2
  2. Yarating va katalogga o'ting /pro2/dbsh
  3. Buyruq yordamida Schema Holder ma'lumotlar bazasini yarating $DLC/bo'sh biskvitni nusxalash
  4. Konvertatsiyani amalga oshirish pechene kerakli kodlash - masalan, Oracle ma'lumotlar bazalarida UTF-8 kodlash bo'lsa, UTF-8 da: proutil bisquitsh -C convchar konvertatsiya UTF-8
  5. Bo'sh ma'lumotlar bazasini yaratgandan so'ng pechene unga bitta foydalanuvchi rejimida ulaning: pro bisquitsh
  6. Keling, Data Dictionary ga o'tamiz: Asboblar -> Maʼlumotlar lugʻati -> DataServer -> ORACLE Utilities -> DataServer sxemasini yaratish
  7. Sxema ushlagichini ishga tushiring
  8. Oracle DataServer brokerini sozlash:
    a. AdminServerni ishga tushiring.
    proadsv - boshlash
    b. Oracle DataServer brokerining ishga tushirilishi
    oraman -nomi orabroker1 -start

Ma'muriy panel va replikatsiya sxemasini o'rnatish

Pro2 ma'muriy paneli yordamida Pro2 parametrlari, jumladan replikatsiya sxemasini o'rnatish va ETL jarayonlarini yaratish (Protsessor kutubxonasi), asosiy sinxronizatsiya dasturlari (Ommaviy nusxa ko'chirish protsessori), replikatsiya triggerlari va OpenEdge CDC siyosatlari sozlanadi. ETL va CDC jarayonlarini kuzatish va boshqarish uchun asosiy vositalar ham mavjud. Avvalo, biz parametr fayllarini o'rnatamiz.

Parametr fayllarini qanday sozlash kerak

  1. Katalogga o'ting C: Pro2bpreplScripts
  2. Faylni tahrirlash uchun oching replProc.pf
  3. CDc replikatsiya ma'lumotlar bazasiga ulanish parametrlarini qo'shing:
    # Replikatsiya ma'lumotlar bazasi
    -db cdc -ld repl -H <asosiy ma'lumotlar bazasi xost nomi> -S <ma'lumotlar bazasi broker porti cdc>
    -U pro2admin -P <parol>
  4. qo'shish replProc.pf manba ma'lumotlar bazalariga ulanish parametrlari va parametr fayllari ko'rinishidagi Schema Holder. Parametrlar faylining nomi ulangan manba ma'lumotlar bazasi nomiga mos kelishi kerak.
    # BISQUIT barcha takrorlangan manbalarga ulaning
    -pf bpreplscriptsbisquit.pf
  5. qo'shish replProc.pf Sxema ushlagichiga ulanish parametrlari.
    #Target Pro DB sxemasi ushlagichi
    -db bisquitsh -ld bisquitsh
    -H <ETL jarayonining xost nomi>
    -S <biskuitsh broker port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oracle broker hostname>
    -DataService orabroker1
  6. Parametrlar faylini saqlang replProc.pf
  7. Keyinchalik, katalogdagi har bir ulangan manba ma'lumotlar bazasi uchun parametr fayllarini tahrirlash uchun yaratishingiz va ochishingiz kerak C:Pro2bpreplScripts: bisquit.pf. Har bir pf fayli tegishli ma'lumotlar bazasiga ulanish parametrlarini o'z ichiga oladi, masalan:
    -db bisquit -ld bisquit -H <hostname> -S <broker port>
    -U pro2admin -P <parol>

Windows yorliqlarini sozlash uchun siz katalogga o'tishingiz kerak C: Pro2bpreplScripts va "Pro2 - Administratsiya" yorlig'ini tahrirlang. Buni amalga oshirish uchun yorliq va qatordagi xususiyatlarni oching Boshlang Pro2 o'rnatish katalogini ko'rsating. Xuddi shunday operatsiya "Pro2 - Editor" va "RunBulkLoader" yorliqlari uchun ham bajarilishi kerak.

Pro2 ma'muriyatini sozlash: Dastlabki konfiguratsiya yuklanmoqda

Keling, konsolni ishga tushiramiz.

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin

"JB xaritasi" ga o'ting.

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin

Pro2 - Administratsiyada ma'lumotlar bazalarini bog'lash uchun yorlig'iga o'ting JB xaritasi. Manba ma'lumotlar bazalarining xaritasini qo'shing - Sxema egasi - Oracle.

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin

Tabga o'ting xaritalash. Ro'yxatda Manba ma'lumotlar bazasi Odatiy bo'lib, birinchi ulangan manba ma'lumotlar bazasi tanlangan. Ro'yxatning o'ng tomonida yozuv bo'lishi kerak Barcha ma'lumotlar bazalari ulangan — tanlangan ma'lumotlar bazalari ulangan. Pastda chap tomonda siz biskvit dan Progress jadvallari ro'yxatini ko'rishingiz kerak. O'ng tomonda Oracle ma'lumotlar bazasidan jadvallar ro'yxati mavjud.

Oracle da SQL sxemalari va ma'lumotlar bazalarini yaratish

Replikatsiya xaritasini yaratish uchun avvalo yaratishingiz kerak SQL sxemasi Oracle'da. Pro2 ma'muriyatida biz menyu bandini bajaramiz Asboblar -> Kod yaratish -> Maqsadli sxema, keyin dialog oynasida Ma'lumotlar bazasini tanlang bir yoki bir nechta manba ma'lumotlar bazasini tanlang va ularni o'ngga o'tkazing.

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin

OK tugmasini bosing va SQL sxemalarini saqlash uchun katalogni tanlang.

Keyinchalik biz bazani yaratamiz. Bu, masalan, orqali amalga oshirilishi mumkin Oracle SQL dasturchisi. Buning uchun biz Oracle ma'lumotlar bazasiga ulanamiz va jadvallarni qo'shish sxemasini yuklaymiz. Oracle jadvallarining tarkibini o'zgartirgandan so'ng, siz sxema ushlagichidagi SQL sxemalarini yangilashingiz kerak.

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin

Yuklab olish muvaffaqiyatli tugallangandan so'ng, bisquitsh ma'lumotlar bazasidan chiqing va Pro2 ma'muriy panelini oching. Oracle ma'lumotlar bazasidagi jadvallar o'ng tarafdagi Xarita yorlig'ida paydo bo'lishi kerak.

Jadvalni xaritalash

Replikatsiya xaritasini yaratish uchun Pro2 ma'muriy panelida "Xaritalash" yorlig'iga o'ting va manba ma'lumotlar bazasini tanlang. Xarita jadvallarini bosing, Oracle-da takrorlanishi kerak bo'lgan jadvallarning chap tomonidagi O'zgarishlarni tanlang, ularni o'ngga o'tkazing va tanlovni tasdiqlang. Tanlangan jadvallar uchun avtomatik ravishda xarita yaratiladi. Boshqa manba ma'lumotlar bazalari uchun replikatsiya xaritasini yaratish uchun operatsiyani takrorlaymiz.

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin

Pro2 replikatsiya protsessorlari kutubxonasi va ommaviy nusxali protsessor dasturlarini yaratish

Replikatsiya protsessorlari kutubxonasi Pro2 replikatsiya navbatini qayta ishlovchi va Oracle ma'lumotlar bazasiga o'zgartirishlar kiritadigan maxsus replikatsiya jarayonlari (ETL) uchun mo'ljallangan. Replikatsiya protsessor kutubxonasi dasturlari avloddan keyin avtomatik ravishda katalogga saqlanadi bprepl/repl_proc (PROC_DIRECTORY parametri). Replikatsiya protsessor kutubxonasini yaratish uchun quyidagi manzilga o'ting Asboblar -> Kod yaratish -> Protsessor kutubxonasi. Generatsiya tugagandan so'ng, dasturlar katalogda paydo bo'ladi bprepl/repl_proc.

Ommaviy yuklash protsessor dasturlari Progress ABL (4GL) dasturlash tiliga asoslangan maqsadli Oracle ma'lumotlar bazasi bilan manba Progress ma'lumotlar bazasini sinxronlashtirish uchun ishlatiladi. Ularni yaratish uchun menyu bandiga o'ting Asboblar -> Kod yaratish -> Ommaviy nusxa ko'chirish protsessor. Ma'lumotlar bazasini tanlash dialog oynasida manba ma'lumotlar bazalarini tanlang, ularni oynaning o'ng tomoniga o'tkazing va bosing OK. Generatsiya tugagandan so'ng, dasturlar katalogda paydo bo'ladi bpreplrepl_mpoc.

Pro2 da replikatsiya jarayonlarini sozlash

Jadvallarni alohida replikatsiya ipi orqali xizmat ko'rsatadigan to'plamlarga bo'lish Pro2 Oracle ishlashi va samaradorligini oshiradi. Odatiy bo'lib, yangi replikatsiya jadvallari uchun replikatsiya xaritasida yaratilgan barcha ulanishlar ip raqami 1 bilan bog'langan. Jadvallarni turli mavzularga ajratish tavsiya etiladi.

Replikatsiya holati bo'limidagi Monitor yorlig'idagi Pro2 ma'muriyati ekranida replikatsiya iplarining holati haqidagi ma'lumotlar ko'rsatiladi. Parametr qiymatlarining batafsil tavsifini Pro2 hujjatlarida (C:Pro2Docs katalogida) topish mumkin.

CDC siyosatlarini yarating va faollashtiring

Qoidalar jadvallardagi oʻzgarishlarni kuzatish uchun OpenEdge CDC mexanizmi uchun qoidalar toʻplamidir. Yozish vaqtida Pro2 faqat 0-darajali CDC siyosatlarini qo'llab-quvvatlaydi, ya'ni faqat haqiqat nazorat qilinadi o'zgarishlarni qayd etish.

CDC siyosatini yaratish uchun ma'muriy panelda "Xaritalash" yorlig'iga o'ting, manba ma'lumotlar bazasini tanlang va "Siyosatlarni qo'shish/o'chirish" tugmasini bosing. Ochilgan "O'zgarishlarni tanlash" oynasida chap tomonni tanlang va CDC siyosatini yaratishingiz yoki o'chirishingiz kerak bo'lgan jadvallarni o'ngga o'tkazing.

Faollashtirish uchun Xaritalash yorlig'ini yana oching, manba ma'lumotlar bazasini tanlang va tugmani bosing (In)Siyosatlarni faollashtirish. Faollashtirilishi kerak bo'lgan siyosatlarni tanlang va jadvalning o'ng tomoniga o'ting, OK tugmasini bosing. Shundan so'ng ular yashil rang bilan belgilanadi. Yordamida (In)Siyosatlarni faollashtirish CDC siyosatlarini ham o'chirib qo'yishingiz mumkin. Barcha operatsiyalar onlayn tarzda amalga oshiriladi.

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin

CDC siyosati faollashtirilgandan so'ng, o'zgartirilgan yozuvlar haqidagi eslatmalar saqlash maydoniga saqlanadi "ReplCDCArea" manba ma'lumotlar bazasiga ko'ra. Ushbu eslatmalar maxsus jarayon orqali qayta ishlanadi CDCBatch, ular asosida ma'lumotlar bazasida Pro2 replikatsiya navbatdagi eslatmalarni yaratadi cdc (repl).

Shunday qilib, bizda replikatsiya uchun ikkita navbat bor. Birinchi bosqich - CDCBatch: manba ma'lumotlar bazasidan ma'lumotlar birinchi navbatda oraliq CDC ma'lumotlar bazasiga o'tadi. Ikkinchi bosqich - ma'lumotlar CDC ma'lumotlar bazasidan Oracle-ga uzatiladi. Bu hozirgi arxitektura va mahsulotning o'ziga xos xususiyati - hozirgacha ishlab chiquvchilar to'g'ridan-to'g'ri replikatsiyani o'rnatolmaganlar.

Asosiy sinxronizatsiya

CDC mexanizmini ishga tushirgandan va Pro2 replikatsiya serverini o'rnatgandan so'ng, biz dastlabki sinxronlashni boshlashimiz kerak. Dastlabki sinxronizatsiya buyrug'i:

/pro2/bprepl/Script/replLoad.sh pechene jadvali nomi

Dastlabki sinxronizatsiya tugagandan so'ng, replikatsiya jarayonlarini boshlash mumkin.

Replikatsiya jarayonlarining boshlanishi

Replikatsiya jarayonlarini boshlash uchun siz skriptni ishga tushirishingiz kerak replbatch.sh. Boshlashdan oldin, barcha mavzular uchun replbatch skriptlari mavjudligiga ishonch hosil qiling - replbatch1, replbatch2 va boshqalar. Agar hamma narsa joyida bo'lsa, buyruq qatorini oching (masalan, proenv), katalogga o'ting /bprepl/skriptlar va skriptni boshlang. Ma'muriy panelda biz tegishli jarayon RUNNING maqomini olganligini tekshiramiz.

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin

Natijalar

Progress OpenEdge bank tizimi va Oracle DBMS o'rtasida qanday do'stlashish mumkin
Amalga oshirilgandan so'ng, biz korporativ ma'lumotlar omboriga ma'lumotlarni yuklashni sezilarli darajada tezlashtirdik. Ma'lumotlar avtomatik ravishda Oracle-ga onlayn tarzda kiradi. Turli xil tizimlardan ma'lumotlarni to'plash uchun uzoq davom etadigan so'rovlarni bajarish uchun vaqt sarflashning hojati yo'q. Bundan tashqari, ushbu yechimda replikatsiya jarayoni ma'lumotlarni siqishi mumkin, bu ham tezlikka ijobiy ta'sir ko'rsatadi. Endi BISKVIT tizimini boshqa tizimlar bilan kunlik muvofiqlashtirish 15-20 soat o'rniga 2-2,5 daqiqa davom eta boshladi va to'liq yarashuv ikki kun o'rniga bir necha soat davom etdi.

Manba: www.habr.com

a Izoh qo'shish