Data Transmission Service (DTS) memungkinkan Anda melacak perubahan data secara real-time. Fitur ini dapat digunakan dalam skenario seperti pembaruan cache ringan, decoupling bisnis, pemrosesan data asinkron, serta sinkronisasi operasi ekstraksi, transformasi, dan pemuatan (ETL). Topik ini menjelaskan cara melacak perubahan data dari database Oracle yang dikelola sendiri.
Prasyarat
Versi mesin database Oracle yang dikelola sendiri adalah 9i, 10g, atau 11g. Instance Real Application Cluster (RAC) tidak didukung.
Pencatatan tambahan, termasuk SUPPLEMENTAL_LOG_DATA_PK dan SUPPLEMENTAL_LOG_DATA_UI, diaktifkan untuk database Oracle yang dikelola sendiri. Untuk informasi lebih lanjut, lihat Pencatatan Tambahan.
Database Oracle yang dikelola sendiri berjalan dalam mode ARCHIVELOG. File log arsip harus dapat diakses dan periode retensi yang sesuai telah ditetapkan untuk file log arsip. Untuk informasi lebih lanjut, lihat Mengelola File Log Redo Arsip.
Peringatan
DTS tidak melacak operasi DDL yang dilakukan menggunakan gh-ost atau pt-online-schema-change. Akibatnya, klien pelacakan perubahan mungkin gagal menulis data yang dikonsumsi ke tabel tujuan karena konflik skema.
Jika database sumber terlibat dalam tugas lain seperti migrasi data yang sedang berjalan, DTS mungkin melacak perubahan data objek lain. Dalam hal ini, Anda harus menyaring data yang dilacak secara manual pada klien pelacakan perubahan.
Persiapan
Masuk ke database Oracle sumber, buat akun database, dan berikan izin administrator database (DBA) kepada akun tersebut.
Jika Anda perlu melacak perubahan data dari database Oracle tetapi izin administrator database (DBA) tidak dapat diberikan kepada akun database, Anda dapat mengaktifkan pencatatan arsip dan pencatatan tambahan, serta memberikan izin granular kepada akun tersebut.
Aktifkan pencatatan arsip dan pencatatan tambahan.
Tipe
Prosedur
Pencatatan arsip
Eksekusi pernyataan berikut untuk mengaktifkan pencatatan arsip:
shutdown immediate; startup mount; alter database archivelog; alter database open; archive log list;Pencatatan tambahan
Aktifkan pencatatan tambahan pada tingkat database atau tabel:
CatatanAnda dapat mengaktifkan pencatatan tambahan tingkat database untuk memastikan stabilitas tugas DTS. Anda dapat mengaktifkan pencatatan tambahan tingkat tabel untuk mengurangi penggunaan disk database Oracle sumber.
Aktifkan pencatatan tambahan tingkat database
Aktifkan pencatatan tambahan minimal:
alter database add supplemental log data;Aktifkan pencatatan kunci utama dan kunci unik tingkat database:
alter database add supplemental log data (primary key,unique index) columns;
Aktifkan pencatatan tambahan tingkat tabel
Aktifkan pencatatan tambahan minimal:
alter database add supplemental log data;Aktifkan pencatatan tambahan tingkat tabel dengan menggunakan salah satu metode berikut:
Aktifkan pencatatan kunci utama tingkat tabel:
alter table table_name add supplemental log data (primary key) columns;Aktifkan pencatatan tambahan tingkat tabel untuk semua kolom:
alter table tb_name add supplemental log data (all) columns ;
Berikan izin granular kepada akun database Oracle.
Versi Oracle 9i hingga 11g
# Buat akun database, misalnya rdsdt_dtsacct, dan berikan izin kepada akun tersebut. create user rdsdt_dtsacct IDENTIFIED BY rdsdt_dtsacct; grant create session to rdsdt_dtsacct; grant connect to rdsdt_dtsacct; grant resource to rdsdt_dtsacct; grant execute on sys.dbms_logmnr to rdsdt_dtsacct; grant select on V_$LOGMNR_LOGS to rdsdt_dtsacct; grant select on all_objects to rdsdt_dtsacct; grant select on all_tab_cols to rdsdt_dtsacct; grant select on dba_registry to rdsdt_dtsacct; grant select any table to rdsdt_dtsacct; grant select any transaction to rdsdt_dtsacct; -- v$log privileges grant select on v_$log to rdsdt_dtsacct; -- v$logfile privileges grant select on v_$logfile to rdsdt_dtsacct; -- v$archived_log privileges grant select on v_$archived_log to rdsdt_dtsacct; -- v$parameter privileges grant select on v_$parameter to rdsdt_dtsacct; -- v$database privileges grant select on v_$database to rdsdt_dtsacct; -- v$active_instances privileges grant select on v_$active_instances to rdsdt_dtsacct; -- v$instance privileges grant select on v_$instance to rdsdt_dtsacct; -- v$logmnr_contents privileges grant select on v_$logmnr_contents to rdsdt_dtsacct; -- system tables grant select on sys.USER$ to rdsdt_dtsacct; grant select on SYS.OBJ$ to rdsdt_dtsacct; grant select on SYS.COL$ to rdsdt_dtsacct; grant select on SYS.IND$ to rdsdt_dtsacct; grant select on SYS.ICOL$ to rdsdt_dtsacct; grant select on SYS.CDEF$ to rdsdt_dtsacct; grant select on SYS.CCOL$ to rdsdt_dtsacct; grant select on SYS.TABPART$ to rdsdt_dtsacct; grant select on SYS.TABSUBPART$ to rdsdt_dtsacct; grant select on SYS.TABCOMPART$ to rdsdt_dtsacct;
Prosedur
Buat instance pelacakan perubahan. Untuk informasi lebih lanjut, lihat Beli Instance DTS.
CatatanDi halaman pembelian, atur Instance Type ke Oracle dan pilih wilayah tempat Anda ingin membuat instance.
Masuk ke Konsol DTS.
Di panel navigasi sebelah kiri, klik Change Tracking.
Di bagian atas halaman Change Tracking Tasks, pilih wilayah tempat instance pelacakan perubahan berada.
Temukan instance pelacakan perubahan dan klik Configure Task di kolom Aksi.
Konfigurasikan database sumber dan tipe jaringan untuk tugas pelacakan perubahan.

