All Products
Search
Document Center

Data Transmission Service:Migrasi database PostgreSQL yang dikelola sendiri ke PolarDB for PostgreSQL (kompatibel dengan Oracle)

Last Updated:Jul 11, 2026

Topik ini menjelaskan cara memigrasikan data dari database PostgreSQL yang dikelola sendiri ke klaster PolarDB for PostgreSQL (Compatible with Oracle) menggunakan Data Transmission Service (DTS).

Prasyarat

  • Anda harus telah membuat klaster tujuan PolarDB for PostgreSQL (Compatible with Oracle). Untuk informasi selengkapnya, lihat Buat klaster PolarDB for PostgreSQL (Compatible with Oracle).

    Catatan

    Untuk informasi tentang versi database sumber dan tujuan yang didukung, lihat Ikhtisar skenario migrasi.

  • Ruang penyimpanan klaster PolarDB for PostgreSQL (Compatible with Oracle) harus lebih besar daripada ruang yang digunakan oleh PostgreSQL yang dikelola sendiri.

Catatan penggunaan

Catatan
  • DTS memigrasikan kunci asing selama migrasi skema.

  • Selama migrasi data penuh dan inkremental, DTS sementara menonaktifkan pemeriksaan constraint dan cascade kunci asing pada tingkat sesi. Pembaruan atau penghapusan cascade pada database sumber saat tugas berjalan dapat menyebabkan ketidakkonsistenan data.

Type

Description

Batasan pada database sumber

  • Server yang menghosting database sumber harus memiliki bandwidth keluar yang mencukupi; bandwidth yang tidak mencukupi akan memengaruhi kecepatan migrasi.

  • Tabel yang dipilih untuk migrasi harus memiliki primary key atau constraint unik, dan field dalam constraint tersebut harus unik. Jika tidak, data duplikat dapat terjadi di database tujuan.

    Catatan

    Jika tabel tujuan tidak dibuat oleh Data Transmission Service (DTS) karena Anda tidak memilih Schema Migration sebagai Migration Types, 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.

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

  • Jika Anda memilih tabel sebagai objek migrasi dan perlu mengeditnya (misalnya, dengan memetakan nama tabel atau kolom), satu tugas migrasi dapat memigrasikan hingga 1.000 tabel. Melebihi batas ini akan menyebabkan error saat tugas dikirimkan. Dalam kasus ini, bagi tabel ke beberapa tugas atau konfigurasikan tugas untuk memigrasikan seluruh database.

  • Untuk migrasi data inkremental, berlaku persyaratan write-ahead logging (WAL) berikut:

    • Parameter wal_level harus diatur ke logical.

    • Untuk tugas migrasi data inkremental, WAL di database sumber harus disimpan selama lebih dari 24 jam. Untuk tugas yang mencakup migrasi data penuh dan inkremental, DTS mensyaratkan agar WAL disimpan setidaknya selama 7 hari. Setelah migrasi data penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. Jika DTS tidak dapat memperoleh WAL yang diperlukan, tugas migrasi mungkin gagal. Dalam kasus ekstrem, ketidakkonsistenan atau kehilangan data dapat terjadi. Masalah yang disebabkan oleh periode retensi WAL yang lebih pendek dari durasi yang disyaratkan tidak dicakup oleh Service Level Agreement (SLA) DTS.

  • Batasan operasi di database sumber:

    • Menjalankan alih bencana primer/sekunder pada database sumber PostgreSQL yang dikelola sendiri akan menyebabkan migrasi gagal.

    • Karena keterbatasan langganan logis, jika instans migrasi yang mencakup migrasi data inkremental sedang berjalan dan ukuran satu baris yang akan dimigrasikan melebihi 256 MB setelah perubahan inkremental, instans migrasi gagal secara permanen, dan Anda harus mengonfigurasi ulang.

    • Selama fase migrasi data penuh, jangan lakukan operasi DDL untuk mengubah skema database atau tabel. Jika dilakukan, tugas migrasi data akan gagal.

    • Jika Anda hanya melakukan migrasi data penuh, jangan menulis data baru ke database sumber selama migrasi. Jika tidak, ketidakkonsistenan data akan terjadi antara database sumber dan tujuan. Untuk menjaga konsistensi data real-time, kami menyarankan Anda memilih migrasi data penuh dan migrasi data inkremental.

  • Jika database sumber memiliki transaksi jangka panjang dan instans dikonfigurasi untuk tugas migrasi inkremental, write-ahead logging (WAL) yang dihasilkan sebelum transaksi dikomit tidak dapat dihapus. Hal ini dapat menyebabkan akumulasi WAL dan menghabiskan ruang disk database sumber.

  • Jika Anda melakukan peningkatan versi utama pada database sumber saat instans migrasi sedang berjalan, instans gagal secara permanen, dan Anda harus mengonfigurasi ulang.

