Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar

1999-cu ildən etibarən bankımız bütün dünyada, o cümlədən maliyyə sektorunda geniş istifadə olunan bek-ofisə xidmət etmək üçün Progress OpenEdge platforması əsasında inteqrasiya olunmuş BISKVIT bank sistemindən istifadə edir. Bu DBMS-nin performansı bir verilənlər bazasında (DB) saniyədə bir milyona qədər və ya daha çox qeyd oxumağa imkan verir. Bizdə fiziki şəxslərin təxminən 1,5 milyon depozitinə və aktiv məhsullar (avtomobil kreditləri və ipoteka) üçün təxminən 22,2 milyon müqaviləyə xidmət göstərən Progress OpenEdge var və həmçinin tənzimləyici (CB) və SWIFT ilə bütün hesablaşmalara cavabdehdir.

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar

Progress OpenEdge-dən istifadə edərək, biz Oracle DBMS ilə dostluq etməli olduğumuz faktı ilə qarşılaşırıq. İlkin olaraq, bu paket bizim infrastrukturumuzun "darboğazı" idi - biz Pro2 CDC-ni quraşdırıb konfiqurasiya edənə qədər - Progress DBMS-dən məlumatları birbaşa, onlayn rejimdə Oracle DBMS-ə göndərməyə imkan verən Progress məhsulu. Bu yazıda biz sizə OpenEdge və Oracle-ı effektiv şəkildə necə dostlaşdıracağınızı bütün tələlərlə ətraflı izah edəcəyik.

Necə oldu: fayl mübadiləsi vasitəsilə məlumatların QCD-yə yüklənməsi

Birincisi, infrastrukturumuz haqqında bəzi faktlar. Məlumat bazasının aktiv istifadəçilərinin sayı təxminən 15 600 nəfərdir. Replika və gözləmə rejimi daxil olmaqla bütün məhsuldar verilənlər bazalarının həcmi 16,5 TB, ən böyük verilənlər bazası 120 TB-dir. Eyni zamanda, məlumat bazaları daim yenilənir: təkcə son bir ildə təxminən 150 TB məhsuldar məlumat əlavə edilmişdir. Sistem 86 x21 ön server tərəfindən dəstəklənir. Verilənlər bazaları XNUMX IBM platforması serverində yerləşdirilib.

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar
Ön sistemlər, müxtəlif ABS və bank xidmətləri Sonic ESB avtobusu vasitəsilə OpenEdge Progress (IBS BISKVIT) ilə inteqrasiya olunur. Məlumat fayl mübadiləsi vasitəsilə QCD-yə yüklənir. Müəyyən bir vaxta qədər belə bir həllin eyni anda iki böyük problemi var idi - məlumatların korporativ məlumat anbarına (CWD) yüklənməsinin aşağı performansı və digər sistemlərlə məlumatların uzlaşdırılmasını (uzlaşmasını) yerinə yetirmək üçün uzun müddət.
Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar
Ona görə də biz bu prosesləri sürətləndirə biləcək alət axtarmağa başladıq. Hər iki problemin həlli yeni Progress OpenEdge məhsulu idi - Pro2 CDC (Change Data Capture). Beləliklə, başlayaq.

Progress OpenEdge və Pro2Oracle quraşdırılması

Progress Oracle OpenEdge Developer Kit Classroom Edition ola bilər download pulsuz. Standart OpenEdge quraşdırma qovluqları:

DLC: C: ProgressOpenEdge
WRK: C: OpenEdgeWRK

ETL prosesləri Progress OpenEdge versiyası 11.7+ lisenziyalarını tələb edir - yəni Oracle üçün OE DataServer və 4GL İnkişaf Sistemi. Bu lisenziyalar Pro2-yə daxildir. Uzaqdan Oracle verilənlər bazası ilə Oracle üçün DataServer-in tam hüquqlu işləməsi üçün Tam Oracle Client quraşdırılmışdır.

Oracle serverində Oracle Database 12+ versiyasını quraşdırmalı, boş verilənlər bazası yaratmalı və istifadəçi əlavə etməlisiniz (gəlin ona zəng edək) cdc).

Pro2Oracle-ı quraşdırmaq üçün yükləmə mərkəzindən təzə paylama yükləyin Tərəqqi Proqramı. Arxivi qovluğa çıxarın C: Pro2 (Unix-də Pro2-ni konfiqurasiya etmək üçün eyni paylama istifadə olunur və eyni konfiqurasiya prinsipləri tətbiq olunur).

