Data Management (DMS) kilit içermeyen şema değişikliği özelliğini kullanmadan önce, hedef örnek için bu özelliği etkinleştirmeniz gerekir.
Ön koşullar
Desteklenen veritabanı türleri: ApsaraDB RDS for MySQL, PolarDB for MySQL, MyBase for MySQL ve diğer kaynaklardan gelen MySQL.
Örneğin kontrol modu Stable Change veya Security Collaboration olmalıdır. Daha fazla bilgi için bkz. Kontrol modlarını görüntüleme.
Bir DBA veya yönetici rolüne sahip olmalısınız. Rolünüzü görüntülemek için bkz. Sistem rollerimi görüntüleme.
Kilit içermeyen şema değişikliğini etkinleştirme
DMS 5.0 konsolunda oturum açın.
-
Konsol ana sayfasında, Database Instances listesinde hedef örneğe sağ tıklayın ve Lock-free Schema Change seçeneğini belirleyin.
NotAlternatif olarak, üst menü çubuğundan yolunu izleyebilirsiniz. Instance List sekmesinde, hedef örneğin sağındaki seçeneğine tıklayın ve Advanced Information bölümünde kilit içermeyen şema değişikliğini etkinleştirin.
Aşağıdaki tabloda seçenekler açıklanmaktadır.
Seçenek
Açıklama
Açıklamalar
Enable (DMS OnlineDDL First)
DMS, tablonun kilitlenmemesini sağlamak için kendi DDL kilit içermeyen değişiklik motorunu kullanır.
NotAşağıdaki durumlarda DMS OnlineDDL kullanılamaz ve sistem otomatik olarak MySQL yerel OnlineDDL'e geri döner. DMS, yerel çalıştırmanın tabloyu kilitleyeceğini veya hata döndüreceğini tespit ederse görev başarısız olur.
Hedef tablo boştur. Boş bir tabloda DDL işlemi daha hızlıdır ve düşük risk taşıdığından yerel çalıştırma kullanılır.
DMS OnlineDDL, benzersiz kısıtlama (UK) eklemeyi desteklemez.
Çalıştırma, MySQL yerel OnlineDDL'e göre daha yavaştır ancak çoğaltma davranışını etkilemez ve çoğaltma gecikmesine neden olma olasılığı daha düşüktür.
Enable (MySQL Native OnlineDDL First)
DMS öncelikle MySQL yerel OnlineDDL'i dener. DMS, yerel çalıştırmanın tabloları kilitleyeceğini veya başarısız olacağını tespit ederse, tablo kilitlemeyi önlemek için otomatik olarak DMS OnlineDDL'e geçer.
Çalıştırma nispeten hızlıdır ancak örneğin paralel çoğaltmasının seri çoğaltmaya geri dönmesine neden olabilir; bu durum çoğaltma gecikmesine yol açabilir.
Close
DMS, yerel deyimi herhangi bir işlem yapmadan doğrudan MySQL'e göndererek çalıştırır.
Yok
-
Modify Lock-free Schema Change iletişim kutusunda OK düğmesine tıklayın.
Örnek için kilit içermeyen şema değişikliğini etkinleştirdikten sonra kilit içermeyen şema değişikliği bileti gönderebilirsiniz.
Kilit içermeyen şema değişikliğini devre dışı bırakma
Kilit içermeyen şema değişikliğini devre dışı bırakmak için etkinleştirme ile aynı giriş noktasını kullanın:
-
Konsol ana sayfasında, Database Instances listesinde hedef örneğe sağ tıklayın ve Lock-free Schema Change > Close seçeneğini belirleyin.
NotAlternatif olarak, üst menü çubuğundan Data Assets > Instances yolunu seçebilirsiniz. Instances sekmesinde, hedef örneğin Actions sütunundaki seçeneğine tıklayın ve Advanced Information bölümünde kilit içermeyen şema değişikliğini devre dışı bırakın.
Modify Lock-free Schema Change iletişim kutusunda Close seçeneğini belirleyin, ardından OK düğmesine tıklayın.
Kilit içermeyen şema değişikliğini devre dışı bıraktığınızda, DMS yerel DDL deyimlerini herhangi bir işlem yapmadan doğrudan MySQL'e göndererek çalıştırır. Şema değişiklikleri sırasında tabloların kilitlenip kilitlenmeyeceği, veritabanı altyapısının Online DDL desteğine bağlıdır:
Veritabanı Online DDL'yi destekliyorsa, DDL işlemi yalnızca kısa süreli bir meta veri kilidi tutar ve tabloyu uzun süre kilitlemez.
Veritabanı Online DDL'yi desteklemiyorsa, tablo DDL işlemi süresince kilitli kalır.
Kilit içermeyen şema değişikliğinin devre dışı bırakılması veya yeniden etkinleştirilmesi için örneği yeniden başlatmanız gerekmez; bu işlem örnek durumunu veya verileri etkilemez. Bu ayar yalnızca DMS üzerinden gönderilen şema değişikliği biletleri için geçerlidir ve diğer istemciler tarafından doğrudan çalıştırılan DDL deyimlerini etkilemez.
İlgili işlemler
Bir örnek için kilit içermeyen şema değişikliğini etkinleştirdiğinizde, DMS o örnekteki aşağıdaki bilet türleri için bu yöntemi önceliklendirir:
-
Not
Normal veri değişikliği biletinde gönderilen şema değişiklikleri genellikle kilit içermeyen şema değişikliği yöntemini kullanır. Ancak, bilet belirli bir veritabanı yerine tüm bir örneği hedefliyorsa, kilit içermeyen şema değişikliği şu anda desteklenmemektedir. Bu durumda, özellik örnek için etkinleştirilmiş olsa bile görev yerel çalıştırma yöntemine geri döner.
SSS
DMS kilit içermeyen şema değişikliğinin devre dışı bırakılması ve yeniden etkinleştirilmesinin bir etkisi var mı?
Hayır. Kilit içermeyen şema değişikliği seçeneğinin devre dışı bırakılması ve yeniden etkinleştirilmesi, örnek durumunu veya verileri etkilemez, örneği yeniden başlatmanızı gerektirmez ve veri riski oluşturmaz. Kilit içermeyen şema değişikliğinin devre dışı bırakıldığı dönemde DMS, şema değişikliklerini yürütmek için yerel DDL kullanır. Kilit içermeyen şema değişikliğini yeniden etkinleştirdiğinizde, DMS DMS üzerinden gönderilen şema değişikliği biletleri için kilit içermeyen şema değişikliği motorunu kullanmaya devam eder.