Review Book: Buku yang wajib dibaca untuk mahir Oracle GoldenGate


Berikut adalah buku-buku yang saya baca pada saat implementasi goldengate di suatu project, tentu saja masih banyak buku-buku yang lain, tetapi saya merekomendasikan 4 buku ini anda baca dahulu untuk mahir goldengate.

1. Oracle GoldenGate Windows and UNIX Administrator’s Guide, Sesuai dengan keynote oracle, learn Oracle from Oracle, maka buku ini wajib dibaca,  terutama bagi yang belum mengenal Goldengate, dibuku ini dijelaskan secara detil dan sederhana topologi goldengate dan contohnya.

Image

2. Oracle GoldenGate Windows and Unix Reference Guide, dari judulnya sendiri kita sudah tahu ini adalah buku referensi, sehingga jika kita ingin mengetahui deskripsi dan parameter apa saja yang sebaiknya digunakan maka bisa melihatnya disini.

Image

3. Oracle GoldenGate 11g Implementer, Buku ini secara ringkas membantu kita untuk dapat dengan cepat mengerti dalam implementasi GoldenGate, didalamnya sendiri ada tip dan trik untuk implementasi Goldengate.

Image

4. Expert Oracle GoldenGate, Sesuai dengan judulnya ini adalah buku lanjutan untuk yang ingin memperdalam GoldenGate.

Image

Anda punya buku lain yang direkomendasikan, silahkan komentar disini,,

Semoga Bermanfaat…

GoldenGate: Komponen proses flow di GoldenGate


Proses flow GoldenGate umumnya seperti pada gambar dibawah, perubahan data dari source database di-capture kemudian ditulis ke file trail (source trail). File source trail kemudian dibaca oleh data pump dan dikirimkan ke target melalui jaringan, di Target oleh proses Collector kemudian menuliskannya ke file remote trail. Setelah diterima file trail, lalu dilakukan proses deliver/replicat ke target database sesuai dengan datanya. Setiap komponen pada proses flow goldengate ini dikelola oleh proses manager.

Komponen proses flow GoldenGate:

  1. Source Database, yaitu database sumber yang perubahan datanya akan diambil, sumber database yang disupport GoldenGate yaitu c-tree, DB2, MySQL, Oracle SQL/MX, Sql-Server, Sybase dan Teradata.
  2. Proses Capture (Local Extract), yaitu proses ekstraksi data dari proses insert, update atau delete dari database sumber, di GoldenGate proses capture disebut EXTRACT. Extract yaitu proses sistem operasi yang berjalan di server sumber dan mengcapture perubahan dari log transaksi database. Contoh pada database Oracle, Extract mengcapture perubahan dari redo logs dan pada beberapa proses exception akan membaca dari achieved redo logs dan menuliskan datanya ke file yang dinamakan file trail. Pada Extract bukan hanya dapat mengcapture proses Data Manipulation Language (DML) tetapi juga proses Data Definition Language (DDL)
  3. Source Trail, yaitu file trail yang ditulis dari hasil proses capture/extract, file trail sendiri bisa disetting besar maksimum ukurannya. Untuk performansi yang tinggi data yang dituliskan ke file trail dalam bentuk large blocks. Default lokasi source trail biasanya disimpan di direktori dirdat
  4. Data Pump, yaitu proses extract GoldenGate untuk membaca records di source trail yang ditulis local extract, mengirimkannya melalui jaringan (TCP/IP) ke target, dan membuat remote trail di target. Kegunaan data pump adalah untuk menjaga kalau network putus, dan setelah network kembali aktif maka data pump akan otomatis mengirim source trail ke target.
  5. Network, yaitu jaringan yang menghubungkan source database dan target database.
  6. Collector, proses collector otomatis dijalankan oleh manager. proses collector berjalan pada background proses di sistem target dan menulis records ke remote trail.
  7. Remote Trail, file remote trail hampir sama dengan file source trail, pembedanya file remote trail dibuat pada sistem target yang dapat digunakan pada server database target. Default lokasi remote trail biasanya disimpan di direktori dirdat
  8. Delivery (Replicat), yaitu proses untuk apply perubahan data ke target database. di GoldenGate proses delivery disebut juga dengan REPLICAT, yaitu dengan membaca records di remote trail dan menerapkannya ke target database. pada replicat mendunkung proses DML dan DDL.
  9. Target Database, di GoldenGate untuk database target yang disupport antara lain: c0-tree, DB2, generic ODBC, MySQL, Oracle SQL/MX, SQL Server, Sybase, TimesTen.

Studi kasus GoldenGate : One-way Replication (Initial Load)


Sebelum melakukan initial load, beberapa hal yang harus diperhatikan yaitu:

  • Constraint foreign key dan trigger pada tabel target sebaiknya di disable untuk menghindari error data dan meningkatkan performa goldengate.
  • Jika terdapat index, sebaiknya didrop dulu, setelah proses initial load selesai baru index dicreate lagi.
