Bagian ini berisi informasi tentang:
- Perilaku cara Datastream menangani data yang ditarik dari database Oracle sumber
- Versi database Oracle yang didukung Datastream
- Ringkasan cara menyiapkan database Oracle sumber sehingga data dapat di-streaming dari database tersebut ke tujuan
- Batasan umum untuk menggunakan database Oracle sebagai sumber
Perilaku
Database Oracle sumber mengandalkan fitur Oracle Logminer-nya untuk mengekspos perubahan pada data.
- Semua skema atau skema tertentu dari database tertentu, serta semua tabel dari skema atau tabel tertentu, dapat dipilih.
- Semua data historis direplikasi.
- Semua perubahan bahasa manipulasi data (DML), seperti penyisipan, pembaruan, dan penghapusan dari database dan tabel yang ditentukan, direplikasi.
- Datastream mereplikasi perubahan yang di-commit dan, dalam beberapa kasus, perubahan yang tidak di-commit ke tujuan. Datastream membaca perubahan yang tidak di-commit. Jika terjadi rollback, catatan output Datastream juga menyertakan operasi sebaliknya. Misalnya, jika ada operasi
INSERT
yang di-roll back, maka data output juga akan berisi operasiDELETE
yang sesuai. Dalam hal ini, peristiwa tersebut akan muncul sebagai peristiwaDELETE
hanya denganROWID
.
Versi
Datastream mendukung versi database Oracle berikut:
- Oracle 11g, Versi 11.2.0.4
- Oracle 12c, Versi 12.1.0.2
- Oracle 12c, Versi 12.2.0.1
- Oracle 18c
- Oracle 19c
- Oracle 21c
Datastream mendukung jenis database Oracle berikut:
- Dihosting sendiri di infrastruktur lokal atau di penyedia cloud apa pun
- Amazon RDS untuk Oracle
- Oracle Cloud
- Oracle Exadata
- RAC Oracle
Penyiapan
Untuk menyiapkan database Oracle sumber sehingga data darinya dapat di-streaming ke tujuan, Anda harus mengonfigurasi database tersebut untuk memberikan akses, menyiapkan logging, menentukan kebijakan retensi, dan sebagainya.
Lihat Mengonfigurasi database Oracle sumber untuk mempelajari cara mengonfigurasi database ini sehingga Datastream dapat menarik data dari database tersebut ke tujuan.
Batasan umum
Batasan umum untuk menggunakan database Oracle sebagai sumber meliputi:
- Tabel yang memiliki lebih dari 500 juta baris tidak dapat diisi ulang kecuali jika kondisi berikut terpenuhi:
- Tabel memiliki indeks unik.
- Indeks ini juga harus berupa pohon B, yang merupakan indeks default. Indeks dapat bersifat komposit.
- Indeks tidak dapat dibalik.
- Indeks tidak boleh berisi kolom berbasis fungsi.
- Tidak ada kolom indeks yang nullable.
- Indeks tidak menyertakan kolom jenis
DATE
yang berisi tanggal negatif sebagai nilai. - Semua kolom indeks disertakan dalam aliran data.
- Streaming dibatasi hingga 10.000 tabel.
- Datastream mendukung arsitektur multi-tenant Oracle (CDB/PDB), tetapi Anda hanya dapat mereplikasi satu database yang dapat dicocokkan dalam satu stream.
- Oracle Autonomous Database tidak didukung.
- Untuk tabel yang tidak memiliki kunci utama, Datastream menggunakan
ROWID
baris untuk melakukan operasi penggabungan di sisi konsumen. Perlu diperhatikan bahwaROWID
mungkin tidak unik. Misalnya, jika Anda menghapus dan menyisipkan ulang baris dengan utilitas Export/Import Oracle,ROWID
baris dapat berubah. Jika Anda menghapus baris, Oracle dapat menetapkan ulangROWID
-nya ke baris baru yang disisipkan nanti. - Tabel yang diatur indeks (IOT) tidak didukung.
- Tabel sementara tidak didukung.
- Untuk kolom jenis
BFILE
, hanya jalur ke file yang akan direplikasi. Isi file tidak direplikasi. - Kolom jenis data
ANYDATA
,INTERVAL DAY TO SECOND
,INTERVAL YEAR TO MONTH
,LONG/LONG RAW
,SDO_GEOMETRY
,UDT
,UROWID
,XMLTYPE
tidak didukung, dan diganti dengan nilaiNULL
. - Untuk melakukan streaming kolom jenis data objek besar, seperti objek besar biner (
BLOB
), objek besar karakter (CLOB
), dan objek besar karakter nasional (NCLOB
), Anda harus menyertakan flagstreamLargeObjects
dalam konfigurasi aliran data. Jika Anda tidak menyertakan tanda, Datastream tidak akan melakukan streaming kolom tersebut dan kolom tersebut akan diganti dengan nilaiNULL
di tujuan. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan streaming objek besar untuk sumber Oracle. - Untuk Oracle 11g, tabel yang memiliki kolom jenis data
ANYDATA
atauUDT
tidak didukung, dan seluruh tabel tidak akan direplikasi. - Oracle Label Security (OLS) tidak direplikasi.
- Datastream secara berkala mengambil skema terbaru dari sumber saat peristiwa diproses. Jika skema berubah, beberapa peristiwa dari skema baru mungkin dibaca saat skema lama masih diterapkan. Dalam hal ini, Datastream mendeteksi perubahan skema, memicu pengambilan skema, dan memproses ulang peristiwa yang gagal.
- Tidak semua perubahan pada skema sumber dapat dideteksi secara otomatis, dalam hal ini kerusakan data dapat terjadi. Perubahan skema berikut dapat menyebabkan kerusakan data atau kegagalan untuk memproses downstream peristiwa:
- Meletakkan kolom
- Menambahkan kolom ke tengah tabel
- Mengubah tipe data kolom
- Menyusun ulang kolom
- Melepaskan tabel (relevan jika tabel yang sama kemudian dibuat ulang dengan data baru ditambahkan)
- Tabel pemotongan
- Datastream tidak mendukung replikasi tampilan.
- Datastream mendukung tampilan terwujud. Namun, tampilan baru yang dibuat saat streaming berjalan tidak akan diisi ulang secara otomatis.
- Pernyataan
SAVEPOINT
tidak didukung dan dapat menyebabkan perbedaan data jika terjadi rollback. - Datastream mendukung encoding himpunan karakter berikut untuk database Oracle:
AL16UTF16
AL32UTF8
IN8ISCII
JA16SJIS
US7ASCII
UTF8
WE8ISO8859P1
WE8ISO8859P9
WE8ISO8859P15
WE8MSWIN1252
ZHT16BIG5
- Datastream tidak mendukung replikasi nilai tanggal nol. Tanggal tersebut diganti dengan nilai
NULL
. - Menghasilkan file log yang sangat besar dapat menyebabkan Datastream kehabisan waktu, yang dapat menyebabkan kegagalan streaming. Ukuran file log ulangi yang direkomendasikan adalah di bawah 1 GB.
- Datastream tidak mendukung konektivitas langsung ke database yang menggunakan fitur Single Client Access Name (SCAN) di lingkungan Oracle Real Application Clusters (RAC). Untuk mengetahui informasi tentang kemungkinan solusi, lihat Perilaku dan batasan sumber Oracle.