cdc replikasiya verilənlər bazası yaradılması

Replikasiya verilənlər bazası cdc (repl) Replikasiya xəritəsi, təkrarlanan verilənlər bazalarının adları və onların cədvəlləri daxil olmaqla, konfiqurasiya məlumatlarını saxlamaq üçün Pro2 tərəfindən istifadə olunur. O, həmçinin mənbə verilənlər bazasında cədvəl sətirinin dəyişməsi ilə bağlı qeydlərdən ibarət təkrarlama növbəsini ehtiva edir. Replikasiya növbəsi məlumatları ETL prosesləri tərəfindən mənbə verilənlər bazasından Oracle-a kopyalanmalı olan sətirləri müəyyən etmək üçün istifadə olunur.

Biz ayrıca verilənlər bazası cdc yaradırıq.

Baza yaratmaq proseduru

  1. Verilənlər bazası serverində biz cdc verilənlər bazası üçün kataloq yaradırıq - məsələn, serverdə /verilənlər bazası/cdc/.
  2. CDC verilənlər bazası üçün dummy yaradın: $DLC/boş cdc kopyalayın
  3. Böyük fayllar üçün dəstəyi aktivləşdirin: proutil cdc -C EnableLargeFiles
  4. Biz cdc verilənlər bazasını işə salmaq üçün skript hazırlayırıq. Başlanğıc parametrləri təkrarlanan verilənlər bazasının başlanğıc parametrlərinə oxşar olmalıdır.
  5. CDC verilənlər bazasına başlayırıq.
  6. CD məlumat bazasına qoşulun və fayldan Pro2 sxemini yükləyin cdc.dfPro2 ilə birlikdə olan .
  7. CDC verilənlər bazasında aşağıdakı istifadəçiləri yaradın:

pro2adm - Pro2 administrativ panelindən qoşulmaq üçün;
pro2etl - ETL proseslərini birləşdirmək üçün (ReplBatch);
pro2cdc - CDC proseslərini birləşdirmək üçün (CDCBatch);

OpenEdge Change Data Capture aktivləşdirilir

İndi CDC mexanizminin özünü işə salaq, onun köməyi ilə məlumatlar əlavə texnoloji sahəyə təkrarlanacaq. Hər bir mənbə Progress OpenEdge verilənlər bazasında mənbə məlumatlarının təkrarlanacağı ayrıca saxlama sahələri əlavə etməli və əmrdən istifadə edərək mexanizmin özünü aktivləşdirməlisiniz. proutil.

Biskvit verilənlər bazası üçün nümunə proseduru

  1. Kataloqdan kopyalayın C: Pro2db fayl cdcadd.st orijinal biskvit verilənlər bazası kataloquna.
  2. -də təsvir edirik cdcadd.st sahələr üçün sabit ölçülər "ReplCDCArea" и "ReplCDCArea_IDX". Onlayn olaraq yeni yaddaş sahələri əlavə edə bilərsiniz: prostrct addonline biskvit cdcadd.st
  3. OpenEdge CDC-ni aktivləşdirin:
    proutil bisquit -C enablecdc sahəsi "ReplCDCArea" indeksi "ReplCDCArea_IDX"
  4. Çalışan prosesləri müəyyən etmək üçün mənbə verilənlər bazasında aşağıdakı istifadəçilər yaradılmalıdır:
    a. pro2adm - Pro2 administrativ panelindən qoşulmaq üçün.
    b. pro2etl - ETL proseslərini birləşdirmək üçün (ReplBatch).
    c. pro2cdc - CDC proseslərini birləşdirmək üçün (CDCBatch).

Oracle üçün DataServer üçün Şema Sahibinin yaradılması

Bundan sonra, serverdə Progress DBMS-dən Oracle DBMS-ə verilənlərin təkrarlanacağı Sxema Holder verilənlər bazası yaratmalıyıq. DataServer Schema Holder, mənbə cədvəlləri və xarici Oracle cədvəlləri arasında xəritəçəkməni ehtiva edən istifadəçi və ya proqram məlumatı olmayan boş Progress OpenEdge verilənlər bazasıdır.

Pro2 üçün Oracle üçün OpenEdge DataServer for Progress for Schema Holder ETL proses serverində yerləşdirilməlidir və hər bir filial üçün ayrıca yaradılmışdır.

