All Products
Search
Document Center

Data Management:Perubahan\ data\ normal

Last Updated:Mar 28, 2026

Normal Data Modify memungkinkan Anda menjalankan pernyataan INSERT, UPDATE, DELETE, dan TRUNCATE terhadap database melalui alur kerja berbasis tiket yang dilengkapi dukungan pemeriksaan awal (precheck), persetujuan, dan rollback bawaan.

Cara kerja

Setiap perubahan data melewati empat tahap:

  1. Submit — Konfigurasikan pernyataan SQL dan detail tiket, lalu kirimkan tiket tersebut.

  2. Precheck — DMS memvalidasi sintaksis SQL dan memastikan jenis pernyataan yang dikirimkan didukung oleh Normal Data Modify.

  3. Approve — Administrator basis data (DBA) meninjau apakah perubahan tersebut dapat memengaruhi kinerja database dan apakah izin yang diperlukan telah tersedia.

  4. Execute — Jalankan SQL yang telah disetujui. Jika hasilnya tidak sesuai harapan, buat tiket rollback untuk memulihkan data ke kondisi semula.

Prasyarat

Sebelum memulai, pastikan bahwa:

  • Instansiasi basis data target dikelola dalam mode Stable Change atau Security Collaboration di DMS. Untuk informasi selengkapnya, lihat Control modes.

Catatan penggunaan

  • Setelah mengirimkan tiket, Anda dapat menutupnya kapan saja — bahkan sebelum tiket tersebut disetujui atau ditolak. Menutup tiket mencegah tugas terkait dijalankan.

  • Kirimkan tiket terlebih dahulu di lingkungan pengujian. DMS memeriksa jumlah baris yang terpengaruh dan menghasilkan file cadangan untuk setiap perubahan, sehingga Anda dapat memulihkan data jika hasilnya tidak sesuai harapan.

    Untuk menjaga kecepatan pengembangan, Anda dapat mengonfigurasi lingkungan pengujian agar melewati persetujuan. Untuk detailnya, lihat SQL Correct.
  • DMS secara otomatis menghasilkan skrip cadangan sebelum menjalankan pernyataan UPDATE atau DELETE.

  • Jika Anda menggunakan database logis, tabel logis, dan algoritma perutean, satu tiket dapat mencakup semua shard — tidak perlu mengirimkan satu tiket untuk setiap database fisik atau tabel.

    • Jika pernyataan SQL mencakup bidang routing dan algoritma perutean telah dikonfigurasi, DMS akan mengarahkan pernyataan tersebut ke tabel fisik yang sesuai.

    • Jika tidak ada algoritma perutean yang dikonfigurasi, tidak ada bidang routing yang disertakan, atau tipe data bidang routing tidak sesuai dengan algoritma, DMS akan menjalankan pernyataan tersebut secara berurutan pada setiap tabel di setiap database. Proses ini membutuhkan waktu lebih lama untuk diselesaikan.

Kirim dan jalankan perubahan data

Langkah 1: Konfigurasikan dan kirimkan tiket

  1. Masuk ke Konsol DMS V5.0.

  2. Arahkan penunjuk ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Database Development > Data Change > Normal Data Modify.

    Dalam mode normal, pilih Database Development > Data Change > Normal Data Modify di bilah navigasi atas.
  3. Pada langkah Apply wizard Tiket Perubahan Data, isi detail tiket.

    Parameter di bawah ini mencerminkan instans yang dikelola dalam mode Security Collaboration. Instans dalam mode Stable Change mungkin memiliki opsi yang sedikit berbeda. Fitur perubahan instans sumber data sedang dalam rilis canary.
    ParameterWajibDeskripsi
    Change TargetYaPilih Database atau Data Source Instance. Perubahan instans sumber data hanya didukung untuk instans ApsaraDB RDS for MySQL, PolarDB for MySQL, dan AnalyticDB for MySQL.
    Database atau InstancesYaDatabase atau instans yang akan diubah. Pilih yang Anda miliki izin perubahan. Anda hanya dapat memilih satu instans sumber data.
    Reason CategoryYaAlasan perubahan data. Membantu Anda menemukan kembali tiket tersebut nanti. Administrator DMS dapat menambah atau mengubah kategori alasan di O&M > Configuration Management. Untuk detailnya, lihat Configuration management.
    Business BackgroundYaTujuan perubahan. Deskripsi yang rinci mempercepat proses persetujuan.
    Execution MethodYaSiapa yang menjalankan tugas setelah disetujui. Opsi: Ticket Submitter Executes Upon Approval, Automatically Execute Upon Approval, atau Last Approver Executes. Administrator DMS dapat mengubah opsi yang tersedia di O&M > Configuration Management. Untuk detailnya, lihat Configuration management.
    Affected RowsYaPerkiraan jumlah baris yang terpengaruh oleh perubahan.
    SQL Statements for ChangeYaCara menyediakan SQL: Text (masukkan langsung) atau Attachment (unggah file).
    SQL TextYa (jika Text)Pernyataan SQL yang akan dijalankan. Pisahkan beberapa pernyataan dengan titik koma (;). DMS memvalidasi sintaksis saat dikirim — SQL yang tidak valid akan menghentikan pengiriman. Jika Change Target adalah Data Source Instance, tambahkan awalan nama tabel dengan ${dbName}.${tableName}.
    AttachmentYa (jika Attachment)File yang berisi pernyataan SQL. Format yang didukung: TXT, ZIP, atau SQL. Ukuran maksimum: 15 MB.
    SQL Statements for RollbackTidakSQL rollback sebagai Text atau Attachments. Jika disediakan, DMS akan mengisi otomatis pernyataan tersebut saat Anda membuat tiket rollback. Jika tidak disediakan, Anda harus memasukkannya secara manual.
    SQL Text (rollback)Tidak (jika Text)Pernyataan SQL yang digunakan untuk melakukan rollback perubahan.
    Attachment (rollback)Tidak (jika Attachment)File yang berisi SQL rollback. Format yang didukung: TXT, ZIP, atau SQL. Ukuran maksimum: 15 MB.
    Change StakeholderTidakPengguna tambahan yang dapat melihat detail tiket dan berpartisipasi dalam proses persetujuan. Pengguna yang tidak tercantum di sini (selain administrator DMS dan DBA) tidak dapat mengakses detail tiket.
    AttachmentsTidakFile pendukung yang memberikan konteks tambahan untuk perubahan tersebut.
  4. Klik Submit.

