All Products
Search
Document Center

Data Transmission Service:Sinkronisasi PostgreSQL yang dikelola sendiri ke PolarDB untuk PostgreSQL (Kompatibel dengan Oracle)

Last Updated:Jul 11, 2026

Anda dapat menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari database PostgreSQL yang dikelola sendiri ke PolarDB for PostgreSQL (Compatible with Oracle).

Prasyarat

  • Anda memiliki database PostgreSQL sumber yang dikelola sendiri dan kluster tujuan PolarDB for PostgreSQL (Compatible with Oracle).

    Catatan
  • Kluster tujuan PolarDB for PostgreSQL (Compatible with Oracle) harus memiliki ruang penyimpanan lebih besar daripada database PostgreSQL sumber yang dikelola sendiri.

Catatan penggunaan

Catatan
  • Selama sinkronisasi skema, DTS menyinkronkan kunci asing dari database sumber ke database tujuan.

  • Selama sinkronisasi data penuh dan sinkronisasi data inkremental, DTS secara sementara menonaktifkan pemeriksaan constraint dan operasi kaskade kunci asing pada tingkat sesi. Ketidakkonsistenan data dapat terjadi jika operasi pembaruan atau penghapusan kaskade dilakukan pada database sumber saat tugas sedang berjalan.

Jenis

Deskripsi

Batasan pada database sumber

  • Tabel yang Anda sinkronkan harus memiliki primary key atau constraint unik. Jika tidak, data duplikat dapat terjadi di database tujuan.

    Catatan

    Jika Anda membuat tabel tujuan secara manual (tanpa memilih Synchronization Types sebagai Schema Synchronization), Anda harus memastikan bahwa tabel tujuan memiliki primary key atau constraint unik non-null yang sama dengan tabel sumber. Jika tidak, data duplikat dapat terjadi di database tujuan.

  • Jika Anda menyinkronkan data pada tingkat tabel dan perlu mengedit objek, seperti memetakan nama tabel atau kolom, untuk lebih dari 5.000 tabel dalam satu tugas sinkronisasi data, kami menyarankan untuk membaginya menjadi beberapa tugas atau mengonfigurasi satu tugas untuk menyinkronkan seluruh database. Jika tidak, tugas tersebut mungkin gagal saat dikirim.

  • Nama database yang akan disinkronkan tidak boleh mengandung tanda hubung (-), misalnya dts-testdata.

  • Write-ahead logging (WAL):

    • Anda harus mengaktifkan WAL dengan mengatur parameter wal_level ke logical.

    • Untuk tugas sinkronisasi data inkremental, DTS mensyaratkan agar WAL database sumber dipertahankan lebih dari 24 jam. Untuk tugas yang melakukan sinkronisasi data penuh dan inkremental, WAL harus dipertahankan minimal tujuh hari. Anda dapat mengubah periode retensi menjadi lebih dari 24 jam setelah sinkronisasi data penuh selesai. Jika tugas gagal karena DTS tidak dapat memperoleh WAL akibat periode retensi yang lebih pendek, kegagalan tersebut dapat menyebabkan ketidakkonsistenan atau kehilangan data dalam kasus ekstrem. Masalah yang disebabkan oleh periode retensi WAL yang tidak mencukupi tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS.

  • Alih bencana primer/sekunder pada database PostgreSQL sumber yang dikelola sendiri menyebabkan tugas sinkronisasi data gagal.

  • Pastikan nilai parameter max_wal_senders dan max_replication_slots keduanya lebih besar dari jumlah total slot replikasi yang digunakan di database ditambah jumlah instans DTS yang ingin Anda buat dengan database ini sebagai sumber.

  • Jika database sumber memiliki transaksi jangka panjang dan instans dikonfigurasi untuk sinkronisasi data inkremental, data write-ahead logging (WAL) yang dihasilkan sebelum transaksi tersebut dikomit tidak dapat dihapus. Hal ini dapat menyebabkan akumulasi data WAL dan berpotensi menyebabkan ruang disk tidak mencukupi pada database sumber.

  • Jika sumbernya adalah instans Cloud SQL for PostgreSQL, Anda harus memasukkan akun database yang memiliki izin cloudsqlsuperuser di bidang Database Account. Saat memilih objek yang akan disinkronkan, Anda harus memilih objek yang dikelola oleh akun ini, atau memberikan izin OWNER pada objek tersebut kepada akun ini. Misalnya, jalankan perintah GRANT <owner_of_objects> TO <source_account_for_task> untuk mengizinkan akun tersebut melakukan operasi sebagai pemilik objek.

    Catatan

    Akun yang memiliki izin cloudsqlsuperuser tidak dapat mengelola data yang dimiliki oleh akun lain yang juga memiliki izin cloudsqlsuperuser.

  • Karena keterbatasan inheren langganan logis di database sumber, jika satu catatan data yang akan disinkronkan melebihi 256 MB setelah perubahan inkremental, instans sinkronisasi akan gagal dan harus dikonfigurasi ulang.

  • Jangan menjalankan operasi DDL yang mengubah skema database atau tabel selama sinkronisasi skema atau sinkronisasi penuh. Jika tidak, tugas sinkronisasi akan gagal.

    Catatan

    Selama sinkronisasi penuh, DTS melakukan query ke database sumber. Hal ini membuat kunci metadata yang dapat memblokir operasi DDL pada database sumber.

  • Jika Anda melakukan peningkatan versi utama pada database sumber saat instans sinkronisasi sedang berjalan, tugas tersebut akan gagal dan harus dikonfigurasi ulang.