Şema Sahibini necə yaratmaq olar

  1. Pro2 paylanmasını qovluğa açın /pro2
  2. Kataloq yaradın və dəyişdirin /pro2/dbsh
  3. Komandadan istifadə edərək Schema Holder verilənlər bazasını yaradın $DLC/boş biskviti kopyalayın
  4. Dönüşümün həyata keçirilməsi biskvit tələb olunan kodlaşdırmaya daxil edin - məsələn, Oracle verilənlər bazasında UTF-8 kodlaması varsa, UTF-8-də: proutil bisquitsh -C convchar UTF-8 çevirir
  5. Boş verilənlər bazası yaratdıqdan sonra biskvit ona tək istifadəçi rejimində qoşulun: pro biskvit
  6. Məlumat Lüğətinə keçin: Alətlər -> Məlumat Lüğəti -> DataServer -> ORACLE Utilities -> DataServer Sxem yaradın
  7. Sxem Sahibini işə salın
  8. Oracle DataServer brokerini qurun:
    a. AdminServer-i işə salın.
    proadsv - başlanğıc
    b. Oracle DataServer Broker işə salınır
    oraman -orabroker adı1 -start

İnzibati panelin və təkrarlama sxeminin qurulması

Pro2 administrativ paneli replikasiya sxeminin qurulması və ETL prosesi proqramının yaradılması (Prosessor Kitabxanası), ilkin sinxronizasiya proqramları (Toplu Kopya Prosessoru), replikasiya tetikleyicileri və OpenEdge CDC siyasətləri daxil olmaqla Pro2 parametrlərini konfiqurasiya edir. ETL və CDC proseslərinin monitorinqi və idarə edilməsi üçün əsas alətlər də mövcuddur. Əvvəlcə parametr fayllarını quraşdırırıq.

Parametr fayllarını necə qurmaq olar

  1. Kataloqa keçin C:Pro2bpreplScripts
  2. Faylın redaktə üçün açılması replProc.pf
  3. cdc replikasiya verilənlər bazasına qoşulma parametrləri əlavə edin:
    # Replikasiya verilənlər bazası
    -db cdc -ld repl -H <əsas db hostname> -S <cdc db broker port>
    -U pro2admin -P <parol>
  4. əlavə edək replProc.pf mənbə verilənlər bazası ilə əlaqə parametrləri və parametr faylları kimi Şema Sahibi. Parametr faylının adı qoşulan mənbə verilənlər bazasının adına uyğun olmalıdır.
    # Bütün təkrarlanan mənbə BISQUIT-ə qoşulun
    -pf bpreplscriptsbisquit.pf
  5. əlavə edək replProc.pf Schema Holder ilə əlaqə parametrləri.
    #Target Pro DB Sxema Sahibi
    -db bisquitsh -ld bisquitsh
    -H <ETL proseslərinin ana adı>
    -S <biskuitsh broker port>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <Oracle broker hostname>
    -DataService orabroker1
  6. Parametrlər faylı saxlanılır replProc.pf
  7. Sonra, kataloqdakı hər bir qoşula bilən mənbə verilənlər bazası üçün parametr fayllarını redaktə etmək üçün yaratmalı və açmalısınız C:Pro2bpreplScripts: bisquit.pf. Hər bir pf faylı müvafiq verilənlər bazasına qoşulmaq üçün parametrləri müəyyən edir, məsələn:
    -db bisquit -ld biskvit -H <hostname> -S <broker port>
    -U pro2admin -P <parol>

Windows qısa yollarını konfiqurasiya etmək üçün kataloqa keçin C:Pro2bpreplScripts və "Pro2 - İdarəetmə" etiketini redaktə edin. Bunu etmək üçün qısayol və sətirdəki xüsusiyyətləri açın Başlayın Pro2 quraşdırma kataloqunu təyin edin. Bənzər bir əməliyyat "Pro2 - Redaktor" və "RunBulkLoader" qısa yolları üçün edilməlidir.

Pro2 Administrasiya Quraşdırma: Əsas Konfiqurasiyanı Yükləyin

Konsolu işə salırıq.

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar

"DB xəritəsi"nə keçin.

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar

Pro2 - İdarəetmədə verilənlər bazalarını əlaqələndirmək üçün nişana keçin db xəritəsi. Mənbə verilənlər bazası xəritəsinin əlavə edilməsi - Sxem Sahibi - Oracle.

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar

Taba keçin Xəritəçəkmə. Siyahıda Mənbə verilənlər bazası defolt olaraq, ilk qoşulmuş mənbə verilənlər bazası seçilir. Siyahının sağında yazı olmalıdır Bütün Verilənlər Bazaları Bağlıdır — seçilmiş əsaslar birləşdirilir. Aşağıda, solda, biskvitdən irəliləyiş cədvəllərinin siyahısını görməlisiniz. Sağda Oracle verilənlər bazasından cədvəllərin siyahısı var.

Oracle-da SQL Sxemlərinin və Verilənlər Bazalarının yaradılması

Replikasiya xəritəsi yaratmaq üçün əvvəlcə yaratmalısınız SQL sxemi Oracle-da. Pro2 Administrasiyasında menyu elementini yerinə yetirin Alətlər -> Kod Yarat -> Hədəf Sxem, sonra dialoq qutusunda Database seçin bir və ya bir neçə mənbə verilənlər bazasını seçin və onları sağa köçürün.

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar

OK düyməsini basın və SQL sxemlərini saxlamaq üçün qovluğu seçin.

Sonra, baza yaradırıq. Bu, məsələn, vasitəsilə edilə bilər Oracle SQL Developer. Bunun üçün biz Oracle verilənlər bazasına qoşuluruq və cədvəllərin əlavə edilməsi üçün sxemi yükləyirik. Oracle cədvəllərinin tərkibini dəyişdirdikdən sonra Sxema Holder-də SQL sxemlərini yeniləməlisiniz.

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar

Yükləmə uğurla başa çatdıqdan sonra bisquitsh verilənlər bazasından çıxın və Pro2 administrativ panelini açın. Oracle verilənlər bazasındakı cədvəllər sağdakı Xəritəçəkmə nişanında görünməlidir.

Cədvəlin xəritələşdirilməsi

Pro2 administrativ panelində replikasiya xəritəsi yaratmaq üçün Xəritəçəkmə sekmesine keçin, mənbə verilənlər bazasını seçin. Xəritə Cədvəlləri üzərinə klikləyirik, solda seçin Oracle-da təkrarlanmalı olan cədvəlləri Dəyişiklikləri seçin, onları sağa köçürün və seçimi təsdiqləyin. Seçilmiş cədvəllər üçün avtomatik olaraq xəritə yaradılacaq. Digər mənbə verilənlər bazaları üçün təkrarlama xəritəsi yaratmaq üçün əməliyyatı təkrar edirik.

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar

Pro2 Replikasiya Prosessor Kitabxanası və Toplu Kopiya Prosessor Proqramları yaradın

Prosessor Kitabxanası Pro2 replikasiya növbəsini emal edən və dəyişiklikləri Oracle verilənlər bazasına təkan verən xüsusi təkrarlama prosesləri (ETL) üçündür. Replikasiya prosessorunun kitabxana proqramları nəsildən sonra avtomatik olaraq kataloqda saxlanılır bprepl/repl_proc (PROC_DIRECTORY parametri). Replikasiya prosessorunun kitabxanasını yaratmaq üçün bura keçin Alətlər -> Kod Yarat -> Prosessor Kitabxanası. Nəsil tamamlandıqdan sonra proqramlar kataloqda görünəcək bprepl/repl_proc.

Toplu yükləyici proqramlar mənbə Progress verilənlər bazalarını Progress ABL (4GL) proqramlaşdırma dili əsasında hədəf Oracle verilənlər bazası ilə sinxronlaşdırmaq üçün istifadə olunur. Onları yaratmaq üçün menyu elementinə keçin Alətlər -> Kod Yarat -> Toplu Kopiya Prosessoru. Database seçin dialoq qutusunda mənbə verilənlər bazalarını seçin, onları pəncərənin sağ tərəfinə köçürün və klikləyin OK. Nəsil tamamlandıqdan sonra proqramlar kataloqda görünəcək bpreplrepl_mpoc.

Pro2-də replikasiya proseslərinin qurulması

Cədvəllərin ayrıca replikasiya xətti ilə xidmət edilən dəstlərə bölünməsi Pro2 Oracle-ın performansını və səmərəliliyini artırır. Varsayılan olaraq, yeni replikasiya cədvəlləri üçün replikasiya xəritəsində yaradılmış bütün keçidlər 1 nömrəli axınla bağlıdır. Cədvəlləri müxtəlif axınlara bölmək tövsiyə olunur.

Replikasiya axınlarının statusu haqqında məlumat Replikasiya Vəziyyəti bölməsindəki Monitor nişanında Pro2 İdarəetmə ekranında göstərilir. Parametr dəyərlərinin ətraflı təsviri Pro2 sənədlərində (C:Pro2Docs kataloqu) tapıla bilər.