Langkah 2: Lakukan precheck terhadap pernyataan SQL

Setelah Anda mengirimkan tiket, DMS secara otomatis menjalankan precheck untuk memvalidasi sintaksis SQL, memastikan jenis pernyataan didukung, dan memverifikasi bahwa Anda memiliki izin yang diperlukan untuk menjalankan pernyataan SQL tersebut. Jika precheck gagal, perbarui SQL sesuai petunjuk dan kirim ulang.

image

Langkah 3: Setujui tiket

Setelah precheck berhasil, klik Submit for Approval. Di dialog Prompt, klik OK.

Secara default, persetujuan DBA diperlukan. Untuk mengubah templat persetujuan default, lihat bagian Change the default approval template pada topik "SQL Correct".

Langkah 4: Jalankan perubahan

Penting

Jalankan perubahan data selama jam sepi untuk meminimalkan dampak terhadap bisnis.

  1. Setelah tiket disetujui, klik Execute Change. Di dialog Task Settings, konfigurasikan opsi eksekusi dan klik Confirm Execution.

    Langkah ini dilewati secara otomatis jika Anda memilih Automatically Execute Upon Approval di Langkah 1. Setelah tugas yang ditangguhkan dilanjutkan, eksekusi berlanjut dari titik di mana tugas dijeda.
    Eksekusi SQL juga diatur oleh checkpoint dalam aturan keamanan Anda — seperti pemeriksaan timeout lock, pemeriksaan beban database, dan kebijakan jeda pasca-eksekusi. Untuk meninjau checkpoint untuk aturan keamanan, buka halaman detail aturan tersebut dan klik SQL execution control. Untuk mengubah pengaturan checkpoint, lihat Configure the control on SQL execution.
    ParameterDeskripsi
    Execution StrategyKapan tugas dijalankan. Running immediately memulai tugas segera setelah Anda mengklik Confirm Execution. Schedule memungkinkan Anda menentukan tanggal dan waktu (misalnya, 00:00:00 pada 22 Mei 2024).
    Specify End TimeWaktu di mana DMS menghentikan tugas, terlepas dari status penyelesaiannya. Gunakan ini untuk mencegah perubahan berdurasi panjang tumpang tindih dengan jam sibuk. Waktu henti aktual dapat berbeda hingga ±1 menit.
    Enable Submit as Single TransactionDefault: nonaktif. Jika diaktifkan, semua pernyataan SQL dijalankan sebagai satu transaksi. Jika ada pernyataan yang gagal, semua pernyataan DML dalam transaksi tersebut akan di-rollback. Pernyataan DDL tidak dapat di-rollback. Jika dinonaktifkan, setiap pernyataan merupakan transaksi tersendiri, dan kegagalan akan menghentikan eksekusi tanpa mengembalikan pernyataan sebelumnya.
    Enable BackupDefault: nonaktif. Jika diaktifkan, DMS menghasilkan SQL cadangan sebelum menjalankan pernyataan UPDATE atau DELETE — berupa pernyataan REPLACE INTO untuk database MySQL dan MariaDB, atau pernyataan INSERT untuk database lainnya. Cadangan tidak didukung untuk MongoDB atau Redis. Jenis database MySQL yang didukung: ApsaraDB RDS for MySQL, PolarDB for MySQL, PolarDB-X, dan database MySQL yang tidak berada di Alibaba Cloud.
    Primary/Secondary Node CheckMemantau sinkronisasi data antara instans primary dan secondary untuk menjaga ketersediaan tinggi.
    Canary Release TypeMengontrol cara DMS menjalankan eksekusi SQL. No Canary Release: menjalankan semua pernyataan secara otomatis. Suspend after Executing the First SQL Statement: menjeda setelah pernyataan pertama berhasil; klik Retry untuk melanjutkan. Suspend after Executing an SQL Statement: menjeda setelah setiap pernyataan; klik Retry untuk menjalankan pernyataan berikutnya.
  2. Setelah tugas selesai, klik Details di kolom Actions untuk meninjau status tiket, jumlah eksekusi, jumlah baris yang terpengaruh, pernyataan yang dieksekusi, dan log.

