Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Sejak tahun 1999, untuk menyediakan perkhidmatan di pejabat belakang, bank kami telah menggunakan sistem perbankan bersepadu BISKVIT pada platform Progress OpenEdge, yang digunakan secara meluas di seluruh dunia, termasuk dalam sektor kewangan. Prestasi DBMS ini membolehkan anda membaca sehingga satu juta atau lebih rekod sesaat dalam satu pangkalan data (DB). Perkhidmatan OpenEdge Progress kami kira-kira 1,5 juta deposit individu dan kira-kira 22,2 juta kontrak untuk produk aktif (pinjaman kereta dan gadai janji), dan juga bertanggungjawab untuk semua penyelesaian dengan pengawal selia (Bank Pusat) dan SWIFT.

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Menggunakan Progress OpenEdge, kami berhadapan dengan keperluan untuk menjadikannya berfungsi dengan Oracle DBMS. Pada mulanya, himpunan ini merupakan hambatan infrastruktur kami - sehingga kami memasang dan mengkonfigurasi Pro2 CDC - produk Progress yang membolehkan anda menghantar data daripada DBMS Kemajuan kepada Oracle DBMS secara terus, dalam talian. Dalam siaran ini kami akan memberitahu anda secara terperinci, dengan semua perangkap, cara berkawan dengan berkesan antara OpenEdge dan Oracle.

Bagaimana ia berlaku: memuat naik data ke QCD melalui perkongsian fail

Pertama, beberapa fakta tentang infrastruktur kami. Bilangan pengguna aktif pangkalan data adalah kira-kira 15 ribu. Jumlah semua pangkalan data produktif, termasuk replika dan siap sedia, ialah 600 TB, pangkalan data terbesar ialah 16,5 TB. Pada masa yang sama, pangkalan data sentiasa diisi semula: sepanjang tahun lepas sahaja, kira-kira 120 TB data produktif telah ditambah. Sistem ini dikuasakan oleh 150 pelayan hadapan pada platform x86. Pangkalan data dihoskan pada 21 pelayan platform IBM.

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS
Sistem hadapan, pelbagai sistem perbankan teras dan perkhidmatan perbankan disepadukan dengan OpenEdge Progress (BISCUIT IBS) melalui bas Sonic ESB. Memuat naik data ke QCD berlaku melalui pertukaran fail. Sehingga satu ketika tertentu, penyelesaian ini mempunyai dua masalah besar sekaligus - prestasi rendah untuk memuat naik maklumat ke dalam gudang data korporat (CDW) dan masa yang lama untuk melakukan penyesuaian data (rekonsiliasi) dengan sistem lain.
Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS
Oleh itu, kami mula mencari alat yang boleh mempercepatkan proses ini. Penyelesaian kepada kedua-dua masalah ialah produk Progress OpenEdge baharu – Pro2 CDC (Tukar Tangkapan Data). Jadi, mari kita mulakan.

Pasang Progress OpenEdge dan Pro2Oracle

Untuk menjalankan Pro2 Oracle pada komputer Windows pentadbir, sudah cukup untuk memasang Progress OpenEdge Developer Kit Classroom Edition, yang boleh memuat turun secara percuma. Direktori pemasangan OpenEdge lalai:

DLC: C:ProgressOpenEdge
WRK: C:OpenEdgeWRK

Proses ETL memerlukan lesen Progress OpenEdge versi 11.7+ - iaitu OE DataServer untuk Oracle dan Sistem Pembangunan 4GL. Lesen ini disertakan dengan Pro2. Untuk operasi penuh DataServer untuk Oracle dengan pangkalan data Oracle jauh, Full Oracle Client dipasang.

Pada pelayan Oracle anda perlu memasang Pangkalan Data Oracle 12+, buat pangkalan data kosong dan tambah pengguna (mari panggil dia cdc).

Untuk memasang Pro2Oracle, muat turun pengedaran terkini dari pusat muat turun Perisian Progress. Buka pek arkib ke dalam direktori C:Pro2 (Untuk mengkonfigurasi Pro2 pada Unix, pengedaran yang sama digunakan dan prinsip konfigurasi yang sama digunakan).

