Tüm Ürünler
Search
Belge Merkezi

Data Management:Kilit gerektirmeyen DML işlemi

Son Güncelleme:Oct 13, 2026

Tabloyu kilitlemeden büyük miktarda tablo verisini değiştirmeniz gerekiyorsa, Data Management (DMS) içindeki Kilit Gerektirmeyen Değişiklik özelliğini kullanabilirsiniz. Bu özellik, tek bir SQL deyimini çalıştırmak üzere birden çok toplu işe böler; bu sayede tablo verilerini tabloyu kilitlemeden değiştirebilir ve DML işlemlerinin veritabanı performansı ile alan üzerindeki etkisini azaltabilirsiniz. Bu konuda, DMS'de kilit gerektirmeyen veri değişikliklerinin nasıl yapılacağı açıklanmaktadır.

Önkoşullar

  • Desteklenen veritabanı türleri:

    Veritabanı altyapısı Desteklenen örnekler
    MySQL ApsaraDB RDS for MySQL, PolarDB for MySQL, MyBase for MySQL, PolarDB for Xscale, üçüncü taraf MySQL veritabanları
    PostgreSQL ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, MyBase for PostgreSQL, üçüncü taraf PostgreSQL veritabanları
    MariaDB ApsaraDB for MariaDB, üçüncü taraf MariaDB veritabanları
    OceanBase MySQL modundaki ApsaraDB for OceanBase
    Oracle uyumlu PolarDB for PostgreSQL (Oracle ile Uyumludur)
  • Örnek, Kararlı Değişiklik veya Güvenlik İşbirliği kontrol modunda olmalıdır. Daha fazla bilgi için bkz. Bir örneğin kontrol modunu görüntüleme.

Sınırlamalar

Yalnızca UPDATE, DELETE ve INSERT...SELECT deyimleri desteklenir.

UPDATE ve DELETE

Kısıtlama Ayrıntılar
Tablo kapsamı Yalnızca tek tablo
WHERE yan tümcesi Gerekli. Tüm satırları güncellemek veya silmek için WHERE 1=1 kullanın
Alt sorgular Desteklenmez
LIMIT yan tümcesi Desteklenmez — manuel sayfalama için LIMIT kullanımı tam tablo taramasına zorlar ve bu özelliğin önlemeyi amaçladığı tablo kilitlemesine neden olur

INSERT...SELECT

Kısıtlama Ayrıntılar
SELECT kapsamı Yalnızca tek tablo
WHERE yan tümcesi SELECT yan tümcesinde gereklidir. Tüm satırları seçmek için WHERE 1=1 kullanın
İzin verilmeyen yan tümceler SELECT yan tümcesinde LIMIT, ORDER BY ve GROUP BY desteklenmez