CDC siyasətlərinin yaradılması və aktivləşdirilməsi

Siyasətlər cədvəllərdə dəyişiklikləri izləyən OpenEdge CDC mühərriki üçün qaydalar toplusudur. Yazı zamanı Pro2 yalnız 0 səviyyəli CDC siyasətlərini dəstəkləyir, yəni yalnız fakt izlənilir dəyişiklikləri qeyd edin.

İnzibati paneldə CDC siyasəti yaratmaq üçün Xəritəçəkmə sekmesine keçin, mənbə verilənlər bazasını seçin və Siyasətləri Əlavə et/Sil düyməsini klikləyin. Açılan Dəyişiklikləri Seçin pəncərəsində, sol tərəfdə seçin və CDC siyasətini yaratmaq və ya silmək üçün lazım olan sağ cədvəllərə köçürün.

Yenidən aktivləşdirmək üçün Xəritəçəkmə sekmesini açın, mənbə verilənlər bazasını seçin və düyməni basın (In) Siyasətləri Aktivləşdirin. Siyasətləri aktivləşdirilməli olan cədvəlin sağ tərəfinə keçin və OK düyməsini basın. Bundan sonra onlar yaşıl rənglə qeyd olunur. İstifadə etməklə (In) Siyasətləri Aktivləşdirin siz həmçinin CDC siyasətlərini deaktiv edə bilərsiniz. Bütün əməliyyatlar onlayn həyata keçirilir.

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar

CDC siyasəti aktivləşdirildikdən sonra dəyişdirilmiş qeydlər haqqında qeydlər saxlama sahəsində saxlanılır "ReplCDCArea" orijinal verilənlər bazasına uyğun olaraq. Bu qeydlər xüsusi bir proseslə idarə olunacaq CDCBatch, bunlar əsasında verilənlər bazasında Pro2 replikasiya növbəsində qeydlər yaradacaq cdc (repl).

Beləliklə, təkrarlama üçün iki növbəmiz var. Birinci növbə CDCBatch-dir: mənbə verilənlər bazasından verilənlər əvvəlcə aralıq CDC verilənlər bazasına daxil olur. İkinci mərhələ məlumatların CDC verilənlər bazasından Oracle-a ötürülməsidir. Bu, hazırkı arxitekturanın və məhsulun özünün bir xüsusiyyətidir - tərtibatçılar birbaşa replikasiya qura bilənə qədər.

İlkin sinxronizasiya

CDC mexanizmini işə saldıqdan və Pro2 replikasiya serverini konfiqurasiya etdikdən sonra ilkin sinxronizasiyaya başlamalıyıq. Əsas sinxronizasiya başlanğıc əmri:

/pro2/bprepl/Script/replLoad.sh biskvit cədvəlinin adı

İlkin sinxronizasiya tamamlandıqdan sonra siz replikasiya proseslərinə başlaya bilərsiniz.

Replikasiya proseslərinin başlaması

Replikasiya proseslərinə başlamaq üçün skripti icra etməlisiniz replbatch.sh. Başlamazdan əvvəl replbatch skriptlərinin bütün mövzular üçün mövcud olduğundan əmin olun - replbatch1, replbatch2 və s. Hər şey yerindədirsə, əmr satırını açın (məsələn, proenv), kataloqa keçin /bprepl/skriptlər və skripti işə salın. İnzibati paneldə müvafiq prosesin RUNNING statusunu aldığını yoxlayırıq.

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar

Tapıntılar

Progress OpenEdge bank sistemi və Oracle DBMS ilə necə dostluq etmək olar
Tətbiq edildikdən sonra biz məlumatların korporativ məlumat anbarına yüklənməsini xeyli sürətləndirdik. Məlumat müstəqil olaraq Oracle-a onlayn daxil olur. Müxtəlif sistemlərdən məlumat toplamaq üçün bəzi uzunmüddətli sorğuların icrasına vaxt itirməyə ehtiyac yoxdur. Bundan əlavə, bu həlldə təkrarlama prosesi məlumatları sıxışdıra bilər ki, bu da sürətə müsbət təsir göstərir. İndi BISKVIT sisteminin digər sistemlərlə gündəlik uzlaşdırılması 15-20 saat əvəzinə 2-2,5 dəqiqə çəkməyə başladı və tam uzlaşma iki gün əvəzinə bir neçə saat çəkdi.

Mənbə: www.habr.com

Добавить комментарий