Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS

Wiwit taun 1999, kanggo nglayani kantor mburi, bank kita wis nggunakake sistem perbankan terpadu BISKVIT ing platform Progress OpenEdge, sing akeh digunakake ing saindenging jagad, kalebu ing sektor finansial. Kinerja DBMS iki ngidini sampeyan maca nganti yuta utawa luwih cathetan saben detik ing siji database (DB). Layanan Progress OpenEdge kita udakara 1,5 yuta simpenan individu lan udakara 22,2 yuta kontrak kanggo produk aktif (utang mobil lan hipotek), lan uga tanggung jawab kanggo kabeh pemukiman karo regulator (Bank Pusat) lan SWIFT.

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS

Nggunakake Progress OpenEdge, kita ngadhepi kabutuhan supaya bisa digunakake karo Oracle DBMS. Kaping pisanan, bundel iki minangka kemacetan infrastruktur kita - nganti kita nginstal lan ngatur Pro2 CDC - produk Progress sing ngidini sampeyan ngirim data saka Progress DBMS menyang Oracle DBMS langsung, online. Ing kirim iki kita bakal pitutur marang kowe rinci, karo kabeh pitfalls, carane èfèktif nggawe kanca antarane OpenEdge lan Oracle.

Kepiye kedadeyan: ngunggah data menyang QCD liwat file sharing

Kaping pisanan, sawetara fakta babagan infrastruktur kita. Jumlah pangguna aktif database kira-kira 15 ewu. Volume kabeh basis data produktif, kalebu replika lan siyaga, yaiku 600 TB, basis data paling gedhe yaiku 16,5 TB. Ing wektu sing padha, database terus diisi maneh: sajrone taun kepungkur, udakara 120 TB data produktif wis ditambahake. Sistem iki didhukung dening 150 server ngarep ing platform x86. Basis data kasebut di-host ing 21 server platform IBM.

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS
Sistem ngarep, macem-macem sistem perbankan inti lan layanan perbankan digabungake karo OpenEdge Progress (BISCUIT IBS) liwat bus Sonic ESB. Ngunggah data menyang QCD dumadi liwat ijol-ijolan file. Nganti wektu tartamtu, solusi iki duwe loro masalah gedhe sekaligus - kinerja kurang ngunggah informasi menyang gudang data perusahaan (CDW) lan wektu suwe kanggo nindakake rekonsiliasi data (rekonsiliasi) karo sistem liyane.
Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS
Mulane, kita wiwit nggoleki alat sing bisa nyepetake proses kasebut. Solusi kanggo loro masalah kasebut yaiku produk Progress OpenEdge anyar - Pro2 CDC (Ganti Data Capture). Dadi, ayo miwiti.

Instal Progress OpenEdge lan Pro2Oracle

Kanggo mbukak Pro2 Oracle ing komputer Windows administrator, cukup nginstal Progress OpenEdge Developer Kit Classroom Edition, sing bisa ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ gratis. Direktori instalasi OpenEdge standar:

DLC: C:ProgressOpenEdge
WRK: C: OpenEdgeWRK

Proses ETL mbutuhake lisensi Progress OpenEdge versi 11.7+ - yaiku OE DataServer kanggo Oracle lan Sistem Pengembangan 4GL. Lisensi iki kalebu karo Pro2. Kanggo operasi lengkap DataServer kanggo Oracle karo database Oracle remot, Full Oracle Klien diinstal.

Ing server Oracle sampeyan kudu nginstal Oracle Database 12+, nggawe database kosong lan nambah pangguna (ayo nelpon dheweke cdc).

Kanggo nginstal Pro2Oracle, download distribusi paling anyar saka pusat download Piranti Lunak Kemajuan. Unpack arsip menyang direktori C: Pro2 (Kanggo ngatur Pro2 ing Unix, distribusi sing padha digunakake lan prinsip konfigurasi sing padha ditrapake).

Nggawe database replikasi cdc

Database replikasi cdc (repl) Pro2 digunakake kanggo nyimpen informasi konfigurasi, kalebu peta replikasi, jeneng database replikasi lan tabel. Uga ngemot antrian replikasi, kalebu cathetan babagan kasunyatan manawa baris tabel ing basis data sumber wis diganti. Data saka antrian replikasi digunakake dening proses ETL kanggo ngenali baris sing kudu disalin menyang Oracle saka database sumber.

Kita nggawe database cdc sing kapisah.