Yordam

  1. DMS 5.0 konsolunda oturum açın.

  2. Üst gezinme çubuğunda Database Development > Data Change > Lockless Change yolunu izleyin.

    Not

    Basit modda DMS konsolunu kullanıyorsanız, sol üst köşedeki function simgesine tıklayın. Görüntülenen gezinme bölmesinde All Features > Database Development > Data Change > Lockless Change yolunu izleyin.

  3. Kilit Gerektirmeyen Değişiklik talebi için parametreleri yapılandırın ve Submit düğmesine tıklayın. Aşağıdaki tabloda bazı parametreler açıklanmaktadır.

    Not

    Bu örnek, Güvenlik İşbirliği modundaki bir örnek için yapılandırmayı göstermektedir. Esnek Yönetim veya Kararlı Değişiklik modundaki örnekler için yalnızca Veritabanı ve değişiklik için SQL deyimleri parametrelerini yapılandırmanız gerekir.

    Parametre

    Gerekli

    Açıklama

    Database

    Evet

    Hedef veritabanını aratın ve seçin.

    Not

    Hedef veritabanındaki verileri değiştirme iznine sahip olmanız gerekir. Daha fazla bilgi için bkz. İzinlerinizi görüntüleme.

    Business Background

    Hayır

    İletişim ek yükünü azaltmak için değişiklikle ilgili bağlam sağlayın.

    Execution Method

    Evet

    Talep için bir yürütme yöntemi seçin:

    • Onaydan sonra, gönderen işlemi yürütür.

    • Onaydan sonra otomatik olarak yürütün.

    • Son onaylayıcı tarafından yürütün.

    Not

    Yöneticiler, yürütme yöntemlerinin listesini Operations Management > Configuration Management bölümünde değiştirebilir. Daha fazla bilgi için bkz. Yapılandırma yönetimi.

    Affected rows

    Evet

    Etkilenen satır sayısını tahmin edin. Bu sayıyı almak için SQL Console içinde bir COUNT sorgusu çalıştırabilirsiniz.

    Not

    Tabloya sürekli olarak veri yazılıyorsa, yalnızca mevcut veri satırlarının sayısını sayın.

    SQL Statements for Change

    Evet

    UPDATE, DELETE veya INSERT_SELECT gibi DML deyimlerini girin.

    Not

    DDL deyimleri girerseniz, DDL kilitsiz şema değişikliği görevi gerçekleştiriyorsunuz demektir. Daha fazla bilgi için bkz. Kilit Gerektirmeyen Değişiklik talebi kullanarak kilitsiz şema değişikliği gerçekleştirme.

    SQL Statements for Rollback

    Hayır

    Değişiklik için SQL deyimlerindeki deyimlerin tersine çevrilmiş betiği. Betik yürütülebilir olmalıdır.

    SQL Text

    Hayır

    Bu parametre, yalnızca Text parametresi için Rollback SQL seçeneğini belirlediğinizde görünür. Değişiklik SQL deyimlerinin tersi olan geri alma SQL deyimlerini girin.

    Attachment

    Hayır

    Bu parametre, yalnızca SQL Statements for Rollback parametresi için Ek'i seçtiğinizde görünür. Geri alma SQL ekini yüklemek için Dosya'ya tıklayın.

    Not

    Ek, .txt, .zip veya .sql dosyası olabilir. Maksimum dosya boyutu 15 MB'tır.

    Change Stakeholder

    Hayır

    Belirtilen paydaşlar talebi görüntüleyebilir ve üzerinde işbirliği yapabilir. Paydaş olmayanlar (yöneticiler ve DBA'ler hariç) talebi görüntüleyemez.

    Attachments

    Hayır

    Bu talep için daha fazla bağlam sağlamak üzere ekler yükleyin.

  4. Talebi gönderdikten sonra birincil-ikincil gecikme süresi denetimini etkinleştirebilir, bir eşik belirleyebilir ve SQL deyimlerini değiştirebilirsiniz.

    • (İsteğe bağlı) Birincil-ikincil gecikme süresi denetimini etkinleştirin ve bir eşik belirleyin. Bu, aşırı birincil-ikincil gecikme süresinin örnek geçişlerini etkilemesini önler.

      Basic Information bölümünde, chunk option öğesine tıklayın ve saniye cinsinden makul bir birincil-ikincil gecikme süresi eşiği belirleyin. Birincil-ikincil gecikme süresi eşiği aşarsa SQL yürütmesi kesintiye uğrar.

      Not

      Bu özellik şu anda yalnızca ApsaraDB RDS for MySQL veritabanları için kullanılabilir.

    • (İsteğe bağlı) SQL deyimlerini değiştirin.

      Başvuruyu gönderdikten sonra sistem SQL deyimlerini otomatik olarak ön denetimden geçirir. Ön denetim başarısız olursa, Edit SQL öğesine tıklayarak deyimleri hata nedenine göre düzenleyebilir ve ardından yeniden deneyebilirsiniz.

  5. Submit düğmesine tıklayın. Güvenlik İşbirliği modundaki örnekler için talepler, yapılandırılan kurallara göre onay gerektirirken Kararlı Değişiklik modundaki örnekler için talepler otomatik olarak onaylanır.

  6. Talep onaylandıktan sonra, talep ayrıntıları sayfasının Execute bölümünde Execute Change düğmesine tıklayın.

    Not

    Onay ilerlemesini, talep ayrıntıları sayfasının Approval bölümünde görüntüleyebilirsiniz.

  7. Görev yürütme parametrelerini yapılandırın.

    Yapılandırma Öğesi

    Açıklama

    Execution Strategy

    • Running immediately: Varsayılan seçenek. Confirm Execution düğmesine tıkladıktan hemen sonra görev yürütülür.

    • Schedule: Görev için bir başlangıç zamanı seçin. Confirm Execution düğmesine tıkladıktan sonra görev belirtilen zamanda çalışır.

    Not

    Zamanlanmış bir görevin gerçek yürütme zamanında ±1 dakikalık bir hata payı olabilir.

    Specify End Time

    Görev için bir bitiş zamanı belirtin. Görev belirtilen bitiş zamanına kadar tamamlanmazsa sistem kalan SQL görevlerinin yürütülmesini durdurur. Bu, görevlerin yoğun saatlerde çalışmasını ve iş operasyonlarını etkilemesini önler.

    Not

    Görevin gerçek bitiş zamanında ±1 dakikalık bir hata payı olabilir.

    Primary/Secondary Node Check

    Bu denetimin etkinleştirilmesi, birincil ve yedek örnekler arasında gerçek zamanlı veri senkronizasyonunu, yüksek kullanılabilirliği ve arızalardan hızlı kurtarmayı sağlar.

    Canary Release Type

    SQL deyimlerini toplu işler halinde yürütme ilkesi.

    • No Canary Release: DMS, görevdeki tüm SQL deyimlerini otomatik olarak yürütür.

    • Suspend after Executing the First SQL Statement: İlk SQL deyimi başarıyla yürütüldükten sonra DMS görevi otomatik olarak duraklatır. Devam etmek için Yeniden Dene'ye tıklayın. Kalan SQL deyimleri daha sonra başka duraksamalar olmadan tek seferde yürütülür.

    • Suspend after Executing a SQL Statement: Her SQL deyimi yürütüldükten sonra görev otomatik olarak duraklar. Sonraki SQL deyimini yürütmek için Yeniden Dene'ye manuel olarak tıklamanız gerekir.

  8. Confirm Execution düğmesine tıklayın.

    Not

    Duraklatılmış bir görev yeniden başlatıldığında, en baştan itibaren başlar.

    Execute bölümünde görev yürütme durumunu, görev ayarlarını, ayrıntıları ve Scheduling Logs öğelerini görüntüleyebilirsiniz.

İlgili belgeler

SSS

  • S: Kilit gerektirmeyen veri değişikliği özelliği karmaşık SQL işlemlerini destekler mi?

    C: Hayır. Örneğin, CREATE_INDEX veya JOIN içeren bir DELETE deyimi gibi çok tablolu işlemleri desteklemez. Desteklenen SQL türleri hakkında daha fazla bilgi için bkz. Sınırlamalar.

  • S: DMS Kilit Gerektirmeyen Değişiklik, tablo kilitlerini ve engellemeleri algılar mı?

    C: DMS kilit gerektirmeyen bir veri değişikliği gerçekleştirirken büyük SQL deyimlerini daha küçük toplu işlere böler ve her toplu işten sonra duraklar. Bu, kaynakların uzun süre meşgul edilmesini önler. Yürütme sırasında DMS önceden satır kilidi denetimi gerçekleştirmez. MySQL yine de değiştirilen satırları kilitler. Küçük toplu işler ve duraklamalar nedeniyle genel etki minimaldir ancak bu, tablonun kilitlenmeyeceğini garanti etmez. Kilitsiz bir şema değişikliği için DMS, DDL deyimlerinizi simüle etmek üzere geçici bir tablo kullanır. Bu, işlemin tablo kilitlemeye veya engellemeye neden olup olmayacağını önceden denetler. Denetim, işlemin tabloyu kilitleyeceğini belirlerse doğrulama başarısız olur ve bir mesaj görüntülenir.

  • S: DMS Kilit Gerektirmeyen Değişiklik görevi için artımlı oynatma doğrulaması ayarlanabilir mi?

    C: Evet. İlk olarak, O&M > Configuration Management sayfasında "Kilit gerektirmeyen değişiklik sonuçları için oynatma verisi doğrulama oranının ayarlanmasına izin ver" özelliğini aratın ve etkinleştirin.

    1. Konsoldaki ilgili DDL talebine gidin.

    2. Yürütme bölümünde Ayrıntılar'a tıklayın.

    3. İlgili betiği bulun ve Yürütme İlerlemesi'ne tıklayın.

    4. Doğrulama oranı altta görüntülenir. Oranı ihtiyaca göre ayarlayın. Birim binde (‰) şeklindedir.