Verifikasi perubahan

Di bagian Basic Information panel detail tiket, arahkan penunjuk ke nama database dan klik Query.

image

Di tab SQL Console, periksa apakah data tabel sesuai dengan ekspektasi Anda.

Lakukan rollback perubahan

Jika data tidak sesuai ekspektasi, buat tiket rollback untuk memulihkan ke kondisi semula.

Matriks dukungan cadangan

Sebelum melakukan rollback, pastikan skenario Anda didukung:

Rollback SourceKapan tersedia
Rollback textAnda menyediakan SQL rollback di bidang SQL Statements for Rollback saat mengirimkan tiket
Rollback attachmentAnda mengunggah file SQL rollback saat mengirimkan tiket
Backup fileEnable Backup diaktifkan sebelum eksekusi, dan perubahan menggunakan pernyataan UPDATE atau DELETE
Cadangan tidak didukung untuk database MongoDB atau Redis.

Buat tiket rollback

  1. Di bagian Execute, klik Generate Rollback Ticket di kolom Actions untuk database tersebut.

  2. Pilih sumber rollback dan klik OK:

    • Rollback text — Diisi otomatis dari SQL rollback yang Anda masukkan saat mengirimkan tiket

    • Rollback attachment — File rollback yang Anda unggah saat mengirimkan tiket

    • Backup file — File cadangan yang dihasilkan selama eksekusi (hanya tersedia jika pencadangan diaktifkan)

  3. Opsional, edit konten rollback:

    • Rollback text — Ubah pernyataan SQL langsung di editor.

    • Rollback attachment atau backup file — Unduh file tersebut, edit SQL-nya, lalu unggah kembali ke tiket rollback.

  4. Tinjau detail rollback dan klik Submit. Tiket rollback mengikuti alur kerja yang sama dengan tiket Normal Data Modify.

Unduh file cadangan

Untuk menyimpan file cadangan atau mengunggahnya ke DMS setelah perubahan, klik Download Backup di kolom Actions.

File cadangan berisi:

  • Pernyataan SQL asli yang dieksekusi untuk perubahan

  • Klausa SELECT dari SQL asli

  • Pernyataan SQL yang dihasilkan untuk pencadangan data

Contoh:

/*
[Database]:   rds@rm-bp144d5ky4l4rli0417****.mysql.rds.aliyuncs.com:3306[rds mysql]
*/

/*
[SQL]:


UPDATE t_order
SET product_id = 88
WHERE id = 10054
[BACKUP SQL]:    SELECT *
FROM t_order
WHERE id = 10054
*/
REPLACE INTO `t_order`(`id`,`product_id`,`gmt_create`,`gmt_modified`,`customer_id`,`price`,`status`,`province`) VALUES
(10054,81,'2021-12-14 09:44:44','2021-12-14 09:44:44',71,63.45,'Success','Hangzhou');

Ambil SQL cadangan dari file tersebut, verifikasi kebenarannya, lalu kirimkan tiket Normal Data Modify untuk memulihkan data.

Jika pernyataan UPDATE yang salah dieksekusi dan DMS menghasilkan pernyataan INSERT untuk cadangan alih-alih pernyataan REPLACE INTO, pulihkan data secara manual.

FAQ

  • Q: Saat saya mengirimkan perubahan data di DMS, operasi gagal dengan pesan error: "The topology of the published database XXX is inconsistent with the topology of the change baseline database. Please correct the topology and try again."

    A: Untuk database logis, struktur sharding pada database garis dasar dan database produksi harus konsisten. Misalnya, jika database garis dasar memiliki 8 database dan 256 tabel, database produksi juga harus memiliki 8 database dan 256 tabel. Hal ini karena skrip untuk perubahan produksi dihasilkan dengan membandingkannya terhadap database garis dasar. Oleh karena itu, lingkungan garis dasar dan produksi harus konsisten.

  • Q: Saat saya membuat tiket perubahan data di DMS, saya tidak dapat menemukan database Redis.

    A: Daftar drop-down tidak menampilkan semua database. Biasanya hanya menampilkan database yang baru saja digunakan. Jika database tidak ada dalam daftar drop-down, Anda perlu mencarinya. Anda dapat menyalin string koneksi dari jendela SQL Console dan menggunakannya dalam pencarian Anda.

Langkah berikutnya