Seksi
Parameter
Deskripsi
Tidak ada
Nama Tugas
Nama tugas yang dibuat otomatis oleh DTS. Kami merekomendasikan Anda menentukan nama deskriptif yang mudah diidentifikasi. Anda tidak perlu menggunakan nama tugas yang unik.
Database Sumber
Tipe Instance
Tipe instance sumber. Dalam contoh ini, User-Created Database in ECS Instance digunakan.
CatatanJika Anda memilih tipe instance lain, Anda harus menyiapkan lingkungan jaringan untuk database yang dikelola sendiri. Untuk informasi lebih lanjut, lihat Ikhtisar Persiapan.
Tipe Database
Nilai parameter ini disetel ke Oracle dan tidak dapat diubah.
Wilayah Instance
Nilai parameter source region yang dipilih di halaman pembelian tidak dapat diubah.
ID Instance ECS
ID Elastic Compute Service (ECS) instance yang menjadi host database Oracle yang dikelola sendiri.
Nomor Port
Nomor port layanan database Oracle yang dikelola sendiri.
SID
ID sistem (SID) database Oracle yang dikelola sendiri.
Akun Database
Akun database Oracle yang dikelola sendiri.
CatatanUntuk informasi lebih lanjut tentang cara membuat dan memberikan izin akun database, lihat Persiapan.
Kata Sandi Database
Kata sandi akun database.
Tipe Jaringan Konsumen
Tidak ada
Tipe jaringan instance pelacakan perubahan.
CatatanKami merekomendasikan Anda memilih tipe jaringan yang sama dengan ECS instance tempat klien pelacakan perubahan diinstal. Misalnya, jika instance ECS ditempatkan di virtual private cloud (VPC), pilih VPC sebagai tipe jaringan dan tentukan parameter VPC dan vSwitch.
Jika Anda melacak perubahan data melalui jaringan internal, latensi jaringan akan minimal.
Classic
Jika Anda memilih Classic, tidak diperlukan konfigurasi lain. Untuk informasi lebih lanjut, lihat Jaringan Klasik.
VPC
Jika Anda memilih VPC, Anda harus menentukan parameter VPC dan vSwitch. Untuk informasi lebih lanjut, lihat VPC.
Di sudut kanan bawah halaman, klik Set Whitelist and Next.
PeringatanJika instance database sumber atau tujuan adalah instance database Alibaba Cloud, seperti instance ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB, atau merupakan database yang dikelola sendiri yang dihosting di Elastic Compute Service (ECS), DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih instance database atau aturan grup keamanan ECS. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS ke Pengaturan Keamanan Database Lokal. Jika database sumber atau tujuan adalah database yang dikelola sendiri di pusat data atau berasal dari penyedia layanan cloud lain, Anda harus menambahkan blok CIDR server DTS secara manual untuk mengizinkan DTS mengakses database.
Jika blok CIDR server DTS ditambahkan secara otomatis atau manual ke daftar putih instance database atau aturan grup keamanan ECS, risiko keamanan mungkin timbul. Oleh karena itu, sebelum menggunakan DTS untuk migrasi data, Anda harus memahami dan mengakui potensi risiko serta mengambil langkah-langkah pencegahan, termasuk tetapi tidak terbatas pada langkah-langkah berikut: tingkatkan keamanan akun dan kata sandi Anda, batasi port yang diekspos, autentikasi panggilan API, periksa secara berkala daftar putih atau aturan grup keamanan ECS dan larang blok CIDR yang tidak sah, atau hubungkan database ke DTS dengan menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.
Setelah tugas DTS Anda selesai atau dilepaskan, kami merekomendasikan Anda mendeteksi dan menghapus blok CIDR yang ditambahkan secara manual dari daftar putih instance database atau aturan grup keamanan ECS.
Pilih jenis perubahan data dan objek.