Batasan lainnya

  • Untuk sinkronisasi data penuh atau inkremental, jika tabel yang disinkronkan mengandung kunci asing, pemicu, atau pemicu event, DTS secara sementara mengatur parameter session_replication_role ke replica pada tingkat sesi. Jika akun database tujuan tidak memiliki izin ini, Anda harus mengatur parameter session_replication_role ke replica secara manual di database tujuan. Selama periode ini (ketika session_replication_role diatur ke replica), ketidakkonsistenan data dapat terjadi jika operasi pembaruan atau penghapusan kaskade terjadi di database sumber. Setelah tugas sinkronisasi data DTS dilepas, Anda dapat mengubah kembali parameter session_replication_role ke origin.

  • Jika tabel yang akan disinkronkan mengandung kolom bertipe SERIAL, database sumber secara otomatis membuat sequence untuk kolom tersebut. Oleh karena itu, saat Anda mengonfigurasi Source Objects, jika Anda memilih Schema Synchronization untuk Synchronization Types, kami menyarankan agar Anda juga memilih Sequence atau menyinkronkan seluruh skema. Jika tidak, instans sinkronisasi mungkin gagal.

  • Satu tugas sinkronisasi data hanya dapat menyinkronkan satu database. Untuk menyinkronkan beberapa database, Anda harus mengonfigurasi tugas terpisah untuk masing-masing.

  • DTS tidak mendukung sinkronisasi tabel plug-in TimescaleDB, tabel dengan pewarisan lintas skema, atau tabel dengan indeks unik berbasis ekspresi.

  • Skema yang dibuat dengan menginstal plug-in tidak didukung untuk sinkronisasi. Anda tidak dapat mengambil informasi tentang skema ini di konsol saat mengonfigurasi tugas.

  • Pada tiga skenario berikut, Anda harus menjalankan perintah ALTER TABLE schema.table REPLICA IDENTITY FULL; pada tabel sumber sebelum menulis data ke dalamnya untuk memastikan konsistensi data. Jangan lakukan operasi penguncian tabel saat perintah ini berjalan untuk mencegah deadlock. Jika Anda melewatkan pemeriksaan ini selama pemeriksaan awal, DTS akan menjalankan perintah ini secara otomatis selama inisialisasi instans.

    • Saat instans dijalankan pertama kali.

    • Saat Anda memilih objek pada tingkat skema, dan tabel baru dibuat di skema tersebut atau tabel dibangun ulang menggunakan perintah RENAME.

    • Saat Anda menggunakan fitur untuk memodifikasi objek sinkronisasi.

    Catatan
    • Ganti schema dan table dalam perintah dengan nama skema dan tabel yang akan disinkronkan.

    • Lakukan operasi ini selama jam sepi.

  • DTS memverifikasi konten data tetapi tidak mendukung verifikasi metadata seperti sequence. Anda harus memverifikasi metadata tersebut sendiri.

  • Setelah Anda memindahkan bisnis ke database tujuan, sequence tidak secara otomatis dilanjutkan dari nilai maksimum sequence yang sesuai di database sumber. Sebelum melakukan alih bencana, Anda harus memperbarui nilai sequence di database tujuan. Untuk informasi selengkapnya, lihat Perbarui nilai sequence di database tujuan.

  • DTS membuat tabel sementara berikut di database sumber untuk memperoleh pernyataan DDL untuk data inkremental, skema tabel inkremental, dan informasi heartbeat. Jangan menghapus tabel sementara ini selama sinkronisasi. Jika tidak, tugas DTS mungkin gagal. Tabel sementara ini akan dihapus secara otomatis setelah instans DTS dilepas.

    public.dts_pg_class, public.dts_pg_attribute, public.dts_pg_type, public.dts_pg_enum, public.dts_postgres_heartbeat, public.dts_ddl_command, public.dts_args_session, dan public.aliyun_dts_instance.

  • Untuk memastikan akurasi latensi sinkronisasi yang ditampilkan, DTS menambahkan tabel heartbeat bernama dts_postgres_heartbeat ke database sumber.

  • Selama sinkronisasi data, DTS membuat slot replikasi dengan awalan dts_sync_ di database sumber untuk mereplikasi data. Slot replikasi ini memungkinkan DTS memperoleh log inkremental yang dihasilkan dalam 15 menit terakhir dari database sumber. Saat tugas sinkronisasi data gagal atau instans dilepas, DTS akan mencoba menghapus slot replikasi ini secara otomatis.

    Catatan
    • Jika Anda mengubah kata sandi akun database sumber atau menghapus daftar putih IP untuk DTS selama sinkronisasi data, slot replikasi tidak akan dibersihkan secara otomatis. Bersihkan slot replikasi secara manual di database sumber untuk mencegahnya mengonsumsi ruang disk dan membuat database sumber tidak tersedia.

    • Jika database sumber mengalami failover, login ke database cadangan untuk melakukan pembersihan secara manual.

    Jalankan pernyataan SQL SELECT * FROM pg_replication_slots; untuk melihat semua slot replikasi di database sumber. Di hasilnya, slot replikasi DTS adalah catatan di mana nilai slot_name diawali dengan dts_sync_ dan nilai active adalah true.

  • Sebelum memulai sinkronisasi data, evaluasi kinerja database sumber dan tujuan. Lakukan sinkronisasi selama jam sepi. Sinkronisasi data penuh mengonsumsi sumber daya baca dan tulis di kedua database, yang dapat meningkatkan beban mereka.

  • Sinkronisasi data penuh melakukan operasi INSERT konkuren, yang dapat menyebabkan fragmentasi tabel di database tujuan. Akibatnya, ruang tabel instans tujuan akan lebih besar daripada instans sumber setelah sinkronisasi data penuh selesai.

  • Untuk sinkronisasi data tingkat tabel, jika tidak ada data dari sumber selain DTS yang ditulis ke database tujuan, Anda dapat menggunakan DMS untuk melakukan perubahan DDL online. Untuk informasi lebih lanjut, lihat Ubah skema tanpa mengunci tabel.

  • Selama sinkronisasi DTS, jangan menulis data ke database tujuan dari sumber lain. Hal ini dapat menyebabkan ketidakkonsistenan data. Misalnya, jika Anda menggunakan Data Management (DMS) untuk melakukan perubahan DDL online sambil data ditulis dari sumber lain, hal tersebut dapat menyebabkan kehilangan data di database tujuan.

  • Jika tugas gagal, staf dukungan DTS akan mencoba memulihkannya dalam waktu delapan jam. Selama pemulihan, mereka mungkin me-restart tugas atau menyesuaikan parameternya.

    Catatan

    Hanya parameter tugas DTS yang dimodifikasi—bukan parameter database. Parameter yang mungkin disesuaikan termasuk yang tercantum di Modifikasi parameter instans.

  • Saat menyinkronkan tabel partisi, Anda harus menyertakan tabel induk dan partisi anaknya sebagai objek sinkronisasi. Jika tidak, data di tabel partisi mungkin menjadi tidak konsisten.

    Penting
    • Tabel induk dari tabel partisi PostgreSQL tidak menyimpan data secara langsung. Semua data disimpan di partisi anak. Tugas sinkronisasi data harus mencakup tabel induk dan semua partisi anaknya. Jika tidak, data dari partisi anak mungkin terlewat, menyebabkan ketidakkonsistenan data antara sumber dan tujuan.

    • Sinkronisasi tabel partisi dan tabel warisan (tabel induk-anak) lintas database berbeda tidak didukung. Pastikan tabel partisi dan semua partisinya, serta tabel induk dan semua tabel anaknya, berada dalam database yang sama.