Batasan lainnya

  • Catatan ini berlaku untuk instans migrasi data penuh atau inkremental untuk tabel yang berisi kunci asing, trigger, atau event trigger. DTS sementara mengatur parameter session_replication_role ke replica pada tingkat sesi selama migrasi penuh atau inkremental. Jika akun database tujuan tidak memiliki izin ini, Anda harus mengatur parameter session_replication_role ke replica secara manual. Selama periode ini, jika operasi cascade update atau delete terjadi di database sumber, ketidakkonsistenan data dapat terjadi. Setelah instans migrasi data DTS dirilis, Anda dapat mengubah nilai parameter session_replication_role kembali ke origin.

  • Jika tabel yang akan dimigrasikan berisi kolom bertipe SERIAL, sequence secara otomatis dibuat untuk kolom tersebut di database sumber. Oleh karena itu, saat Anda mengonfigurasi Source Objects, jika Migration Types mencakup Schema Migration, kami menyarankan Anda juga memilih Sequence atau memigrasikan seluruh skema. Jika tidak, instans migrasi mungkin gagal.

  • Untuk tugas yang mencakup migrasi data inkremental, Anda harus menjalankan perintah ALTER TABLE schema.table REPLICA IDENTITY FULL; pada tabel yang akan dimigrasikan di database sumber sebelum menulis data ke dalamnya. Hal ini memastikan konsistensi data untuk tabel dalam dua skenario berikut. Untuk mencegah deadlock, hindari operasi penguncian tabel saat perintah ini berjalan. Jika Anda melewati pemeriksaan terkait selama Pemeriksaan Awal, DTS secara otomatis menjalankan perintah ini saat menginisialisasi instans.

    • Saat instans pertama kali dijalankan.

    • Saat granularitas objek migrasi diatur ke Schema dan tabel baru dibuat dalam skema atau tabel yang ada dibangun ulang menggunakan perintah RENAME.

    Catatan
    • Dalam perintah tersebut, ganti schema dan table dengan nama skema dan nama tabel dari data yang akan dimigrasikan.

    • Lakukan operasi ini selama jam sepi.

  • DTS membuat tabel sementara berikut di database sumber untuk memperoleh informasi seperti pernyataan DDL untuk data inkremental, skema tabel inkremental, dan data heartbeat. Jangan menghapus tabel sementara ini selama migrasi. Jika dihapus, tugas DTS akan terganggu. DTS secara otomatis menghapus tabel-tabel ini setelah instans migrasi dirilis.

    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 yang ditampilkan untuk migrasi data inkremental, DTS membuat tabel heartbeat bernama dts_postgres_heartbeat di database sumber.

  • Selama migrasi data inkremental, DTS membuat replication slot dengan awalan dts_sync_ di database sumber untuk mereplikasi data. Replication slot ini memungkinkan DTS memperoleh log inkremental dari database sumber dari 15 menit terakhir. Saat tugas migrasi data gagal atau instans migrasi dirilis, DTS mencoba membersihkan replication slot secara otomatis.

    Catatan
    • Jika Anda mengubah password akun database sumber yang digunakan oleh tugas atau menghapus alamat IP DTS dari daftar putih alamat IP database sumber selama migrasi, replication slot tidak dapat dibersihkan secara otomatis. Dalam kasus ini, Anda harus membersihkan replication slot secara manual di database sumber untuk mencegah akumulasi log, yang dapat menghabiskan ruang disk dan menyebabkan database sumber tidak tersedia.

    • Jika terjadi alih bencana primer/sekunder pada database sumber, Anda harus login ke database sekunder untuk membersihkan replication slot secara manual.

  • DTS hanya memigrasikan satu database per tugas. Untuk memigrasikan beberapa database, konfigurasikan tugas terpisah untuk masing-masing database.

  • DTS tidak mendukung migrasi tabel ekstensi TimescaleDB, tabel dengan pewarisan lintas-skema, atau tabel dengan indeks unik berbasis ekspresi.

  • Skema yang dibuat oleh plug-in tidak dapat dimigrasikan dan tidak tersedia untuk dipilih di konsol selama konfigurasi tugas.

  • Sebelum memigrasikan data, evaluasi kinerja database sumber dan tujuan. Lakukan migrasi data selama jam sepi. Selama migrasi data penuh, DTS mengonsumsi sumber daya baca dan tulis pada kedua database, yang dapat meningkatkan beban database.

  • Migrasi data penuh melibatkan operasi INSERT konkuren, yang dapat menyebabkan fragmentasi tabel di database tujuan, sehingga database tujuan mengonsumsi lebih banyak ruang penyimpanan daripada sumber.

  • Konfirmasi apakah presisi migrasi untuk kolom bertipe data FLOAT atau DOUBLE memenuhi kebutuhan bisnis Anda. DTS menggunakan fungsi ROUND(COLUMN,PRECISION) untuk membaca nilai dari kolom-kolom tersebut. Jika Anda tidak secara eksplisit menentukan presisi, DTS menggunakan presisi 38 digit untuk FLOAT dan 308 digit untuk DOUBLE.

  • DTS mencoba melanjutkan tugas migrasi yang gagal hingga tujuh hari. Oleh karena itu, sebelum mengalihkan beban kerja Anda ke instans tujuan, Anda harus menghentikan atau merilis tugas tersebut. Atau, cabut izin tulis akun yang digunakan DTS untuk mengakses instans tujuan dengan menggunakan perintah REVOKE. Hal ini mencegah tugas yang dilanjutkan secara otomatis menimpa data di instans tujuan.

  • DTS memvalidasi konten data tetapi tidak memvalidasi metadata seperti sequence; Anda harus memvalidasi metadata tersebut sendiri.

  • Setelah Anda mengalihkan beban kerja ke instans tujuan, sequence yang baru ditulis tidak bertambah dari nilai maksimum sequence yang sesuai di database sumber. Sebelum mengalihkan beban kerja, Anda harus memperbarui nilai sequence di database tujuan. Untuk informasi selengkapnya, lihat Perbarui nilai sequence 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 dalam Modifikasi parameter instans.

  • Saat memigrasikan tabel partisi, Anda harus menyertakan tabel induk dan partisi anaknya sebagai objek migrasi. Jika tidak, data dalam tabel partisi mungkin menjadi tidak konsisten.

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

    • Migrasi tabel partisi dan tabel pewarisan (tabel induk-anak) lintas database berbeda tidak didukung. Pastikan tabel partisi dan semua partisinya berada dalam database yang sama. Pastikan juga tabel induk dan semua tabel anaknya berada dalam database yang sama.

