Fitur Modifikasi Data Normal dari Data Management (DMS) memungkinkan Anda untuk langsung atau secara berkala mengeksekusi pernyataan SQL seperti INSERT, UPDATE, DELETE, dan TRUNCATE guna mengubah data dalam database. Topik ini menjelaskan cara mengajukan tiket Modifikasi Data Normal.
Ikhtisar Operasi
Konfigurasikan dan kirimkan tiket Modifikasi Data Normal.
Pilih database atau instance yang ingin dikelola. Kemudian, masukkan pernyataan SQL untuk perubahan data atau unggah file berisi pernyataan SQL tersebut.
Jalankan pra-pemeriksaan.
DMS akan memeriksa apakah pernyataan SQL yang diajukan sesuai dengan tipe yang didukung oleh fitur Modifikasi Data Normal serta apakah Anda memiliki izin yang diperlukan untuk mengeksekusi pernyataan tersebut.
Tinjau dan setujui tiket.
DMS akan memverifikasi apakah pernyataan SQL yang ingin dieksekusi memengaruhi kinerja database dan apakah Anda memiliki izin yang diperlukan untuk melaksanakan pernyataan tersebut.
Mengubah data.
Eksekusi pernyataan SQL yang diajukan untuk perubahan data. Jika terjadi kesalahan selama proses perubahan data atau jika bisnis Anda memerlukan pengembalian perubahan data yang dibuat oleh pernyataan SQL, DMS menyediakan opsi untuk membuat tiket rollback guna mengembalikan data asli setelah perubahan selesai.
Prasyarat
Instance database yang digunakan harus dikelola dalam mode Perubahan Stabil atau Kolaborasi Keamanan di DMS. Untuk informasi lebih lanjut, lihat Mode kontrol.
Catatan Penggunaan
Setelah mengajukan tiket perubahan data untuk persetujuan, Anda dapat menutup tiket tanpa memedulikan status persetujuannya. Ini mencegah eksekusi tugas terkait tiket setelah persetujuan diberikan.
Disarankan untuk mengajukan tiket perubahan data di lingkungan pengujian. Hal ini memastikan bahwa sistem memeriksa jumlah baris yang terpengaruh dan menghasilkan file cadangan untuk setiap perubahan data, sehingga memungkinkan pemulihan data jika hasilnya tidak sesuai harapan.
CatatanUntuk memastikan efisiensi R&D yang tinggi, Anda dapat menentukan bahwa persetujuan tidak diperlukan untuk tiket perubahan data di lingkungan pengujian. Untuk informasi lebih lanjut, lihat Koreksi SQL.
Jika Anda telah mengonfigurasi database logis, tabel logis, dan algoritma routing di DMS, Anda hanya perlu mengajukan satu tiket untuk melakukan sharding database dan tabel. Dengan cara ini, Anda tidak perlu mengajukan tiket untuk setiap database fisik atau tabel.
Jika algoritma routing dikonfigurasi dan bidang routing termasuk dalam pernyataan SQL yang digunakan untuk sharding database dan tabel, algoritma routing akan merutekan pernyataan ke tabel fisik yang sesuai untuk dieksekusi.
Jika algoritma routing tidak dikonfigurasi, tidak ada bidang routing yang termasuk dalam pernyataan SQL, atau tipe data dari bidang routing tidak cocok dengan tipe data yang ditentukan dalam algoritma routing, pernyataan SQL akan dieksekusi secara berurutan pada setiap tabel di setiap database. Proses ini membutuhkan waktu lebih lama untuk diselesaikan.
DMS secara otomatis menghasilkan lampiran skrip cadangan sebelum pernyataan
UPDATEatauDELETEdieksekusi.
Prosedur
Langkah 1: Konfigurasikan dan kirimkan tiket
- Masuk ke Konsol DMS V5.0.
Geser penunjuk mouse ke ikon
di sudut kiri atas Konsol DMS dan pilih .CatatanJika Anda menggunakan Konsol DMS dalam mode normal, pilih di bilah navigasi atas.
Di langkah Apply wizard Tiket Perubahan Data, konfigurasikan parameter untuk mengirimkan tiket perubahan data. Tabel berikut menjelaskan beberapa parameter.
CatatanDalam contoh ini, instance yang dikelola dalam mode Kolaborasi Keamanan digunakan. Jika instance dikelola dalam mode Perubahan Stabil, parameter yang dapat dikonfigurasikan mungkin sedikit berbeda.
Fitur perubahan instance sumber data berada dalam rilis canary.
Parameter
Wajib
Deskripsi
Change Target
Ya
Nilai valid adalah Database dan Data Source Instance.
CatatanFitur perubahan instance sumber data hanya didukung oleh instance ApsaraDB RDS for MySQL, kluster PolarDB for MySQL, dan kluster AnalyticDB for MySQL.
Database atau Instances
Ya
Database atau instance untuk mana Anda ingin mengajukan tiket. Anda harus memilih database atau instance di mana Anda memiliki izin untuk melakukan perubahan.
CatatanAnda hanya dapat memilih satu instance sumber data tunggal.
Reason Category
Ya
Alasan untuk perubahan data. Ini membantu Anda menemukan tiket dalam operasi selanjutnya.
CatatanJika Anda adalah administrator DMS, Anda dapat memodifikasi kategori alasan di halaman Configuration Management modul . Untuk informasi lebih lanjut, lihat Manajemen konfigurasi.
Business Background
Ya
Tujuan atau objektif dari perubahan data. Untuk mempercepat proses persetujuan, masukkan deskripsi rinci.
Execution Method
Ya
Metode eksekusi tiket. Nilai valid:
Pengirim Tiket Menjalankan Setelah Disetujui
Otomatis Jalankan Setelah Disetujui
Pemberi Persetujuan Terakhir Menjalankan
CatatanJika Anda adalah administrator DMS, Anda dapat memodifikasi metode eksekusi di halaman Configuration Management modul . Untuk informasi lebih lanjut, lihat Manajemen konfigurasi.
Affected Rows
Ya
Estimasi jumlah baris data yang mungkin terpengaruh oleh perubahan data.
SQL Statements for Change
Ya
Pernyataan SQL yang digunakan untuk perubahan data. Anda dapat memilih Text atau Attachment.
SQL Text
Ya
Parameter ini tersedia hanya jika Anda mengatur parameter SQL Statements for Change ke Text. Masukkan pernyataan SQL yang dapat dieksekusi di bidang Teks SQL.
CatatanPisahkan beberapa pernyataan SQL dengan titik koma (;).
Jika Anda mengatur parameter Target Perubahan ke Instance Sumber Data, Anda harus menambahkan nama database dalam format
${dbName}.${tableName}sebelum semua nama tabel dalam pernyataan SQL.DMS memeriksa apakah sintaks pernyataan SQL valid saat Anda mengirimkan tiket. Jika sintaks tidak valid, Anda tidak dapat mengirimkan tiket.
Attachment
Ya
Parameter ini tersedia hanya jika Anda mengatur parameter SQL Statements for Change ke Attachment. Unggah file yang menyimpan pernyataan SQL yang digunakan untuk perubahan data.
CatatanFile yang ingin Anda unggah dapat berupa file TXT, ZIP, atau SQL. Ukuran file tidak boleh melebihi 15 MB.
SQL Statements for Rollback
Tidak
Pernyataan SQL yang digunakan untuk rollback. Anda dapat memilih Text atau Attachment.
CatatanDMS secara otomatis mengisi pernyataan untuk rollback saat membuat tiket rollback hanya jika Anda telah memasukkan pernyataan SQL untuk rollback atau mengunggah file SQL untuk rollback. Jika tidak, Anda harus memasukkan pernyataan SQL secara manual.
SQL Text
Tidak
Parameter ini tersedia hanya jika Anda mengatur parameter SQL Statements for Rollback ke Text. Masukkan pernyataan SQL untuk rollback. Pernyataan SQL yang Anda tentukan untuk parameter ini digunakan untuk rollback perubahan data.
Attachment
Tidak
Parameter ini tersedia hanya jika Anda mengatur parameter SQL Statements for Rollback ke Attachment. Klik File untuk mengunggah file yang berisi pernyataan SQL yang ingin Anda gunakan untuk rollback.
CatatanFile yang ingin Anda unggah dapat berupa file TXT, ZIP, atau SQL. Ukuran file tidak boleh melebihi 15 MB.
Change Stakeholder
Tidak
Pemangku kepentingan yang terlibat dalam perubahan data. Semua pemangku kepentingan yang ditentukan dapat melihat detail tiket dan berpartisipasi dalam proses persetujuan. Pengguna yang tidak relevan, kecuali administrator DMS dan administrator basis data (DBA), tidak memiliki akses ke detail tiket.
Attachments
Tidak
File yang digunakan sebagai lampiran tiket untuk memberikan informasi tambahan tentang perubahan data.
Klik Submit.
Langkah 2: Pra-pemeriksaan pernyataan SQL
Setelah mengirimkan tiket, sistem secara otomatis melakukan pra-pemeriksaan pada tiket. Jika tiket gagal pra-pemeriksaan, modifikasi pernyataan SQL sesuai petunjuk dan kirimkan tiket kembali.