Prosedur kanggo nggawe database

  1. Ing server database kita nggawe direktori kanggo database cdc - contone, ing server /database/cdc/.
  2. Nggawe dummy kanggo database cdc: procopy $DLC/cdc kosong
  3. Aktifake dhukungan kanggo file gedhe: proutil cdc -C EnableLargeFiles
  4. Kita nyiapake script kanggo miwiti database cdc. Paramèter wiwitan kudu padha karo paramèter wiwitan saka basis data sing ditiru.
  5. Kita miwiti database cdc.
  6. Sambungake menyang database cdc lan mbukak skema Pro2 saka file cdc.df, sing kalebu karo Pro2.
  7. Kita nggawe pangguna ing ngisor iki ing database cdc:

pro2adm - kanggo nyambungake saka panel administratif Pro2;
pro2etl - kanggo nyambungake proses ETL (ReplBatch);
pro2cdc - kanggo nyambungake proses CDC (CDCBatch);

Ngaktifake OpenEdge Ganti Data Capture

Saiki ayo nguripake mekanisme CDC dhewe, kanthi bantuan data sing bakal ditiru menyang area teknologi tambahan. Kanggo saben database sumber OpenEdge Progress, sampeyan kudu nambah area panyimpenan sing kapisah ing ngendi data sumber bakal diduplikasi, lan ngaktifake mekanisme kasebut kanthi nggunakake printah kasebut. proutil.

Conto prosedur kanggo database bisquit

  1. Nyalin saka katalog C: Pro2db ngajukake cdcadd.st menyang direktori database sumber bisquit.
  2. We njlèntrèhaké ing cdcadd.st extents ukuran tetep kanggo wilayah "ReplCDCArea" и "ReplCDCArea_IDX". Sampeyan bisa nambah area panyimpenan anyar kanthi online: prostrct addonline bisquit cdcadd.st
  3. Aktifake OpenEdge CDC:
    proutil bisquit -C enablecdc area "ReplCDCArea" indeksarea "ReplCDCArea_IDX"
  4. Pangguna ing ngisor iki kudu digawe ing basis data sumber kanggo ngenali proses sing mlaku:
    a. pro2adm - kanggo nyambungake saka panel administratif Pro2.
    b. pro2etl - kanggo nyambungake proses ETL (ReplBatch).
    c. pro2cdc - kanggo nyambungake proses CDC (CDCBatch).

Nggawe Pemegang Skema kanggo DataServer kanggo Oracle

Sabanjure, kita kudu nggawe database Schema Holder ing server ing ngendi data saka Progress DBMS bakal direplikasi menyang Oracle DBMS. DataServer Schema Holder minangka database Progress OpenEdge kosong tanpa pangguna utawa data aplikasi, ngemot peta korespondensi antarane tabel sumber lan tabel Oracle eksternal.

Basis data Schema Holder kanggo Progress OpenEdge DataServer kanggo Oracle kanggo Pro2 kudu dumunung ing server proses ETL; digawe kanthi kapisah kanggo saben cabang.

Carane nggawe Schema Holder

  1. Unpack distribusi Pro2 menyang direktori /pro2
  2. Nggawe lan pindhah menyang direktori /pro2/dbsh
  3. Nggawe database Schema Holder nggunakake printah nyalin $ DLC / bisquitsh kosong
  4. Nindakake konversi biskuit menyang enkoding sing dibutuhake - contone, ing UTF-8 yen database Oracle duwe enkoding UTF-8: proutil bisquitsh -C convchar ngonversi UTF-8
  5. Sawise nggawe database kosong biskuit nyambung menyang mode pangguna siji: pro biskuit
  6. Ayo menyang Kamus Data: Piranti -> Kamus Data -> DataServer -> Utilitas ORACLE -> Gawe Skema DataServer
  7. Bukak Schema Holder
  8. Nggawe broker Oracle DataServer:
    a. Miwiti AdminServer.
    proadsv -wiwitan
    b. Miwiti broker Oracle DataServer
    oraman -jeneng orabroker1 -wiwitan

Nyetel panel administratif lan skema replikasi

Nggunakake panel administratif Pro2, parameter Pro2 dikonfigurasi, kalebu nyetel skema replikasi lan ngasilake proses ETL (Perpustakaan Prosesor), program sinkronisasi utami (Bulk-Copy Processor), pemicu replikasi lan kabijakan OpenEdge CDC. Ana uga alat utama kanggo ngawasi lan ngatur proses ETL lan CDC. Kaping pisanan, kita nyiyapake file parameter.