Kasus khusus

  • Jangan mengubah endpoint koneksi atau zona instans sumber ApsaraDB RDS for PostgreSQL selama migrasi, karena hal ini akan menyebabkan tugas gagal.

  • Jika instans sumber adalah Cloud SQL for PostgreSQL, Anda harus menentukan akun dengan izin cloudsqlsuperuser di field Database Account. Saat memilih objek migrasi, pilih objek yang dikelola oleh akun ini. Atau, berikan role OWNER untuk objek tersebut kepada akun ini (misalnya, jalankan perintah GRANT <owner_of_the_object_to_be_migrated> TO <source_database_account_used_by_the_task>).

    Catatan

    Akun dengan izin cloudsqlsuperuser tidak dapat mengelola data yang dimiliki oleh akun cloudsqlsuperuser lainnya.

  • Jika database sumber adalah instans PostgreSQL yang dikelola sendiri, pastikan nilai parameter max_wal_senders dan max_replication_slots melebihi jumlah slot replikasi yang ada ditambah jumlah instans migrasi DTS yang akan Anda buat untuk sumber tersebut.

Penagihan

Migration type

Instance configuration fee

Internet traffic fee

Schema migration and full data migration

Gratis.

Saat parameter Access Method database tujuan diatur ke Public IP Address, Anda dikenai biaya untuk lalu lintas Internet. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.