Parameter
Deskripsi
Tipe Data yang Diperlukan
Data Updates
DTS melacak pembaruan data objek yang dipilih, termasuk operasi INSERT, DELETE, dan UPDATE.
Schema Updates
DTS melacak operasi pembuatan, penghapusan, dan modifikasi yang dilakukan pada semua skema objek instance sumber. Anda harus menggunakan klien pelacakan perubahan untuk menyaring data yang diperlukan.
CatatanJika Anda memilih database sebagai objek, DTS melacak perubahan data semua objek, termasuk objek baru di database.
Jika Anda memilih tabel sebagai objek, DTS hanya melacak perubahan data tabel ini. Dalam hal ini, jika Anda ingin melacak perubahan data tabel lain, Anda harus menambahkan tabel ke objek yang dipilih. Untuk informasi lebih lanjut, lihat Ubah objek untuk pelacakan perubahan.
Objek yang Diperlukan
Pilih satu atau lebih objek dari bagian Required Objects dan klik ikon
untuk menambahkan objek ke bagian Selected.CatatanAnda dapat memilih tabel atau database sebagai objek untuk pelacakan perubahan.
Di sudut kanan bawah halaman, klik Save and Precheck.
CatatanSebelum memulai tugas pelacakan perubahan, DTS melakukan pra-pemeriksaan. Anda hanya dapat memulai tugas setelah melewati pra-pemeriksaan.
Jika tugas gagal melewati pra-pemeriksaan, Anda dapat mengklik ikon
di sebelah setiap item yang gagal untuk melihat detail. Setelah menyelesaikan masalah berdasarkan penyebabnya, Anda dapat menjalankan pra-pemeriksaan lagi.
Tutup kotak dialog Precheck setelah pesan berikut ditampilkan: Precheck Passed.
Setelah tugas pelacakan perubahan dikonfigurasi, DTS melakukan pelacakan perubahan awal. Proses ini membutuhkan waktu sekitar satu menit. Setelah pelacakan perubahan awal selesai, Anda dapat membuat satu atau lebih grup konsumen untuk mengonsumsi data yang dilacak.