NO

SOURCE

TARGET

1 Cek data di tabel sumber
Select count(*) from ogguser.emp_5;
3 records
Cek data di tabel target
Select count(*) from ogguser.emp_5;
0 records
2 Buka GGSCI console, ketik:GGSCI>> EDIT PARAMS ELOAD01

EXTRACT ELOAD01
SETENV (NLS_LANG = AMERICAN_AMERICA.AL32UTF8)
USERID ogguser, password oggpassword;
RMTHOST 192.168.1.20, MGRPORT 7809;
RMTTASK REPLICAT, GROUP RLOAD01;
TABLE ogguser.emp_5;

Buka GGSCI console, ketik:GGSCI>> EDIT PARAMS RLOAD01

REPLICAT RLOAD01
userid ogguser, password oggpassword;SETENV (NLS_LANG = AMERICAN_AMERICA.AL32UTF8)
ASSUMETARGETDEFS;
HANDLECOLLISIONS
MAP ogguser.emp_5, target ogguser.emp_5;

3 GGSCI>> add extract eload01, sourceistable GGSCI>> Add replicat rload01, specialrun
4 GGSCI>> Start eload01
5  GGSCI>> Start rload01
6 GGSCI>> VIEW REPORT ELOAD01
Processing table OGGUSER.EMP_5
Report at 2012-05-15 17:15:41 (activity since 2012-05-15 17:15:34)
Output to RLOAD01:From Table OGGUSER.EMP_5:
#                   inserts:         3
#                   updates:         0
#                   deletes:         0
#                  discards:         0REDO Log StatisticsBytes parsed                    0
Bytes output                  290 
GGSCI>> VIEW REPORT RLOAD01

MAP resolved (entry OGGUSER.EMP_5):
  MAP OGGUSER.EMP_5, target ogguser.emp_5;
Using following columns in default map by name:
  ID, FIRST_NAME, LAST_NAME

Using the following key columns for target table OGGUSER.EMP_5: ID.

Report at 2012-05-15 17:25:22 (activity since 2012-05-15 17:25:17)

From Table OGGUSER.EMP_5 to OGGUSER.EMP_5:
       #                   inserts:         3
       #                   updates:         0
       #                   deletes:         0
       #                  discards:         0

 

7 Cek data di tabel sumber
Select count(*) from ogguser.emp_5;
3 records
Cek data di tabel target
Select count(*) from ogguser.emp_5;
3 records

Yang Terjadi pada saat proses Initial Load

  • Jika pada saat mengirimkan data ke database target datanya sudah ada, maka data yang di tabel target akan di UPDATE atau di REPLACE dengan data yang di source database.

Topologi Replikasi di Oracle GoldenGate (OGG)


GoledenGate dapat digunakan untuk proses replikasi, keunggulannya adalah proses replikasi tidak harus pada database yang sama, sehingga jika database antara source dan target berbeda, hal itu bukan jadi masalah. Misalnya GoldenGate bisa dipakai untuk replikasi dari database Oracle ke Mysql/Sql-Server/Teradata maupun sebaliknya.

Topologi replikasi di GoldenGate antara lain:

1. One-way Replication

– Secara kardinalitas, proses replikasi dari 1 sumber database ke 1 target database.
– Hanya meng-capture perubahan data di sumber database
– One-way replication biasanya dipakai sebagai hot stanby, ataupun untuk reporting yang datanya dapat dibaca dari target database.

ilustrasi:

Image

2. Bi-directional Replication

– Secara kardinalitas, proses replikasi dari 1 sumber database ke 1 target database.
– proses capture perubahan data dilakukan sumber database dan target database, jadi ada pertukaran data antara source dan target

ilustrasi:

Image

3. Broadcast Replication

– Secara kardinalitas, proses replikasi dari 1 sumber database ke banyak target database (bisa lebih dari satu)
– Hanya meng-capture perubahan data di sumber database, kemudian dikirim ke database target
– Biasanya dipakai sebagai distribusi data ke banyak database target

ilustrasi:

Image

4. Integration Replication

– Secara kardinalitas, proses replikasi dari banyak sumber database (lebih dari 1) ke satu target database.
– Hanya meng-capture perubahan data di sumber database, kemudian dikirim ke database target
– Biasanya dipakai sebagai untuk proses data warehouse

ilustrasi:
Image

Penggunaan toplogi GoldenGate tentunya disesuaikan dengan kasus yang anda hadapi, tetapi dari topologi ini kita dapat melihat GoldenGate dapat digunakan untuk replikasi dengan beberapa skenario.

Sumber:

2011, Expert Oracle GoldenGate, Ben Prusinski, Steve Philips, dan Richard Chung