Harga

Jenis sinkronisasi

Biaya

Sinkronisasi skema dan sinkronisasi penuh

Gratis.

Sinkronisasi inkremental

Dikenakan biaya. Lihat Ikhtisar penagihan.

Topologi sinkronisasi

  • Sinkronisasi satu arah satu-ke-satu

  • Sinkronisasi satu arah satu-ke-banyak

  • Sinkronisasi satu arah kaskade

  • Sinkronisasi satu arah banyak-ke-satu

Untuk informasi lebih lanjut tentang topologi sinkronisasi, lihat Topologi sinkronisasi.

Objek yang didukung

  • SCHEMA, TABLE.

    Catatan

    Ini mencakup PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, DATATYPE (tipe data bawaan), dan DEFAULT CONSTRAINT.

  • VIEW, PROCEDURE (memerlukan PostgreSQL 11 atau lebih baru), FUNCTION, RULE, SEQUENCE, EXTENSION, TRIGGER, AGGREGATE, INDEX, OPERATOR, DOMAIN.

Operasi SQL yang didukung

Jenis operasi

Operasi SQL

DML

INSERT, UPDATE, DELETE

DDL

  • Sinkronisasi DDL hanya didukung untuk tugas sinkronisasi data yang dibuat setelah .

    Penting
  • Tugas sinkronisasi mendukung operasi DDL berikut, asalkan akun database sumber adalah akun berhak tinggi dan database PostgreSQL yang dikelola sendiri memiliki versi minor 20210228 atau lebih baru.

    • CREATE TABLE, DROP TABLE

    • ALTER TABLE (termasuk RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK, dan ALTER COLUMN DROP DEFAULT)

    • TRUNCATE TABLE (memerlukan database sumber PostgreSQL 11 atau lebih baru)

    • CREATE INDEX ON TABLE

    Penting
    • Pernyataan DDL yang mencakup informasi tambahan, seperti CASCADE atau RESTRICT, tidak didukung.

    • Pernyataan DDL dalam sesi yang menggunakan perintah SET session_replication_role = replica tidak disinkronkan.

    • Pernyataan DDL yang dieksekusi dengan memanggil FUNCTION tidak didukung.

    • Jika sebuah commit berisi operasi DML dan DDL, operasi DDL tidak disinkronkan.

    • Jika sebuah commit berisi operasi DDL pada objek yang tidak disinkronkan, operasi tersebut tidak disinkronkan.

    • Pernyataan DDL yang dieksekusi langsung dalam plug-in melalui SPI (Server Programming Interface) tidak didukung.