Mencipta pangkalan data replikasi cdc

Pangkalan data replikasi cdc (repl) Pro2 digunakan untuk menyimpan maklumat konfigurasi, termasuk peta replikasi, nama pangkalan data yang direplikasi dan jadualnya. Ia juga mengandungi baris gilir replikasi, yang terdiri daripada nota tentang fakta bahawa baris jadual dalam pangkalan data sumber telah berubah. Data daripada baris gilir replikasi digunakan oleh proses ETL untuk mengenal pasti baris yang perlu disalin ke Oracle daripada pangkalan data sumber.

Kami sedang mencipta pangkalan data cdc yang berasingan.

Prosedur untuk mencipta pangkalan data

  1. Pada pelayan pangkalan data kami mencipta direktori untuk pangkalan data cdc - sebagai contoh, pada pelayan /pangkalan data/cdc/.
  2. Buat dummy untuk pangkalan data cdc: procopy $DLC/cdc kosong
  3. Dayakan sokongan untuk fail besar: proutil cdc -C EnableLargeFiles
  4. Kami menyediakan skrip untuk memulakan pangkalan data cdc. Parameter permulaan mestilah serupa dengan parameter permulaan pangkalan data yang direplikasi.
  5. Kami memulakan pangkalan data cdc.
  6. Sambung ke pangkalan data cdc dan muatkan skema Pro2 daripada fail cdc.df, yang disertakan dengan Pro2.
  7. Kami mencipta pengguna berikut dalam pangkalan data cdc:

pro2adm – untuk menyambung daripada panel pentadbiran Pro2;
pro2etl – untuk menyambungkan proses ETL (ReplBatch);
pro2cdc – untuk menyambungkan proses CDC (CDCBatch);

Mengaktifkan OpenEdge Change Data Capture

Sekarang mari kita hidupkan mekanisme CDC itu sendiri, dengan bantuan data yang akan direplikasi ke kawasan teknologi tambahan. Untuk setiap pangkalan data sumber Progress OpenEdge, anda perlu menambah kawasan storan berasingan di mana data sumber akan diduplikasi, dan mengaktifkan mekanisme itu sendiri menggunakan arahan proutil.

Contoh prosedur untuk pangkalan data bisquit

  1. Menyalin daripada katalog C:Pro2db fail cdcadd.st ke direktori pangkalan data sumber bisquit.
  2. Kami menerangkan dalam cdcadd.st takat saiz tetap untuk wilayah "ReplCDCArea" ΠΈ "ReplCDCArea_IDX". Anda boleh menambah kawasan storan baharu dalam talian: prostrct addonline bisquit cdcadd.st
  3. Aktifkan OpenEdge CDC:
    proutil bisquit -C enablecdc kawasan "ReplCDCArea" indexarea "ReplCDCArea_IDX"
  4. Pengguna berikut mesti dibuat dalam pangkalan data sumber untuk mengenal pasti proses yang sedang berjalan:
    a. pro2adm – untuk menyambung daripada panel pentadbiran Pro2.
    b. pro2etl – untuk menyambungkan proses ETL (ReplBatch).
    c. pro2cdc – untuk menyambungkan proses CDC (CDCBatch).

Mencipta Pemegang Skema untuk Pelayan Data untuk Oracle

Seterusnya, kita perlu mencipta pangkalan data Pemegang Skema pada pelayan di mana data daripada DBMS Kemajuan akan direplikasi kepada DBMS Oracle. Pemegang Skema DataServer ialah pangkalan data Progress OpenEdge kosong tanpa pengguna atau data aplikasi, yang mengandungi peta surat-menyurat antara jadual sumber dan jadual Oracle luaran.

Pangkalan data Pemegang Skema untuk Progress OpenEdge DataServer untuk Oracle untuk Pro2 mesti terletak pada pelayan proses ETL; ia dicipta secara berasingan untuk setiap cawangan.