Incremental data migration

Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.

Jenis migrasi

  • Schema migration

    DTS memigrasikan definisi skema objek migrasi dari database sumber ke database tujuan.

  • Full migration

    DTS memigrasikan seluruh data historis dari objek migrasi yang ditentukan dari database sumber ke database tujuan.

  • Migrasi inkremental

    Setelah migrasi penuh selesai, DTS memigrasikan pembaruan data inkremental dari database sumber ke database tujuan. Migrasi inkremental memungkinkan Anda memindahkan data secara lancar tanpa mengganggu aplikasi yang Anda kelola sendiri.

Objek yang didukung

  • skema dan tabel

    Catatan

    Ini mencakup primary key, unique key, foreign key, DATATYPE (tipe data bawaan), dan default constraint.

  • view, procedure (untuk PostgreSQL 11 atau lebih baru), function, rule, sequence, extension, trigger, aggregate, index, operator, dan domain

Operasi SQL yang didukung

Operation type

SQL statement

DML

INSERT, UPDATE, dan DELETE

DDL

  • Hanya tugas migrasi data yang dibuat setelah yang mendukung operasi DDL.

    Penting
  • Tugas migrasi data mendukung pernyataan DDL berikut. Akun database sumber harus merupakan akun istimewa:

    • 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 (Database sumber PostgreSQL harus versi 11 atau lebih baru.)

    • CREATE INDEX ON TABLE

    Penting
    • Informasi tambahan dalam pernyataan DDL, seperti CASCADE atau RESTRICT, tidak dimigrasikan.

    • Jika sesi menggunakan perintah SET session_replication_role = replica, pernyataan DDL-nya tidak dimigrasikan.

    • Pernyataan DDL yang dieksekusi dengan memanggil function tidak dimigrasikan.

    • Jika satu transaksi dari database sumber berisi pernyataan DML dan DDL, pernyataan DDL tidak dimigrasikan.

    • Jika satu transaksi dari database sumber berisi pernyataan DDL untuk objek yang tidak dipilih untuk migrasi, pernyataan DDL tidak dimigrasikan.

    • CREATE SEQUENCE saat ini tidak didukung.

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

Izin akun database

Database

Schema migration

Full data migration

Incremental data migration

PostgreSQL yang dikelola sendiri

Izin USAGE pada pg_catalog

Izin SELECT pada objek sumber

superuser

Klaster PolarDB for PostgreSQL (Compatible with Oracle)

Izin database owner

Penting

database owner ditentukan saat Anda membuat database.

Untuk membuat akun database dan memberikan izin kepadanya, lihat topik berikut:

Prasyarat

Catatan

Ikuti langkah-langkah berikut untuk semua versi PostgreSQL yang dikelola sendiri.

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

  2. Jalankan perintah berikut untuk menanyakan jumlah slot replikasi yang digunakan di database.

    select count(1) from pg_replication_slots;
  3. Ubah file konfigurasi postgresql.conf. Atur parameter wal_level ke logical, dan pastikan parameter max_wal_senders dan max_replication_slots lebih besar daripada jumlah slot replikasi yang digunakan ditambah jumlah instans DTS yang akan Anda buat.

    # - 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 mengubah file konfigurasi, Anda harus me-restart database PostgreSQL yang dikelola sendiri untuk menerapkan perubahan.

  4. Tambahkan blok CIDR server DTS ke file konfigurasi pg_hba.conf database PostgreSQL yang dikelola sendiri Anda. Anda hanya perlu menambahkan blok CIDR untuk server DTS di wilayah tempat database tujuan Anda berada. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR server DTS ke daftar putih.

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

    • Untuk informasi selengkapnya tentang pengaturan dalam file konfigurasi ini, lihat The pg_hba.conf File. Jika Anda telah mengatur alamat tepercaya ke 0.0.0.0/0 (seperti yang ditunjukkan pada gambar berikut), Anda dapat melewati langkah ini.

    IP

  5. Di instans database tujuan, buat database dan skema yang sesuai dengan objek sumber yang akan dimigrasikan.