Cara ngatur file parameter

  1. Pindhah menyang katalog C:Pro2bpreplScripts
  2. Bukak file kanggo nyunting replProc.pf
  3. Tambah parameter sambungan menyang database replikasi cdc:
    # Database Replikasi
    -db cdc -ld repl -H <nama host database utama> -S <port broker database cdc>
    -U pro2admin -P <sandi>
  4. Tambah menyang replProc.pf paramèter sambungan menyang database sumber lan Schema Holder ing wangun file parameter. Jeneng file parameter kudu cocog karo jeneng database sumber sing disambungake.
    # Sambungake menyang kabeh sumber replikasi BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Tambah menyang replProc.pf paramèter kanggo nyambung menyang Schema Holder.
    #Target Pro DB Schema Holder
    -db bisquitsh -ld bisquitsh
    -H <jeneng host proses ETL>
    -S <port broker biskuitsh>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <jeneng host broker Oracle>
    -DataService orabroker1
  6. Simpen file parameter replProc.pf
  7. Sabanjure, sampeyan kudu nggawe lan mbukak kanggo ngowahi file parameter kanggo saben database sumber sing disambungake ing direktori C:Pro2bpreplScripts: bisquit.pf. Saben file pf ngemot paramèter kanggo nyambung menyang database sing cocog, contone:
    -db bisquit -ld bisquit -H <hostname> -S <broker port>
    -U pro2admin -P <sandi>

Kanggo ngatur trabasan Windows, sampeyan kudu pindhah menyang direktori C:Pro2bpreplScripts lan sunting trabasan "Pro2 - Administrasi". Kanggo nindakake iki, bukak properti trabasan lan ing baris Miwiti ing nuduhake direktori instalasi Pro2. Operasi sing padha kudu ditindakake kanggo trabasan "Pro2 - Editor" lan "RunBulkLoader".

Persiyapan Administrasi Pro2: Ngunggah Konfigurasi Awal

Ayo miwiti console.

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS

Pindhah menyang "Peta DB".

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS

Kanggo ngubungake database ing Pro2 - Administrasi, pindhah menyang tab Peta DB. Tambah pemetaan database sumber - Skema Holder - Oracle.

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS

Pindhah menyang tab mapping. kadhaptar Sumber Database Kanthi gawan, database sumber sing kasambung pisanan dipilih. Ing sisih tengen dhaptar kudu ana prasasti Kabeh Database Disambungake β€” database sing dipilih disambungake. Ngisor ing sisih kiwa sampeyan kudu ndeleng dhaptar tabel Progress saka bisquit. Ing sisih tengen ana dhaptar tabel saka database Oracle.

Nggawe skema lan database SQL ing Oracle

Kanggo nggawe peta replikasi, sampeyan kudu nggawe Skema SQL ing Oracle. Ing Administrasi Pro2 kita nglakokake item menu Tools -> Generate Code -> Target Schema, banjur ing kothak dialog Pilih Database pilih siji utawa luwih database sumber lan pindhah menyang tengen.

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS

Klik OK lan pilih direktori kanggo nyimpen skema SQL.

Sabanjure kita nggawe dhasar. Iki bisa rampung, contone, liwat Pangembang SQL Oracle. Kanggo nindakake iki, kita nyambung menyang database Oracle lan mbukak skema kanggo nambah tabel. Sawise ngganti komposisi tabel Oracle, sampeyan kudu nganyari skema SQL ing Schema Holder.

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS

Sawise download kasil rampung, metu saka database bisquitsh lan mbukak panel administratif Pro2. Tabel saka database Oracle kudu katon ing tab Mapping ing sisih tengen.

Pemetaan tabel

Kanggo nggawe peta replikasi, ing panel administratif Pro2, pindhah menyang tab Pemetaan lan pilih database sumber. Klik ing Tabel Peta, pilih Pilih Owah-owahan ing sisih kiwa tabel sing kudu ditiru ing Oracle, pindhah menyang sisih tengen lan konfirmasi pilihan kasebut. Peta bakal digawe kanthi otomatis kanggo tabel sing dipilih. Kita mbaleni operasi kanggo nggawe peta replikasi kanggo database sumber liyane.

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS

Ngasilake Pustaka Prosesor Replikasi Pro2 lan Program Prosesor Salin Massal

Pustaka Prosesor Replikasi dirancang kanggo pangolahan replikasi khusus (ETL) sing ngolah antrian replikasi Pro2 lan owah-owahan push menyang database Oracle. Program perpustakaan prosesor replikasi disimpen kanthi otomatis menyang direktori sawise generasi bprepl/repl_proc (parameter PROC_DIRECTORY). Kanggo generate perpustakaan prosesor replikasi, pindhah menyang Tools -> Generate Code -> Library Processor. Sawise generasi wis rampung, program bakal katon ing direktori bprepl/repl_proc.

