全部产品
Search
文档中心

Data Management:Perubahan skema tanpa kunci

更新时间:Jul 02, 2025

Data Management (DMS) memungkinkan Anda mengubah skema tanpa mengunci tabel. Fitur ini mencegah gangguan bisnis akibat penguncian tabel dan mengurangi latensi yang disebabkan oleh fitur DDL online MySQL selama replikasi utama-sekunder. Proses ini melibatkan pembuatan satu atau lebih tabel sementara dengan skema baru, mereplikasi data penuh dan data log biner inkremental ke tabel tersebut, lalu menggantikan tabel asli dengan tabel sementara.

Prasyarat

  • Instansi database harus dikelola dalam mode Stable Change atau Security Collaboration di DMS. Untuk informasi lebih lanjut, lihat Mode Kontrol.

  • Fitur perubahan skema tanpa kunci harus diaktifkan untuk instansi database Anda. Untuk detail lebih lanjut, lihat Aktifkan Fitur Perubahan Skema Tanpa Kunci.

    Catatan

    Pada contoh berikut, fitur ini diaktifkan untuk instansi ApsaraDB RDS for MySQL dalam lingkungan pengembangan simulasi.

Prosedur

Pada contoh berikut, tipe data kolom long_text_a pada tabel big_table diubah dari varchar(1024) menjadi text.

  1. Ajukan Tiket sebagai pengguna biasa.

    1. Masuk ke Konsol DMS V5.0 sebagai pengguna biasa.

    2. Di bilah navigasi atas, pilih Database Development > Data Change > Lockless Change

      Catatan

      Jika menggunakan konsol DMS dalam mode sederhana, gerakkan pointer ke ikon 2022-10-21_15-25-22.png di sudut kiri atas konsol dan pilih All functions > Database Development > Data Change > Lockless Change.

    3. Atur parameter-parameter yang dijelaskan dalam tabel berikut dan klik Submit.

      Parameter

      Deskripsi

      Database

      Wajib. Database tempat Anda ingin mengubah data. Dalam contoh ini, database poc_dev dalam mode Secure Collaboration dipilih.

      Reason Category

      Wajib. Alasan untuk perubahan data. Ini membantu Anda menemukan tiket dalam operasi selanjutnya.

      Business Background

      Wajib. Tujuan atau objektif dari perubahan data. Ini mengurangi komunikasi yang tidak perlu.

      Execution Method

      Wajib. Metode eksekusi tiket yang diajukan. Pilih Last Auditor Execute.

      Affected Rows

      Wajib. Estimasi jumlah baris data yang akan terpengaruh oleh operasi penghapusan data. Untuk mendapatkan jumlah sebenarnya dari baris yang terpengaruh, Anda dapat menggunakan fungsi COUNT dalam pernyataan SQL dan menjalankan pernyataan SQL pada tab SQLConsole .

      SQL Statements for Change

      Wajib. Pernyataan SQL yang ingin Anda jalankan untuk mengubah data. Dalam contoh ini, pernyataan ALTER berikut dijalankan:

      ALTER TABLE `big_table`
        MODIFY COLUMN `long_text_a` text NULL AFTER `name`;
      Catatan

      Pernyataan ini mengubah tipe data kolom long_text_a dari varchar(1024) menjadi text.

      SQL Statements for Rollback

      Opsional. Pernyataan SQL yang dapat Anda jalankan untuk membatalkan perubahan data.

      Change Stakeholder

      Opsional. Pemangku kepentingan yang terlibat dalam perubahan data. Semua pemangku kepentingan yang ditentukan dapat melihat detail tiket dan membantu dalam proses persetujuan. Pengguna yang tidak ditentukan tidak diizinkan untuk melihat detail tiket (kecuali administrator DMS dan DBA).

    4. Di halaman Ticket Details, konfirmasikan detail tiket.

      Catatan

      Anda dapat melihat detail tiket di halaman Ticket Details. DMS melakukan pra-pemeriksaan terhadap pernyataan SQL yang ingin Anda jalankan. Item pra-pemeriksaan meliputi sintaks pernyataan SQL, apakah jenis pernyataan SQL sesuai dengan aturan keamanan yang dikonfigurasikan, izin pengguna yang mengajukan tiket, dan estimasi jumlah baris yang akan dipindai.

    5. Setelah detail tiket dikonfirmasi dan pra-pemeriksaan selesai, klik Submit for Approval. Dalam pesan yang muncul, klik OK.

      Penting

      Anda hanya dapat memodifikasi detail tiket sebelum mengajukannya untuk persetujuan.

  2. Setujui tiket sebagai administrator DMS.

    1. Masuk ke Konsol DMS V5.0 sebagai administrator DMS.

    2. Di halaman Beranda konsol DMS, klik Pending Tickets di bagian My Tickets.

    3. Di halaman My Tickets, temukan tiket yang ingin Anda tangani dan klik nomor tiket di kolom Ticket Number.

    4. Di panel Ticket Details, konfirmasikan informasi perubahan data dalam tiket dan klik Approve.

    5. Di kotak dialog yang muncul, masukkan komentar dan klik Submit.

  3. Jalankan tiket sebagai pengguna biasa.

    1. Masuk ke Konsol DMS V5.0 sebagai pengguna biasa.

    2. Di bagian Execute di panel Detail Tiket, klik Execute Change. Di kotak dialog yang muncul, atur parameter-parameter yang dijelaskan dalam tabel berikut dan klik Confirm Execution.

      Parameter

      Deskripsi

      Execute strategy

      Menentukan apakah tugas akan dieksekusi segera atau pada waktu yang dijadwalkan. Nilai valid:

      • Running immediately: DMS menjalankan tugas segera setelah Anda mengirimkan tugas.

      • Schedule: DMS menjalankan tugas pada waktu yang dijadwalkan yang Anda tentukan.

      Nilai default: Running immediately.

      Transaction Control

      Menentukan apakah kontrol transaksi diaktifkan. Nilai valid:

      • on: Jika pernyataan SQL gagal dijalankan, semua pernyataan DML yang telah dieksekusi dalam transaksi yang sama akan dibatalkan. Pernyataan DDL tidak dapat dibatalkan.

      • off: Satu pernyataan SQL dijalankan pada satu waktu. Jika pernyataan SQL gagal dijalankan, transaksi dihentikan. Pernyataan SQL lain yang telah dieksekusi dalam transaksi yang sama tidak dibatalkan.

      Nilai default: off.

      Data Backup

      Menentukan apakah data dicadangkan. Nilai valid:

      • on: DMS menghasilkan skrip INSERT untuk mencadangkan data yang akan terpengaruh ketika pernyataan UPDATE atau DELETE dijalankan.

      • off: Tidak ada skrip cadangan yang dihasilkan untuk data tersebut.

      Nilai default: on.

      Catatan

      Setelah Anda klik Confirm Execution, DMS mulai menjalankan tugas.