Persyaratan izin untuk akun database

Database

Izin yang diperlukan

Pembuatan dan otorisasi akun

PostgreSQL yang dikelola sendiri

izin superuser.

Gunakan pernyataan CREATE USER dan kelola izin pengguna.

PolarDB for PostgreSQL (Oracle-compatible)

izin owner pada database.

Buat akun database.

Catatan

Anda menentukan pemilik database saat membuat database.

Persiapan

Catatan

Langkah-langkah berikut berlaku untuk sistem Linux.

Lengkapi persiapan berikut untuk semua versi PostgreSQL yang dikelola sendiri.

  1. Login ke server yang menghosting database PostgreSQL yang dikelola sendiri.

  2. Jalankan perintah berikut untuk memeriksa jumlah slot replikasi yang sedang digunakan:

    select count(1) from pg_replication_slots;
  3. Modifikasi file konfigurasi postgresql.conf: atur wal_level ke logical, dan pastikan bahwa max_wal_senders dan max_replication_slots keduanya lebih besar dari jumlah total slot replikasi yang sudah digunakan ditambah jumlah instans DTS yang akan Anda buat dengan database PostgreSQL yang dikelola sendiri ini sebagai sumber.

    # - Settings -
    wal_level = logical			# minimal, replica, or logical
    					# (change requires restart)
    ......
    # - Sending Server(s) -
    # Set these on the master and on any standby that will send replication data.
    max_wal_senders = 10		# max number of walsender processes
    				# (change requires restart)
    #wal_keep_segments = 0		# in logfile segments, 16MB each; 0 disables
    #wal_sender_timeout = 60s	# in milliseconds; 0 disables
    max_replication_slots = 10	# max number of replication slots
    				# (change requires restart)
    Catatan

    Setelah memodifikasi file konfigurasi, restart database PostgreSQL yang dikelola sendiri untuk menerapkan perubahan.

  4. Tambahkan alamat IP DTS ke file konfigurasi pg_hba.conf database PostgreSQL yang dikelola sendiri. Anda hanya perlu menambahkan rentang alamat IP DTS untuk wilayah tempat database tujuan berada. Untuk informasi lebih lanjut, lihat Daftarkan alamat IP server DTS.

    Catatan
    • Setelah memodifikasi file konfigurasi, jalankan perintah SELECT pg_reload_conf(); atau restart database PostgreSQL yang dikelola sendiri untuk menerapkan perubahan.

    • Untuk informasi lebih lanjut tentang file konfigurasi, lihat The pg_hba.conf File. Jika Anda telah mengatur alamat tepercaya ke 0.0.0.0/0 (seperti pada contoh berikut), Anda dapat melewati langkah ini.

    # "local" is for Unix domain socket connections only
    local   all             all                                     trust
    # IPv4 local connections:
    host    all             all             0.0.0.0/0               md5
    # IPv6 local connections:
    host    all             all             ::1/128                 trust
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    local   replication     postgres                                trust
    host    replication     postgres        0.0.0.0/0               md5
  5. Di instans database tujuan, buat database dan skema yang sesuai dengan objek yang akan disinkronkan.