Program Prosesor Muatan Bulk digunakake kanggo nyinkronake database Progress sumber karo database Oracle target adhedhasar basa program Progress ABL (4GL). Kanggo ngasilake, pindhah menyang item menu Tools -> Generate Code -> Prosesor Salin Massal. Ing kothak dialog Pilih Database, pilih database sumber, pindhah menyang sisih tengen jendhela lan klik OK. Sawise generasi wis rampung, program bakal katon ing direktori bpreplrepl_mproc.

Nggawe proses replikasi ing Pro2

Pisah tabel dadi set sing dilayani dening benang replikasi sing kapisah nambah kinerja lan efisiensi Pro2 Oracle. Kanthi gawan, kabeh sambungan sing digawe ing peta rΓ©plikasi kanggo tabel rΓ©plikasi anyar digandhengake karo nomer thread 1. Disaranake misahake tabel dadi benang sing beda.

Informasi babagan status thread replikasi ditampilake ing layar Administrasi Pro2 ing tab Monitor ing bagean Status Replikasi. Katrangan rinci babagan nilai parameter bisa ditemokake ing dokumentasi Pro2 (direktori C:Pro2Docs).

Nggawe lan ngaktifake kabijakan CDC

Kawicaksanan minangka aturan kanggo mesin OpenEdge CDC kanggo ngawasi owah-owahan ing tabel. Nalika nulis, Pro2 mung ndhukung kabijakan CDC kanthi level 0, yaiku, mung kasunyatan sing dipantau owah-owahan rekaman.

Kanggo nggawe kabijakan CDC, ing panel administratif, pindhah menyang tab Pemetaan, pilih database sumber lan klik tombol Tambah / Mbusak Kabijakan. Ing jendhela Pilih Owah-owahan sing mbukak, pilih ing sisih kiwa lan pindhah menyang sisih tengen tabel sing sampeyan kudu nggawe utawa mbusak kabijakan CDC.

Kanggo ngaktifake, bukak tab Pemetaan maneh, pilih database sumber banjur klik tombol (Ing)Aktifake Kabijakan. Pilih lan pindhah menyang sisih tengen meja kawicaksanan sing kudu diaktifake, klik OK. Sawise iki ditandhani kanthi warna ijo. Kanthi nggunakake (Ing)Aktifake Kabijakan Sampeyan uga bisa mateni kabijakan CDC. Kabeh transaksi ditindakake kanthi online.

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS

Sawise kabijakan CDC diaktifake, cathetan babagan rekaman sing diowahi disimpen ing area panyimpenan "ReplCDCArea" miturut basis data sumber. Cathetan iki bakal diproses liwat proses khusus CDCBatch, sing adhedhasar bakal nggawe cathetan ing antrian replikasi Pro2 ing database cdc (repl).

Mangkono, kita duwe rong antrian kanggo replikasi. Tahap pisanan yaiku CDCBatch: saka basis data sumber, data pisanan menyang database CDC penengah. Tahap kapindho yaiku nalika data ditransfer saka database CDC menyang Oracle. Iki minangka fitur arsitektur saiki lan produk kasebut dhewe - nganti saiki para pangembang durung bisa nggawe replikasi langsung.

Sinkronisasi utami

Sawise ngaktifake mekanisme CDC lan nyetel server replikasi Pro2, kita kudu miwiti sinkronisasi awal. Perintah sinkronisasi awal:

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

Sawise sinkronisasi wiwitan rampung, proses replikasi bisa diwiwiti.

Miwiti proses replikasi

Kanggo miwiti pangolahan replikasi sampeyan kudu mbukak script replbatch.sh. Sadurunge miwiti, priksa manawa ana skrip replbatch kanggo kabeh utas - replbatch1, replbatch2, lsp. Yen kabeh wis ana, bukak baris perintah (contone, proenv), pindhah menyang direktori /bprepl/skrip lan miwiti script. Ing panel administratif, kita priksa manawa proses sing cocog wis nampa status RUNNING.

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Carane nggawe kanca antarane Progress OpenEdge sistem perbankan lan Oracle DBMS
Sawise implementasine, kita nyepetake upload informasi menyang gudang data perusahaan. Data kasebut kanthi otomatis mlebu menyang Oracle online. Ora perlu mbuwang wektu nglakokake sawetara pitakon sing wis suwe kanggo ngumpulake data saka sistem sing beda-beda. Kajaba iku, ing solusi iki proses replikasi bisa ngompres data, sing uga nduwe pengaruh positif ing kacepetan. Saiki rekonsiliasi saben dina sistem BISKVIT karo sistem liyane wiwit njupuk 15-20 menit tinimbang 2-2,5 jam, lan rekonsiliasi lengkap njupuk sawetara jam tinimbang rong dina.

Source: www.habr.com

Add a comment