Untuk versi PostgreSQL yang dikelola sendiri 9.4.8 hingga 10.0, ikuti langkah-langkah tambahan berikut.

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

    1. Unduh kode sumber untuk versi PostgreSQL yang dikelola sendiri Anda dari situs web resmi PostgreSQL.

    2. 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 sistem operasi harus kompatibel dengan versi GNU Compiler Collection (GCC).

      • Jika terjadi error saat menjalankan perintah sudo ./configure, Anda dapat memodifikasi perintah berdasarkan pesan error. Misalnya, jika pesan error adalah readline library not found. Use --without-readline to disable readline support., ubah perintah menjadi sudo ./configure --without-readline.

      • Jika Anda menginstal PostgreSQL dengan metode lain, Anda harus mengompilasi plug-in ali_decoding di lingkungan pengujian yang menggunakan versi sistem operasi dan GCC yang sama dengan lingkungan produksi Anda.

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

    1. Unduh ali_decoding.

    2. Salin seluruh direktori ali_decoding ke direktori contrib instalasi PostgreSQL Anda.

      contrib目录

    3. Masuk ke direktori ali_decoding dan ganti isi file Makefile dengan kode 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 code 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. Jalankan perintah sudo make dan sudo make install secara berurutan untuk mengompilasi plug-in ali_decoding dan menghasilkan file instalasi yang diperlukan.

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

      指定位置

  3. Di instans database tujuan, buat database dan skema yang sesuai dengan objek sumber yang akan dimigrasikan.

