Sebelum menggunakan fitur perubahan skema tanpa lock dari Data Management (DMS), Anda harus mengaktifkannya untuk instans target.
Prasyarat
Jenis database yang didukung: ApsaraDB RDS for MySQL, PolarDB for MySQL, MyBase for MySQL, dan MySQL dari sumber lain.
Mode kontrol instans adalah Stable Change atau Security Collaboration. Untuk informasi selengkapnya, lihat View control modes.
Anda memiliki role DBA atau administrator. Untuk melihat role Anda, lihat View my system roles.
Aktifkan perubahan skema tanpa lock
Masuk ke DMS 5.0.
Pada halaman utama Konsol, dalam daftar Database Instances, klik kanan instans target dan pilih Lock-free Schema Change.
CatatanAlternatifnya, Anda dapat membuka dari bilah menu atas. Pada tab Instance List, klik di sebelah kanan instans target, lalu aktifkan perubahan skema tanpa lock pada bagian Advanced Information.
Tabel berikut menjelaskan opsi-opsinya.
Option
Description
Remarks
Enable (DMS OnlineDDL First)
DMS menggunakan mesin perubahan DDL tanpa lock miliknya sendiri untuk memastikan tabel tidak terkunci.
CatatanDalam kasus berikut, DMS OnlineDDL tidak dapat digunakan, dan sistem secara otomatis kembali ke OnlineDDL native MySQL. Tugas akan gagal jika DMS mendeteksi bahwa eksekusi native akan mengunci tabel atau mengembalikan error.
Tabel target kosong. Eksekusi native digunakan karena lebih cepat dan melakukan DDL pada tabel kosong berisiko rendah.
DMS OnlineDDL tidak mendukung penambahan unique constraint (UK).
Eksekusi lebih lambat dibandingkan OnlineDDL native MySQL, tetapi tidak memengaruhi perilaku replikasi dan lebih kecil kemungkinannya menyebabkan lag replikasi.
Enable (MySQL Native OnlineDDL First)
DMS pertama-tama mencoba OnlineDDL native MySQL. Jika DMS mendeteksi bahwa eksekusi native akan mengunci tabel atau gagal, sistem secara otomatis beralih ke DMS OnlineDDL untuk mencegah penguncian tabel.
Eksekusi relatif cepat, tetapi dapat menyebabkan replikasi paralel instans kembali ke replikasi serial, yang berpotensi menimbulkan lag replikasi.
Close
DMS mengirim pernyataan native langsung ke MySQL untuk dieksekusi tanpa pemrosesan apa pun.
N/A
Pada kotak dialog Modify Lock-free Schema Change, klik OK.
Setelah mengaktifkan perubahan skema tanpa lock untuk instans, Anda dapat mengajukan tiket perubahan skema tanpa lock.
Nonaktifkan perubahan skema tanpa lock
Untuk menonaktifkan perubahan skema tanpa lock, gunakan titik masuk yang sama seperti saat mengaktifkannya:
Pada halaman utama Konsol, dalam daftar Database Instances, klik kanan instans target dan pilih Lock-free Schema Change > Close.
CatatanAnda juga dapat memilih Data Assets > Instances dari bilah menu atas. Pada tab Instances, klik di kolom Actions instans target, lalu nonaktifkan perubahan skema tanpa lock pada bagian Advanced Information.
Pada kotak dialog Modify Lock-free Schema Change, pilih Close, lalu klik OK.
Setelah Anda menonaktifkan perubahan skema tanpa lock, DMS mengirim pernyataan DDL native langsung ke MySQL untuk dieksekusi tanpa pemrosesan apa pun. Apakah tabel dikunci selama perubahan skema bergantung pada dukungan Online DDL dari engine database:
Jika database mendukung Online DDL, operasi DDL hanya memegang kunci metadata singkat dan tidak mengunci tabel dalam periode yang lama.
Jika database tidak mendukung Online DDL, tabel akan dikunci selama durasi operasi DDL.
Menonaktifkan atau mengaktifkan kembali perubahan skema tanpa lock tidak memerlukan restart instans dan tidak memengaruhi status atau data instans. Pengaturan ini hanya berlaku untuk tiket perubahan skema yang diajukan melalui DMS dan tidak memengaruhi pernyataan DDL yang dieksekusi langsung oleh klien lain.
Operasi terkait
Setelah Anda mengaktifkan perubahan skema tanpa lock untuk suatu instans, DMS memprioritaskan metode ini untuk jenis tiket berikut pada instans tersebut:
- Catatan
Perubahan skema yang diajukan dalam tiket Normal data change umumnya menggunakan metode perubahan skema tanpa lock. Namun, jika tiket menargetkan seluruh instans alih-alih database tertentu, perubahan skema tanpa lock saat ini tidak didukung. Dalam kasus ini, tugas kembali ke metode eksekusi native meskipun fitur tersebut telah diaktifkan untuk instans.
FAQ
Apakah menonaktifkan dan mengaktifkan kembali perubahan skema tanpa lock DMS memiliki dampak apa pun?
Tidak. Menonaktifkan dan mengaktifkan kembali opsi perubahan skema tanpa lock tidak memengaruhi status atau data instans, tidak memerlukan restart instans, dan tidak menimbulkan risiko terhadap data. Selama periode perubahan skema tanpa lock dinonaktifkan, DMS menggunakan DDL native untuk mengeksekusi perubahan skema. Setelah Anda mengaktifkan kembali perubahan skema tanpa lock, DMS melanjutkan penggunaan mesin perubahan skema tanpa lock-nya untuk tiket perubahan skema yang diajukan melalui DMS.