Langkah 3: Tinjau dan setujui tiket
Setelah tiket lolos pra-pemeriksaan, klik Submit for Approval. Di pesan Prompt, klik OK.
Secara default, tiket perubahan data disetujui oleh DBA. Untuk informasi lebih lanjut tentang cara mengubah template persetujuan default, lihat bagian Ubah template persetujuan default dari topik "Koreksi SQL".
Langkah 4: Lakukan perubahan data
Disarankan untuk melakukan perubahan data selama jam-jam sepi.
Setelah aplikasi disetujui, klik Execute Change. Di kotak dialog Task Settings, konfigurasikan parameter eksekusi tugas yang dijelaskan dalam tabel berikut dan klik Confirm Execution.
CatatanLangkah ini dilewati secara otomatis jika Anda mengatur parameter Execution Method ke Automatically Execute Upon Approval di langkah Apply.
Setelah tugas yang ditangguhkan dilanjutkan, skrip dapat dieksekusi dari posisi di mana skrip ditangguhkan.
Parameter
Deskripsi
Execution Strategy
Menentukan apakah tugas untuk tiket dijalankan segera atau pada waktu yang dijadwalkan. Nilai valid:
Running immediately: Jika Anda memilih opsi ini, DMS menjalankan tugas segera setelah Anda klik Confirm Execution.
Schedule: Jika Anda memilih opsi ini, Anda harus menentukan waktu. Setelah Anda klik Konfirmasi Eksekusi, DMS menjalankan tugas pada waktu yang dijadwalkan. Misalnya, Anda dapat menentukan untuk menjalankan tugas pada 00:00:00 tanggal 22 Mei 2024.
Specify End Time
Menentukan waktu ketika tugas berakhir. Sistem menghentikan tugas pada waktu akhir yang ditentukan terlepas dari apakah tugas selesai. Ini mencegah tugas memengaruhi bisnis Anda selama jam sibuk.
CatatanWaktu akhir tugas aktual mungkin memiliki deviasi ±1 menit dari waktu akhir yang ditentukan.
Enable Submit as Single Transaction
Menentukan apakah akan mengirimkan semua pernyataan sebagai transaksi tunggal. Secara default, saklar ini dimatikan. Nilai valid:
on: Semua pernyataan SQL yang terlibat dalam perubahan ini dikirimkan sebagai transaksi. Jika pernyataan SQL gagal, semua pernyataan DML yang dieksekusi dalam transaksi yang sama akan dikembalikan. Pernyataan DDL tidak dapat dikembalikan.
off: Setiap pernyataan SQL dikirimkan sebagai transaksi. Jika pernyataan SQL gagal, transaksi dihentikan, tetapi pernyataan SQL yang dieksekusi tidak dikembalikan.
Enable Backup
Menentukan apakah akan mencadangkan data. Secaradefault, saklar ini dimatikan. Setelah Anda mengaktifkan cadangan, Anda dapat menggunakan file cadangan untuk memulihkan data. Nilai valid:
CatatanCadangan data hanya didukung untuk pernyataan UPDATE dan DELETE.
Anda tidak dapat mencadangkan data untuk database MongoDB atau Redis.
on: DMS menghasilkan pernyataan tertentu untuk mencadangkan data yang terpengaruh ketika pernyataan
UPDATEatauDELETEdieksekusi.Jika database adalah database MySQL atau MariaDB, DMS menghasilkan pernyataan
REPLACE INTO.CatatanTipe database MySQL yang didukung termasuk ApsaraDB RDS for MySQL, PolarDB for MySQL, PolarDB-X, dan database MySQL yang tidak berada di Alibaba Cloud.
Jika database bukan database MySQL atau MariaDB, DMS menghasilkan pernyataan
INSERT.
off: DMS tidak menghasilkan pernyataan untuk cadangan data.
Primary/Secondary Node Check
Anda dapat mengaktifkan fitur ini untuk terus menjaga sinkronisasi data antara node utama dan cadangan, memberikan ketersediaan tinggi dan pemulihan kesalahan yang cepat.
Canary Release Type
Kebijakan untuk mengeksekusi pernyataan SQL. Nilai valid:
No Canary Release: DMS secara otomatis mengeksekusi semua pernyataan SQL dalam tugas.
Suspend after Executing the First SQL Statement: Setelah pernyataan SQL pertama berhasil dieksekusi, DMS secara otomatis menjeda eksekusi SQL. Jika Anda perlu melanjutkan, klik Retry. Kemudian, DMS mengeksekusi pernyataan SQL yang tersisa segera tanpa jeda lebih lanjut.
Suspend after Executing an SQL Statement: DMS menjeda setelah eksekusi setiap pernyataan SQL tunggal. Anda perlu mengklik Retry secara manual untuk mengeksekusi pernyataan SQL berikutnya.
CatatanEksekusi tugas SQL dipantau oleh titik pemeriksaan yang dikonfigurasikan dalam security rules untuk mengontrol eksekusi SQL. Contoh titik pemeriksaan termasuk mekanisme timeout kunci database sebelum eksekusi SQL, pemeriksaan beban database sebelum eksekusi SQL, dan kebijakan tidur setelah eksekusi SQL. Untuk memeriksa titik pemeriksaan yang dikonfigurasikan dalam aturan keamanan untuk mengontrol eksekusi SQL, buka halaman detail aturan keamanan, dan klik SQL execution control di panel sisi kiri. Untuk informasi lebih lanjut tentang cara memodifikasi pengaturan titik pemeriksaan default, lihat Konfigurasikan kontrol pada eksekusi SQL.
Setelah tugas selesai, Anda dapat mengklik Details di kolom Actions tiket untuk melihat status tiket, jumlah kali tugas dijalankan, jumlah baris yang terpengaruh, pernyataan yang dieksekusi, dan log.
Setelah tugas selesai, Anda dapat membuka tab SQLConsole dari database untuk memeriksa apakah data tabel sesuai dengan harapan Anda.
Opsional. Buat tiket rollback dan pulihkan data asli.
Jika data tidak berubah sesuai harapan, Anda dapat membuat tiket rollback atau secara manual mengajukan tiket Modifikasi Data Normal untuk memulihkan data. Bagian berikut menjelaskan cara membuat tiket rollback:
Di bagian Execute, klik Generate Rollback Ticket di kolom Tindakan database yang ingin Anda kelola.
Pilih sumber untuk rollback dan klik OK. Sumber berikut didukung:
Teks rollback: teks rollback yang diisi sebelumnya saat Anda mengonfigurasi informasi tiket.
Lampiran rollback: lampiran rollback yang diunggah saat Anda mengonfigurasi informasi tiket.
File cadangan: lampiran cadangan yang dihasilkan selama eksekusi tiket.
CatatanUntuk menggunakan file cadangan untuk memulihkan data, Anda harus mengaktifkan fitur cadangan sebelum melakukan perubahan data.
Opsional. Konfigurasikan teks rollback, lampiran rollback, atau file cadangan berdasarkan kebutuhan bisnis Anda.
Teks rollback: Anda dapat memodifikasi pernyataan SQL di editor.
Lampiran rollback atau file cadangan: Anda harus mengunduh lampiran rollback atau file cadangan ke komputer Anda, memodifikasi pernyataan SQL, dan kemudian mengunggah lampiran rollback atau file cadangan ke tiket rollback.
Konfirmasi informasi rollback dan klik Submit. Proses tiket berikutnya sama dengan proses tiket Modifikasi Data Normal.
Unduh file cadangan.
Jika Anda ingin menyimpan file cadangan atau mengunggah file cadangan ke DMS setelah perubahan, Anda harus mengunduh file cadangan.
Klik Unduh Cadangan di kolom Tindakan. File cadangan berisi informasi berikut:
Pernyataan SQL asli yang dieksekusi untuk mengubah data.
Klausa SELECT dalam pernyataan SQL asli.
Pernyataan SQL yang digunakan untuk cadangan 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');Ekstrak pernyataan SQL untuk cadangan data dari file cadangan. Setelah Anda konfirmasi bahwa pernyataan tersebut valid, ajukan tiket Modifikasi Data Normal untuk memulihkan data database berdasarkan skenario aktual.
CatatanJika pernyataan
UPDATEyang tidak tepat dieksekusi untuk perubahan data dan sistem menghasilkan pernyataanINSERTuntuk cadangan data, Anda harus memulihkan data secara manual.
Opsional. Verifikasi apakah data berubah sesuai harapan.
Di bagian Basic Information panel detail tiket, geser penunjuk mouse ke atas nama database dan klik Query.

Di tab SQLConsole database, periksa apakah data tabel sesuai dengan harapan Anda.