Jika versi PostgreSQL yang dikelola sendiri Anda berada di antara 9.4.8 dan 10.0, Anda juga harus menyelesaikan persiapan berikut.

  1. Unduh kode sumber PostgreSQL, lalu kompilasi dan instal.

    1. Login ke server yang menghosting database PostgreSQL yang dikelola sendiri.

    2. Berdasarkan versi database PostgreSQL sumber yang dikelola sendiri, unduh kode sumber versi yang sesuai dari situs resmi PostgreSQL.

    3. Jalankan perintah sudo ./configure, sudo make, dan sudo make install secara berurutan untuk mengonfigurasi, mengompilasi, dan menginstal kode sumber.

      Penting
      • Saat mengompilasi dan menginstal PostgreSQL, versi PostgreSQL harus sesuai dengan versi GCC (GNU Compiler Collection) pada sistem operasi.

      • Jika sudo ./configure gagal, sesuaikan perintah berdasarkan pesan error. Misalnya, jika error-nya adalah readline library not found. Use --without-readline to disable readline support., ubah perintah menjadi sudo ./configure --without-readline.

      • Jika Anda menginstal PostgreSQL dengan cara lain, Anda harus mengompilasi ali_decoding di lingkungan pengujian yang memiliki versi sistem operasi dan versi GCC yang sama.

  2. Unduh plug-in ali_decoding yang disediakan oleh DTS, lalu kompilasi dan instal.

    1. Unduh ali_decoding.

    2. Salin seluruh direktori ali_decoding ke direktori contrib PostgreSQL yang telah dikompilasi dan diinstal.

      total 1068
      -rw-r--r--  1 1107 1107    384 Sep 27 2016 aclocal.m4
      drwxrwxrwx  2 1107 1107   4096 Sep 27 2016 config
      -rw-r--r--  1 root root 374806 Sep  7 10:10 config.log
      -rwxr-xr-x  1 root root  39032 Sep  7 10:10 config.status
      -rwxr-xr-x  1 1107 1107 471157 Sep 27 2016 configure
      -rw-r--r--  1 1107 1107  75195 Sep 27 2016 configure.in
      drwxrwxrwx 56 1107 1107   4096 Sep  7 10:28 contrib
      -rw-r--r--  1 1107 1107   1192 Sep 27 2016 COPYRIGHT
      drwxrwxrwx  3 1107 1107   4096 Sep 27 2016 doc
      -rw-r--r--  1 root root   3638 Sep  7 10:10 GNUmakefile
      -rw-r--r--  1 1107 1107   3638 Sep 27 2016 GNUmakefile.in
      -rw-r--r--  1 1107 1107    283 Sep 27 2016 HISTORY
      -rw-r--r--  1 1107 1107  75065 Sep 27 2016 INSTALL
      -rw-r--r--  1 1107 1107   1489 Sep 27 2016 Makefile
      -rw-r--r--  1 1107 1107   1209 Sep 27 2016 README
      drwxrwxrwx 16 1107 1107   4096 Sep 27 2016 src
    3. Masuk ke direktori ali_decoding dan ganti isi Makefile dengan konten berikut:

      # contrib/ali_decoding/Makefile
      MODULE_big = ali_decoding
      MODULES = ali_decoding
      OBJS    = ali_decoding.o
      DATA = ali_decoding--0.0.1.sql ali_decoding--unpackaged--0.0.1.sql
      EXTENSION = ali_decoding
      NAME = ali_decoding
      #subdir = contrib/ali_decoding
      #top_builddir = ../..
      #include $(top_builddir)/src/Makefile.global
      #include $(top_srcdir)/contrib/contrib-global.mk
      #PG_CONFIG = /usr/pgsql-9.6/bin/pg_config
      #pgsql_lib_dir := $(shell $(PG_CONFIG) --libdir)
      #PGXS := $(shell $(PG_CONFIG) --pgxs)
      #include $(PGXS)
      # Use the following for source installation
      ifdef USE_PGXS
      PG_CONFIG = pg_config
      PGXS := $(shell $(PG_CONFIG) --pgxs)
      include $(PGXS)
      else
      subdir = contrib/ali_decoding
      top_builddir = ../..
      include $(top_builddir)/src/Makefile.global
      include $(top_srcdir)/contrib/contrib-global.mk
      endif
    4. Masuk ke direktori ali_decoding dan jalankan perintah sudo make dan sudo make install secara berurutan untuk mengompilasi ali_decoding dan menghasilkan file yang diperlukan untuk menginstal ali_decoding.

    5. Salin file-file berikut ke lokasi yang ditentukan.

      /usr/bin/install -c -m 755  ali_decoding.so '/usr/local/pgsql/lib/ali_decoding.so'
      /usr/bin/install -c -m 644 ./ali_decoding.control '/usr/local/pgsql/share/extension/'
      /usr/bin/install -c -m 644 ./ali_decoding--0.0.1.sql ./ali_decoding--unpackaged--0.0.1.sql  '/usr/local/pgsql/share/extension/'
      /usr/bin/install -c -m 755  ali_decoding.so '/usr/local/pgsql/lib/'
  3. Di instans database tujuan, buat database dan skema yang sesuai dengan objek yang akan disinkronkan.