Bagaimana untuk mencipta Pemegang Skema

  1. Buka pek pengedaran Pro2 ke dalam direktori /pro2
  2. Buat dan pergi ke direktori /pro2/dbsh
  3. Buat pangkalan data Pemegang Skema menggunakan arahan salin $DLC/bisquitsh kosong
  4. Melakukan penukaran bisquitsh ke dalam pengekodan yang diperlukan - contohnya, dalam UTF-8 jika pangkalan data Oracle mempunyai pengekodan UTF-8: proutil bisquitsh -C convchar menukar UTF-8
  5. Selepas mencipta pangkalan data kosong bisquitsh sambung kepadanya dalam mod pengguna tunggal: pro bisquitsh
  6. Mari pergi ke Kamus Data: Alat -> Kamus Data -> Pelayan Data -> Utiliti ORACLE -> Cipta Skema Pelayan Data
  7. Lancarkan Pemegang Skema
  8. Menyediakan broker Oracle DataServer:
    a. Mulakan AdminServer.
    proadsv -mula
    b. Permulaan broker Oracle DataServer
    oraman -nama orabroker1 -mula

Menyediakan panel pentadbiran dan skema replikasi

Menggunakan panel pentadbiran Pro2, parameter Pro2 dikonfigurasikan, termasuk menyediakan skema replikasi dan menjana proses ETL (Perpustakaan Pemproses), program penyegerakan utama (Pemproses Salin Pukal), pencetus replikasi dan dasar CDC OpenEdge. Terdapat juga alat utama untuk memantau dan mengurus proses ETL dan CDC. Pertama sekali, kami menyediakan fail parameter.

Bagaimana untuk mengkonfigurasi fail parameter

  1. Pergi ke katalog C:Pro2bpreplScripts
  2. Buka fail untuk diedit replProc.pf
  3. Tambah parameter sambungan ke pangkalan data replikasi cdc:
    # Pangkalan Data Replikasi
    -db cdc -ld repl -H <nama hos pangkalan data utama> -S <port broker pangkalan data cdc>
    -U pro2admin -P <kata laluan>
  4. Tambah ke replProc.pf parameter sambungan ke pangkalan data sumber dan Pemegang Skema dalam bentuk fail parameter. Nama fail parameter mesti sepadan dengan nama pangkalan data sumber yang disambungkan.
    # Sambung ke semua sumber yang direplikasi BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. Tambah ke replProc.pf parameter untuk menyambung kepada Pemegang Skema.
    #Sasaran Pemegang Skema DB Pro
    -db bisquitsh -ld bisquitsh
    -H <nama hos proses ETL>
    -S <pelabuhan broker biskuitsh>
    -db bisquitsql
    -ld bisquitsql
    -dt ORACLE
    -S 5162 -H <nama hos broker Oracle>
    -DataService orabroker1
  6. Simpan fail parameter replProc.pf
  7. Seterusnya, anda perlu mencipta dan membuka untuk mengedit fail parameter bagi setiap pangkalan data sumber yang disambungkan dalam direktori C:Pro2bpreplScripts: bisquit.pf. Setiap fail pf mengandungi parameter untuk menyambung ke pangkalan data yang sepadan, contohnya:
    -db bisquit -ld bisquit -H <nama hos> -S <port broker>
    -U pro2admin -P <kata laluan>

Untuk mengkonfigurasi pintasan Windows, anda perlu pergi ke direktori C:Pro2bpreplScripts dan edit pintasan "Pro2 - Pentadbiran". Untuk melakukan ini, buka sifat pintasan dan dalam baris Mula masuk tunjukkan direktori pemasangan Pro2. Operasi yang serupa mesti dilakukan untuk pintasan "Pro2 - Editor" dan "RunBulkLoader".

Persediaan Pentadbiran Pro2: Memuatkan Konfigurasi Awal