Lihat kemajuan tugas dan verifikasi skema

  1. Gerakkan pointer ke nama database yang akan diubah di bagian Basic Information sebagai administrator DMS. Di menu yang muncul, klik Query.

    Anda akan dialihkan secara otomatis ke halaman SQL Console.

  2. Di tab SQL Console, masukkan pernyataan kueri SQL di editor SQL. Kemudian, klik Execute di bagian atas editor SQL.

    Sebagai contoh, Anda dapat memasukkan pernyataan SQL berikut untuk menanyakan tabel-tabel dari database saat ini.

    SHOW TABLES;
    Catatan

    Ketika DMS mengubah skema tabel tanpa mengunci tabel, dua tabel sementara dihasilkan.

  3. Di bilah navigasi atas, pilih O&M > Task.

    Catatan

    Jika menggunakan konsol DMS dalam mode sederhana, gerakkan pointer ke ikon 2023-01-28_15-57-17.png di sudut kiri atas konsol DMS dan pilih All Features > O&M > Task.

  4. Klik nomor tugas dari tugas yang ingin Anda kelola. Kotak dialog Execution details muncul.

  5. Klik Progress di kolom Operation.

  6. Di pesan Perubahan Struktur Tanpa Kunci, lihat informasi kemajuan tugas.

  7. Setelah tugas selesai, verifikasi skema.

    Skema tabel big_table telah diubah, dan tabel sementara telah dihapus.