全部产品
Search
文档中心

Data Transmission Service:Melacak perubahan data dari database Oracle yang dikelola sendiri

更新时间:Jul 06, 2025

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.

Penting

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.

  1. 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:

    Catatan

    Anda 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

      1. Aktifkan pencatatan tambahan minimal:

        alter database add supplemental log data;
      2. 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

      1. Aktifkan pencatatan tambahan minimal:

        alter database add supplemental log data;
      2. 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 ;
  2. 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

  1. Buat instance pelacakan perubahan. Untuk informasi lebih lanjut, lihat Beli Instance DTS.

    Catatan

    Di halaman pembelian, atur Instance Type ke Oracle dan pilih wilayah tempat Anda ingin membuat instance.

  2. Masuk ke Konsol DTS.

  3. Di panel navigasi sebelah kiri, klik Change Tracking.

  4. Di bagian atas halaman Change Tracking Tasks, pilih wilayah tempat instance pelacakan perubahan berada.

  5. Temukan instance pelacakan perubahan dan klik Configure Task di kolom Aksi.

  6. Konfigurasikan database sumber dan tipe jaringan untuk tugas pelacakan perubahan.

    Configure the source database and network type

    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.

    Catatan

    Jika 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.

    Catatan

    Untuk 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.

    Catatan
    • Kami 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.

  7. Di sudut kanan bawah halaman, klik Set Whitelist and Next.

    Peringatan
    • Jika 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.

  8. Pilih jenis perubahan data dan objek.

    Select the data change types and objects

    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.

    Catatan
    • Jika 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 Rightwards arrow untuk menambahkan objek ke bagian Selected.

    Catatan

    Anda dapat memilih tabel atau database sebagai objek untuk pelacakan perubahan.

  9. Di sudut kanan bawah halaman, klik Save and Precheck.

    Catatan
    • Sebelum 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 Info icon di sebelah setiap item yang gagal untuk melihat detail. Setelah menyelesaikan masalah berdasarkan penyebabnya, Anda dapat menjalankan pra-pemeriksaan lagi.

  10. 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.

Apa yang harus dilakukan selanjutnya

  1. Buat Grup Konsumen

  2. Gunakan Klien Kafka untuk Mengonsumsi Data yang Dilacak

  3. Gunakan Demo SDK untuk Mengonsumsi Data yang Dilacak