Mari lancarkan konsol.

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Pergi ke "Peta DB".

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Untuk memautkan pangkalan data dalam Pro2 – Pentadbiran, pergi ke tab Peta DB. Tambah pemetaan pangkalan data sumber - Pemegang Skema - Oracle.

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Pergi ke tab Pemetaan. tersenarai Pangkalan Data Sumber Secara lalai, pangkalan data sumber pertama yang disambungkan dipilih. Di sebelah kanan senarai harus ada tulisan Semua Pangkalan Data Bersambung β€” pangkalan data yang dipilih disambungkan. Di bawah di sebelah kiri anda sepatutnya melihat senarai jadual Kemajuan daripada bisquit. Di sebelah kanan ialah senarai jadual daripada pangkalan data Oracle.

Mencipta skema dan pangkalan data SQL dalam Oracle

Untuk membuat peta replikasi, anda mesti menjana terlebih dahulu Skema SQL dalam Oracle. Dalam Pentadbiran Pro2 kami melaksanakan item menu Alat -> Jana Kod -> Skema Sasaran, kemudian dalam kotak dialog Pilih Pangkalan Data pilih satu atau lebih pangkalan data sumber dan alihkannya ke kanan.

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Klik OK dan pilih direktori untuk menyimpan skema SQL.

Seterusnya kita buat asas. Ini boleh dilakukan, sebagai contoh, melalui Pembangun Oracle SQL. Untuk melakukan ini, kami menyambung ke pangkalan data Oracle dan memuatkan skema untuk menambah jadual. Selepas menukar komposisi jadual Oracle, anda perlu mengemas kini skema SQL dalam Pemegang Skema.

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Selepas muat turun berjaya diselesaikan, keluar dari pangkalan data bisquitsh dan buka panel pentadbiran Pro2. Jadual daripada pangkalan data Oracle harus muncul pada tab Pemetaan di sebelah kanan.

Pemetaan jadual

Untuk membuat peta replikasi, dalam panel pentadbiran Pro2, pergi ke tab Pemetaan dan pilih pangkalan data sumber. Klik pada Jadual Peta, pilih Pilih Perubahan di sebelah kiri jadual yang harus direplikasi dalam Oracle, alihkannya ke kanan dan sahkan pemilihan. Peta akan dibuat secara automatik untuk jadual yang dipilih. Kami mengulangi operasi untuk mencipta peta replikasi untuk pangkalan data sumber lain.

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Menjana Perpustakaan Pemproses Replikasi Pro2 dan Program Pemproses Salin Pukal

Pustaka Pemproses Replikasi direka bentuk untuk proses replikasi tersuai (ETL) yang memproses baris gilir replikasi Pro2 dan menolak perubahan kepada pangkalan data Oracle. Program perpustakaan pemproses replikasi disimpan secara automatik ke direktori selepas generasi bprepl/repl_proc (parameter PROC_DIRECTORY). Untuk menjana pustaka pemproses replikasi, pergi ke Alat -> Jana Kod -> Pustaka Pemproses. Selepas penjanaan selesai, program akan muncul dalam direktori bprepl/repl_proc.

Program Pemproses Beban Pukal digunakan untuk menyegerakkan pangkalan data Progress sumber dengan pangkalan data Oracle sasaran berdasarkan bahasa pengaturcaraan Progress ABL (4GL). Untuk menjananya, pergi ke item menu Alat -> Jana Kod -> Pemproses Salin Pukal. Dalam kotak dialog Pilih Pangkalan Data, pilih pangkalan data sumber, alihkannya ke sebelah kanan tetingkap dan klik OK. Selepas penjanaan selesai, program akan muncul dalam direktori bpreplrepl_mproc.

Menyediakan proses replikasi dalam Pro2

Memisahkan jadual kepada set yang dilayan oleh benang replikasi yang berasingan meningkatkan prestasi dan kecekapan Pro2 Oracle. Secara lalai, semua sambungan yang dibuat dalam peta replikasi untuk jadual replikasi baharu dikaitkan dengan urutan nombor 1. Adalah disyorkan untuk mengasingkan jadual kepada urutan yang berbeza.