Prosedur

  1. Buka halaman daftar tugas migrasi untuk wilayah tujuan menggunakan salah satu metode berikut.

    Dari konsol DTS

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

    2. Di panel navigasi kiri, klik Data Migration.

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

    Dari konsol DMS

    Catatan

    Operasi aktual dapat berbeda berdasarkan mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Konsol mode sederhana dan Sesuaikan tata letak dan gaya konsol DMS.

    1. Login ke konsol Data Management (DMS).

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

    3. Di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi berada.

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan.

    Peringatan

    Setelah memilih instans sumber dan tujuan, baca Limits di bagian atas halaman untuk memastikan tugas migrasi dapat dibuat dan dijalankan dengan sukses.

    Category

    Parameter

    Description

    N/A

    Task Name

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

    Source Database

    Database Type

    Pilih PostgreSQL.

    Connection Type

    Pilih Self-managed Database Connected via Express Connect/VPN Gateway/Smart Access Gateway.

    Catatan

    Memilih database yang dikelola sendiri memerlukan beberapa persiapan. Untuk informasi selengkapnya, lihat Persiapan.

    Instance Region

    Pilih wilayah database PostgreSQL yang dikelola sendiri.

    Cross-account

    Dalam contoh ini, data dimigrasikan dalam akun Alibaba Cloud yang sama. Pilih No.

    The VPC that has been connected to the source database

    Pilih ID VPC tempat database PostgreSQL yang dikelola sendiri berada.

    IP address

    Masukkan alamat IP server database PostgreSQL yang dikelola sendiri.

    Port

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

    Database Name

    Masukkan nama database sumber yang berisi objek untuk dimigrasikan.

    Database Account

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

    Database Password

    Masukkan password untuk 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

    Database Type

    Pilih PolarDB (Compatible with Oracle).

    Connection Type

    Pilih Self-managed Database Connected via Express Connect/VPN Gateway/Smart Access Gateway.

    Instance Region

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

    Connected VPC

    Pilih ID VPC tempat klaster tujuan PolarDB for PostgreSQL (Compatible with Oracle) berada. Anda dapat menemukan ID VPC di halaman Informasi Dasar klaster.

    Domain Name or IP Address

    Masukkan endpoint node primer di klaster tujuan PolarDB for PostgreSQL (Compatible with Oracle).

    Catatan

    Anda dapat menjalankan perintah ping untuk memperoleh alamat IP endpoint koneksi langsung klaster tujuan PolarDB for PostgreSQL (Compatible with Oracle).

    Port

    Masukkan nomor port layanan database tujuan. Nilai default adalah 1521.

    Database Name

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

    Database Account

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

    Database Password

    Masukkan password untuk akun database.

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

    Catatan
    • Pastikan segmen alamat IP layanan DTS telah ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Tambahkan alamat IP server DTS ke daftar putih.

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

  5. Konfigurasikan objek tugas.

    1. Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.

      Parameter

      Description

      Migration Types

      • Jika Anda hanya perlu melakukan migrasi penuh, pilih Schema Migration dan Full Data Migration.

      • Untuk melakukan migrasi tanpa downtime, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.

      Catatan
      • Jika Anda tidak memilih Schema Migration, Anda harus memastikan bahwa database dan tabel untuk menerima data sudah ada di database tujuan. Anda juga dapat menggunakan fitur pemetaan nama objek di kotak Selected Objects sesuai kebutuhan.

      • Jika Anda tidak memilih Incremental Data Migration, jangan menulis data baru ke instans sumber selama migrasi data untuk memastikan konsistensi data.

      Processing Mode of Conflicting Tables

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

        Catatan

        Jika tabel di database tujuan memiliki nama yang sama tetapi tidak dapat dengan mudah dihapus atau diganti namanya, Anda dapat mengubah nama tabel di database tujuan. Untuk informasi selengkapnya, lihat Pemetaan nama objek.

      • Ignore Errors and Proceed: Melewati pemeriksaan untuk tabel dengan nama yang sama.

        Peringatan

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

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

          • Selama migrasi penuh, DTS menyimpan catatan di database tujuan. Catatan dari database sumber tidak dimigrasikan.

          • Selama migrasi inkremental, DTS tidak menyimpan catatan di database tujuan. Catatan dari database sumber menimpa catatan di database tujuan.

        • Jika skema tabel tidak konsisten, hanya beberapa kolom data yang mungkin dimigrasikan, atau migrasi mungkin gagal. Lanjutkan dengan hati-hati.

      Source Objects

      Di kotak Source Objects, klik objek yang akan dimigrasikan, lalu klik Right arrow untuk memindahkannya ke kotak Selected Objects.

      Catatan
      • Anda dapat memilih objek pada tingkat skema atau tabel. Jika Anda memilih tabel, objek lain seperti view, trigger, dan prosedur tersimpan tidak dimigrasikan.

      • Jika tabel yang akan dimigrasikan berisi kolom bertipe SERIAL dan Anda telah memilih Migration Types untuk Schema Migration, pilih juga Sequence atau migrasikan seluruh skema.

      Selected Objects

      Catatan
      • Jika Anda menggunakan fitur pemetaan nama objek untuk mengganti nama objek, objek lain yang bergantung pada objek yang diganti nama mungkin gagal dimigrasikan.

      • Untuk memfilter data menggunakan kondisi WHERE, klik kanan tabel di kotak Selected Objects. Di kotak dialog yang muncul, tentukan kondisinya. Untuk informasi selengkapnya, lihat Atur kondisi filter.

      • Untuk memilih operasi SQL yang akan dimigrasikan pada tingkat database atau tabel, klik kanan objek di kotak Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul.

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

      Parameter

      Description

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada klaster bersama. Anda tidak perlu memilihnya. Jika Anda menginginkan tugas yang lebih stabil, Anda dapat membeli klaster khusus untuk menjalankan tugas migrasi DTS.

      Retry Time for Failed Connections

      Setelah tugas migrasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mulai mencoba menghubungkan kembali. Durasi percobaan ulang default adalah 720 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 10 hingga 1440 menit. Kami menyarankan Anda mengatur durasi lebih dari 30 menit. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam durasi yang ditentukan, tugas migrasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.

      Catatan
      • Untuk beberapa instans DTS yang berbagi sumber atau tujuan yang sama, waktu percobaan ulang jaringan ditentukan oleh pengaturan tugas yang terakhir dibuat.

      • Karena Anda dikenai biaya untuk tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan waktu percobaan ulang berdasarkan kebutuhan bisnis Anda, atau segera merilis instans DTS setelah instans database sumber dan tujuan dirilis.

      Retry Time for Other Issues

      Setelah tugas migrasi dimulai, jika terjadi masalah non-konektivitas, seperti exception eksekusi DDL atau DML, di database sumber atau tujuan, DTS melaporkan error dan segera mulai mencoba mengulang operasi tersebut. Durasi percobaan ulang default adalah 10 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 1 hingga 1440 menit. Kami menyarankan Anda mengatur durasi lebih dari 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditentukan, tugas migrasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.

      Penting

      Nilai Retry Time for Other Issues harus kurang dari nilai Retry Time for Failed Connections.

      Enable Throttling for Full Data Migration

      Selama migrasi penuh, DTS mengonsumsi sumber daya baca dan tulis pada database sumber dan tujuan, yang dapat meningkatkan beban database. Jika diperlukan, Anda dapat mengaktifkan pembatasan kecepatan untuk tugas migrasi penuh. Anda dapat mengatur Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk mengurangi beban pada database tujuan.

      Catatan
      • Item konfigurasi ini tersedia hanya jika Anda memilih Full Data Migration untuk Migration Types.

      • Anda juga dapat menyesuaikan kecepatan migrasi penuh setelah instans migrasi sedang berjalan.

      Enable Throttling for Incremental Data Migration

      Jika diperlukan, Anda juga dapat memilih untuk mengatur batas kecepatan untuk tugas migrasi inkremental. Anda dapat mengatur RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s) untuk mengurangi beban pada database tujuan.

      Catatan

      Environment Tag

      Anda dapat memilih tag lingkungan untuk mengidentifikasi instans. Dalam contoh ini, tidak ada tag yang dipilih.

      Configure ETL

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

      Monitoring and Alerting

      Pilih apakah akan mengatur peringatan dan menerima pemberitahuan peringatan berdasarkan kebutuhan bisnis Anda.

      • No: Tidak mengatur peringatan.

      • Yes: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan pemberitahuan peringatan. Jika migrasi gagal atau latensi melebihi ambang batas, sistem mengirim pemberitahuan peringatan.

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

      Untuk informasi selengkapnya tentang fitur validasi data, lihat Konfigurasikan validasi data.

  6. Simpan tugas dan jalankan pemeriksaan awal.

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

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

    Catatan
    • Sebelum tugas migrasi dimulai, DTS melakukan pemeriksaan awal. Tugas hanya dimulai setelah lolos pemeriksaan awal.

    • Jika pemeriksaan awal gagal, klik View Details di sebelah item pemeriksaan yang gagal, perbaiki masalah berdasarkan prompt, lalu jalankan pemeriksaan awal lagi.

    • Jika peringatan dilaporkan selama pemeriksaan awal:

      • Untuk item pemeriksaan yang tidak dapat diabaikan, klik View Details di sebelah item yang gagal, perbaiki masalah berdasarkan prompt, lalu jalankan pemeriksaan awal lagi.

      • Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again untuk melewati item peringatan dan menjalankan pemeriksaan awal lagi. Jika Anda memilih untuk mengabaikan peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.

  7. Beli instans.

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

    2. Di halaman Purchase, pilih spesifikasi link untuk instans migrasi data. Untuk informasi selengkapnya, lihat tabel berikut.

      Category

      Parameter

      Description

      New Instance Class

      Resource Group Settings

      Pilih kelompok sumber daya tempat instans tersebut berada. Nilai default adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?

      Instance Class

      DTS menyediakan spesifikasi migrasi dengan tingkat kinerja berbeda. Spesifikasi link memengaruhi kecepatan migrasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link migrasi data.

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

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

      Anda dapat melihat progres tugas migrasi di halaman daftar Data Migration Tasks.

      Catatan
      • Jika tugas migrasi tidak mencakup migrasi inkremental, tugas tersebut berhenti secara otomatis setelah migrasi penuh selesai. Setelah tugas berhenti, Status-nya berubah menjadi Completed.

      • Jika tugas migrasi mencakup migrasi inkremental, tugas tersebut tidak berhenti secara otomatis. Tugas migrasi inkremental terus berjalan. Selama tugas migrasi inkremental berjalan, Status tugas adalah Running.