Prosedur

  1. Buka halaman daftar tugas sinkronisasi wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:

    Dari konsol DTS

    1. Login ke konsol Data Transmission Service (DTS).

    2. Di panel navigasi kiri, klik Data Synchronization.

    3. Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.

    Dari konsol DMS

    Catatan

    Operasi aktual dapat bervariasi berdasarkan mode dan tata letak konsol DMS. Untuk informasi lebih lanjut, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.

    1. Login ke Data Management (DMS).

    2. Di bilah menu atas, pilih Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan.

    Kategori

    Parameter

    Deskripsi

    N/A

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tersebut tidak harus unik.

    Source Database

    Select Existing Connection

    • Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.

      Catatan

      Di konsol DMS, item konfigurasi ini bernama Select a DMS database instance..

    • Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.

    Database Type

    Pilih PostgreSQL.

    Connection Type

    Pilih Cloud Enterprise Network (CEN).

    Instance Region

    Pilih wilayah tempat database PostgreSQL yang dikelola sendiri berada.

    Cross-account

    Jika Anda menyinkronkan data dalam Akun Alibaba Cloud yang sama, pilih No.

    Connected VPC

    Pilih VPC yang terhubung ke database PostgreSQL yang dikelola sendiri.

    IP address

    Masukkan alamat IP server database PostgreSQL yang dikelola sendiri.

    Port

    Masukkan nomor port yang digunakan oleh database PostgreSQL yang dikelola sendiri. Nilai default adalah 5432.

    Database Name

    Masukkan nama database yang berisi objek yang akan disinkronkan.

    Database Account

    Masukkan akun database untuk database PostgreSQL yang dikelola sendiri. Untuk informasi tentang izin yang diperlukan, lihat Izin akun database.

    Database Password

    Masukkan kata sandi yang sesuai dengan akun database.

    Encryption

    Menentukan apakah akan mengenkripsi koneksi ke database sumber. Anda dapat mengonfigurasi parameter ini berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, Non-encrypted dipilih.

    Jika Anda ingin membuat koneksi terenkripsi SSL ke database sumber, lakukan langkah-langkah berikut: Pilih SSL-encrypted, unggah CA Certificate, Client Certificate, dan Private Key of Client Certificate sesuai kebutuhan, lalu tentukan Private Key Password of Client Certificate.

    Catatan
    • Jika Anda mengatur Encryption ke SSL-encrypted untuk database PostgreSQL yang dikelola sendiri, Anda harus mengunggah CA Certificate.

    • Jika Anda ingin menggunakan sertifikat klien, Anda harus mengunggah Client Certificate dan Private Key of Client Certificate serta menentukan Private Key Password of Client Certificate.

    • Untuk informasi tentang cara mengonfigurasi enkripsi SSL untuk instans ApsaraDB RDS for PostgreSQL, lihat Enkripsi SSL.

    Destination Database

    Select Existing Connection

    • Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.

      Catatan

      Di konsol DMS, item konfigurasi ini bernama Select a DMS database instance..

    • Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.

    Database Type

    Pilih PolarDB (Compatible with Oracle).

    Connection Type

    Pilih Express Connect, VPN Gateway, or Smart Access Gateway.

    Instance Region

    Pilih wilayah tempat kluster tujuan PolarDB for PostgreSQL (Compatible with Oracle) berada.

    Connected VPC

    Pilih VPC yang terhubung ke kluster PolarDB for PostgreSQL (Compatible with Oracle).

    Domain Name or IP Address

    Masukkan titik akhir node primer di kluster tujuan PolarDB for PostgreSQL (Compatible with Oracle).

    Catatan

    Anda dapat menjalankan perintah ping di komputer Anda untuk mendapatkan alamat IP titik akhir koneksi langsung kluster tujuan PolarDB for PostgreSQL (Compatible with Oracle).

    Port

    Masukkan nomor port yang digunakan oleh database tujuan. Nilai default adalah 1521.

    Database Name

    Masukkan nama database tujuan yang berisi objek yang akan disinkronkan di instans PolarDB for PostgreSQL (Compatible with Oracle).

    Database Account

    Masukkan akun database untuk instans tujuan PolarDB for PostgreSQL (Compatible with Oracle). Untuk informasi tentang izin yang diperlukan, lihat Izin akun database.

    Database Password

    Masukkan kata sandi yang sesuai dengan akun database.

  4. Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.

    Catatan
    • Pastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS—proses ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.

    • Jika database sumber atau tujuan adalah database yang dikelola sendiri (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  5. Konfigurasikan objek tugas.

    1. Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.

      Parameter

      Deskripsi

      Synchronization Types

      Incremental Data Synchronization dipilih. Secara default, Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS melakukan sinkronisasi data penuh objek yang dipilih dari instans sumber ke kluster tujuan. Ini berfungsi sebagai data dasar untuk sinkronisasi data inkremental berikutnya.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tabel dengan nama yang sama tidak ada, pemeriksaan awal lolos. Jika tabel dengan nama yang sama ada, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai.

        Catatan

        Jika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat memetakannya ke nama tabel yang berbeda. Untuk informasi lebih lanjut, lihat Petakan nama tabel dan kolom.

      • Ignore Errors and Proceed: Melewatkan pemeriksaan nama tabel duplikat di database tujuan.

        Peringatan

        Memilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan membahayakan bisnis Anda. Misalnya:

        • Jika skema tabel sama dan catatan di database tujuan memiliki nilai primary key atau unique key yang sama dengan catatan di database sumber:

          • Selama sinkronisasi penuh, DTS mempertahankan catatan di kluster tujuan. Catatan yang sesuai dari database sumber tidak disinkronkan.

          • Selama sinkronisasi inkremental, catatan dari database sumber menimpa catatan di database tujuan.

        • Jika skema tabel berbeda, sinkronisasi data awal mungkin gagal. Hal ini dapat mengakibatkan hanya data kolom parsial yang disinkronkan atau kegagalan sinkronisasi total. Lanjutkan dengan hati-hati.

      Source Objects

      Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik 向右 untuk memindahkannya ke kotak Selected Objects.

      Catatan
      • Anda dapat memilih objek sinkronisasi pada tingkat skema atau tabel. Jika Anda memilih tabel, objek lain seperti view, trigger, dan stored procedure tidak disinkronkan ke database tujuan.

      • Jika tabel yang akan disinkronkan mengandung kolom bertipe SERIAL dan Anda memilih Synchronization Types yang mencakup Schema Synchronization, kami menyarankan agar Anda juga memilih Sequence atau menyinkronkan seluruh skema.

      Selected Objects

      • Untuk mengganti nama satu objek sinkronisasi di instans tujuan, klik kanan objek di kotak Selected Objects. Untuk informasi lebih lanjut tentang mengganti nama objek, lihat Petakan satu database, tabel, atau kolom.

      • Untuk mengubah nama beberapa objek sinkronisasi di instans tujuan secara batch, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi lebih lanjut, lihat Petakan database, tabel, dan kolom secara batch.

      Catatan
      • Untuk memilih operasi SQL yang akan disinkronkan untuk database atau tabel tertentu, klik kanan objek di kotak Selected Objects dan pilih operasi yang diinginkan di kotak dialog yang muncul.

      • Untuk memfilter data menggunakan klausa WHERE, klik kanan tabel di kotak Selected Objects dan tentukan kondisi filter di kotak dialog yang muncul. Untuk informasi lebih lanjut, lihat Konfigurasikan kondisi filter.

    2. Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada kluster bersama, dan Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi lebih lanjut, lihat Apa itu kluster khusus DTS?.

      Retry Time for Failed Connections

      Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom dari 10 hingga 1.440 menit. Kami menyarankan agar Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.

      Catatan
      • Jika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.

      • Karena DTS membebankan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan agar Anda menyesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis Anda atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.

      Retry Time for Other Issues

      Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-koneksi lainnya pada database sumber atau tujuan (seperti exception eksekusi DDL atau DML), DTS melaporkan error dan segera mulai melakukan operasi percobaan ulang terus-menerus. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami menyarankan agar Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.

      Penting

      Nilai untuk Retry Time for Other Issues harus lebih kecil dari nilai Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Selama tahap sinkronisasi penuh, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database sumber dan tujuan, Anda dapat mengatur batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).

      Catatan
      • Item konfigurasi ini hanya tersedia saat Synchronization Types diatur ke Full Data Synchronization.

      • Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.

      Enable Throttling for Incremental Data Synchronization

      Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      Anda dapat memilih tag lingkungan untuk mengidentifikasi instans. Parameter ini opsional. Anda dapat membiarkannya tidak ditentukan untuk contoh ini.

      Configure ETL

      Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai yang valid:

      Monitoring and Alerting

      Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.

    3. Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.

      Jika Anda ingin menggunakan fitur validasi data, lihat Konfigurasikan validasi data untuk petunjuk konfigurasi.

  6. Simpan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung.

    • Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

    Catatan
    • Sebelum tugas sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Tugas hanya dapat dimulai setelah semua item pemeriksaan awal lolos.

    • Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan kembali pemeriksaan awal.

    • Jika pemeriksaan awal mengembalikan peringatan:

      • Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan kembali pemeriksaan awal.

      • Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewatkan peringatan dan menjalankan kembali pemeriksaan awal. Jika Anda memilih untuk mengabaikan item peringatan, hal tersebut dapat menyebabkan masalah seperti ketidakkonsistenan data dan membahayakan bisnis Anda.

  7. Beli instans.

    1. Saat Success Rate mencapai 100%, klik Next: Purchase Instance.

    2. Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter ini secara rinci.

      Kategori

      Parameter

      Deskripsi

      New Instance Class

      Metode Penagihan

      • Langganan: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.

      • Bayar sesuai penggunaan: Anda dikenai biaya per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.

      Konfigurasi Kelompok Sumber Daya

      Kelompok sumber daya tempat instans tersebut berada. Default-nya adalah kelompok sumber daya default. Untuk informasi lebih lanjut, lihat Apa itu Resource Management?.

      Spesifikasi Link

      DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Spesifikasi link sinkronisasi data.

      Durasi Langganan

      Dalam mode langganan, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.

      Catatan

      Opsi ini hanya tersedia saat metode penagihan adalah Subscription.

    3. Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Klik Buy and Start. Di kotak dialog OK, klik OK.

      Anda dapat melihat progres tugas di halaman Data Synchronization.