Maklumat tentang status benang replikasi dipaparkan pada skrin Pentadbiran Pro2 dalam tab Monitor dalam bahagian Status Replikasi. Penerangan terperinci tentang nilai parameter boleh didapati dalam dokumentasi Pro2 (direktori C:Pro2Docs).

Buat dan aktifkan dasar CDC

Polisi ialah satu set peraturan untuk enjin OpenEdge CDC untuk memantau perubahan pada jadual. Pada masa penulisan, Pro2 hanya menyokong dasar CDC dengan tahap 0, iaitu, hanya fakta yang dipantau rekod perubahan.

Untuk membuat dasar CDC, pada panel pentadbiran, pergi ke tab Pemetaan, pilih pangkalan data sumber dan klik pada butang Tambah/Alih Keluar Polisi. Dalam tetingkap Pilih Perubahan yang terbuka, pilih di sebelah kiri dan gerakkan ke kanan jadual yang anda perlukan untuk membuat atau memadam dasar CDC.

Untuk mengaktifkan, buka tab Pemetaan sekali lagi, pilih pangkalan data sumber dan klik pada butang (Dalam)Aktifkan Polisi. Pilih dan alihkan ke sebelah kanan jadual dasar yang perlu diaktifkan, klik OK. Selepas ini mereka ditandakan dengan warna hijau. Dengan menggunakan (Dalam)Aktifkan Polisi Anda juga boleh menyahaktifkan dasar CDC. Semua transaksi dilakukan secara dalam talian.

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Selepas dasar CDC diaktifkan, nota tentang rekod yang diubah suai disimpan ke kawasan storan "ReplCDCArea" mengikut pangkalan data sumber. Nota ini akan diproses melalui proses khas CDCBatch, yang berdasarkannya akan membuat nota dalam baris gilir replikasi Pro2 dalam pangkalan data cdc (repl).

Oleh itu, kami mempunyai dua baris gilir untuk replikasi. Peringkat pertama ialah CDCBatch: daripada pangkalan data sumber, data mula-mula pergi ke pangkalan data CDC perantaraan. Peringkat kedua ialah apabila data dipindahkan dari pangkalan data CDC ke Oracle. Ini adalah ciri seni bina semasa dan produk itu sendiri - setakat ini pembangun tidak dapat mewujudkan replikasi langsung.

Penyegerakan utama

Selepas mendayakan mekanisme CDC dan menyediakan pelayan replikasi Pro2, kami perlu memulakan penyegerakan awal. Perintah penyegerakan awal:

/pro2/bprepl/Script/replLoad.sh nama jadual bisquit

Selepas penyegerakan awal selesai, proses replikasi boleh dimulakan.

Permulaan proses replikasi

Untuk memulakan proses replikasi anda perlu menjalankan skrip replbatch.sh. Sebelum memulakan, pastikan terdapat skrip replbatch untuk semua urutan - replbatch1, replbatch2, dsb. Jika semuanya sudah sedia, buka baris arahan (contohnya, proenv), pergi ke direktori /bprepl/skrip dan mulakan skrip. Dalam panel pentadbiran, kami menyemak bahawa proses yang sepadan telah menerima status RUNNING.

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS

Penemuan

Bagaimana untuk berkawan antara sistem perbankan Progress OpenEdge dan Oracle DBMS
Selepas pelaksanaan, kami telah mempercepatkan muat naik maklumat ke gudang data korporat. Data secara automatik masuk ke Oracle dalam talian. Tidak perlu membuang masa menjalankan beberapa pertanyaan lama untuk mengumpul data daripada sistem yang berbeza. Di samping itu, dalam penyelesaian ini proses replikasi boleh memampatkan data, yang juga mempunyai kesan positif pada kelajuan. Kini penyelarasan harian sistem BISKVIT dengan sistem lain mula mengambil masa 15-20 minit dan bukannya 2-2,5 jam, dan penyesuaian lengkap mengambil masa beberapa jam dan bukannya dua hari.

Sumber: www.habr.com

Tambah komen