Deskripsi masalah
Pada halaman Basic Information dari instance RDS, nilai Status untuk instance RDS adalah Locking.
Pernyataan INSERT dan UPDATE gagal dieksekusi pada instance RDS karena instance RDS berada dalam keadaan Locking.
CatatanJika instance RDS Anda menjalankan MySQL 5.6, MySQL 5.7, atau MySQL 8.0 dan menggunakan versi mesin minor 20190815 atau lebih baru, instance RDS mungkin mengalami jenis kunci berikut:
LOCK_WRITE_GROWTH: melarang peningkatan penggunaan disk. Jika kapasitas penyimpanan instance RDS utama Anda habis, jenis kunci ini dipicu untuk menonaktifkan operasi yang dapat menyebabkan peningkatan penggunaan disk. Jika Anda mengeksekusi pernyataan DELETE untuk menghapus data, sejumlah besar file log biner dihasilkan, yang meningkatkan penggunaan disk. Kami merekomendasikan agar Anda mengeksekusi pernyataan DROP atau TRUNCATE untuk menghapus data.
LOCK_READ: melarang operasi baca. Jika kapasitas penyimpanan instance RDS hanya-baca habis, jenis kunci ini dipicu untuk menonaktifkan kueri data dan operasi tulis.
LOCK_WRITE: melarang operasi tulis. Jenis kunci ini dapat dipicu oleh kedaluwarsa instance, kedaluwarsa host untuk kluster ApsaraDB MyBase, atau migrasi instance. Selain batasan LOCK_WRITE_GROWTH, jenis kunci ini juga menonaktifkan operasi tulis data tambahan, seperti operasi DROP dan TRUNCATE.
Jika instance RDS terkunci dan Anda mengeksekusi beberapa pernyataan SQL pada instance RDS, pesan kesalahan
ERROR 1290 (HY000): The MySQL server is running with the LOCK_WRITE_GROWTH option so it cannot execute this statementakan ditampilkan.Jika instance RDS Anda yang menjalankan MySQL 5.1 atau MySQL 5.5 dan menggunakan versi mesin minor apa pun terkunci, Anda tidak dapat melakukan operasi pada instance RDS terlepas dari penyebab kunci tersebut. Hal ini juga berlaku untuk instance RDS yang menjalankan MySQL 5.6, MySQL 5.7, atau MySQL 8.0 dan menggunakan versi mesin minor lebih awal dari 20190815.
Penyebab
Penyebab 1: Kapasitas penyimpanan instance RDS Anda habis.
Penyebab 2: Akun Alibaba Cloud Anda memiliki pembayaran tertunda, atau instance RDS Anda kedaluwarsa.
Metode penanganan sesuai Penyebab 1
Anda dapat pergi ke halaman Basic Information dari instance RDS untuk memeriksa apakah penyimpanan instance RDS Anda habis di bagian Statistik Penggunaan.
Metode:
Lepaskan penyimpanan instance RDS Anda
Pergi ke halaman Instance. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Kemudian, temukan instance RDS dan klik ID instance tersebut.
Di panel navigasi sisi kiri, klik Monitoring and Alerts untuk melihat penyimpanan yang digunakan oleh setiap jenis data.

Hapus data untuk melepaskan penyimpanan berdasarkan tipe database.
PeringatanKami merekomendasikan agar Anda tidak menghapus data kecuali diperlukan. Jika Anda ingin menghapus data untuk melepaskan penyimpanan, Anda harus mencadangkan data sebelum menghapusnya untuk mencegah kehilangan data. Anda juga dapat memperluas kapasitas penyimpanan instance RDS Anda untuk membuka kunci instance RDS.
File sementara yang ditunjukkan oleh metrik standar temp_file_size
Instance ApsaraDB RDS for MySQL menghasilkan tabel sementara untuk melakukan operasi pengurutan, pengelompokan, atau join yang ditentukan oleh kueri atau menghasilkan file cache log biner sebelum melakukan transaksi besar. Ruang disk instance Anda mungkin habis oleh file sementara ini.
Untuk informasi lebih lanjut, lihat Apa yang harus saya lakukan jika instance ApsaraDB RDS for MySQL berada dalam keadaan Terkunci karena kapasitas penyimpanannya habis oleh file sementara?
File log yang ditunjukkan oleh metrik standar binlog_size dan general_log_size
Untuk memantau kinerja dan status database, sistem manajemen database menghasilkan berbagai log, seperti log kueri, log kueri lambat, dan log kesalahan.
Mesin database
Solusi
MySQL
Di halaman Monitoring and Alerts, lihat penggunaan penyimpanan. Kemudian, hapus file log berdasarkan penggunaan penyimpanan.
PostgreSQL
Anda tidak dapat secara manual menghapus file log instance ApsaraDB RDS for PostgreSQL.
Anda dapat secara manual menghapus slot replikasi yang tidak aktif untuk memungkinkan AliPG secara otomatis menghapus log WAL. Untuk informasi lebih lanjut, lihat Gunakan fitur manajemen log WAL untuk instance ApsaraDB RDS for PostgreSQL.
SQL Server
Anda tidak dapat secara manual menghapus file log instance ApsaraDB RDS for SQL Server. Namun, Anda dapat memampatkan log transaksi di konsol ApsaraDB RDS.
File data yang ditunjukkan oleh metrik standar user_data_size
Mesin database
Solusi
MySQL
Gunakan Data Management (DMS) untuk terhubung ke instance RDS Anda.
Eksekusi pernyataan berikut untuk melihat ukuran tabel yang ditentukan dalam database pada instance RDS Anda dan periksa data historis atau data yang tidak perlu yang dapat dihapus:
SELECT TABLE_NAME, concat(round((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024,2),'MB') AS DATA FROM information_schema. TABLES WHERE TABLE_SCHEMA = '<Nama Database>' ORDER BY DATA + 0 DESC;Eksekusi pernyataan
DROP TABLE <Nama Tabel>;dalam database untuk menghapus data.Tunggu sekitar 5 menit agar sistem membuka kunci instance RDS Anda.
PostgreSQL
Gunakan DMS untuk terhubung ke instance RDS Anda. Untuk informasi lebih lanjut, lihat Gunakan DMS untuk masuk ke instance ApsaraDB RDS.
CatatanJika Anda tidak dapat terhubung ke instance RDS Anda, perluas kapasitas penyimpanan instance terlebih dahulu dan kemudian bersihkan ruang disk. Setelah ruang disk dibersihkan, kurangi kapasitas penyimpanan sesuai kebutuhan. Untuk informasi lebih lanjut tentang cara memperluas dan mengurangi kapasitas penyimpanan instance, lihat Perluas kapasitas penyimpanan instance RDS Anda dan Ubah spesifikasi instance.
Eksekusi pernyataan berikut untuk melihat ukuran tabel yang ditentukan dalam database pada instance RDS Anda dan periksa data historis atau data yang tidak perlu yang dapat dihapus:
SELECT table_schema || '.' || table_name AS table_full_name, pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') AS size FROM information_schema.tables ORDER BY pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC;Eksekusi pernyataan
DROP TABLE <Nama Tabel>;dalam database untuk menghapus data.Tunggu sekitar 5 menit agar sistem membuka kunci instance RDS Anda.
SQL Server
Lakukan operasi yang disediakan dalam Memecahkan masalah penyimpanan tidak cukup pada instance ApsaraDB RDS for SQL Server.
File sistem yang ditunjukkan oleh metrik standar undolog_size
Penyebab: Saat pernyataan jangka panjang dieksekusi untuk mengkueri tabel InnoDB dan sejumlah besar data tabel dimodifikasi selama kueri, sistem menghasilkan log undo yang berlebihan, yang menempati sejumlah besar sumber daya penyimpanan. Akibatnya, kapasitas penyimpanan habis.
Solusi: Selesaikan masalah berdasarkan instruksi yang disediakan dalam Memecahkan masalah penyimpanan tidak cukup yang disebabkan oleh akumulasi file sistem.
Perluas kapasitas penyimpanan instance RDS Anda
Pergi ke halaman Instance. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Kemudian, temukan instance RDS dan klik ID instance tersebut.
Di bagian Configuration Information dari halaman Basic Information, klik Change Specifications untuk memperluas kapasitas penyimpanan.
Di halaman yang muncul, perluas kapasitas penyimpanan instance RDS. Untuk informasi lebih lanjut, lihat Ubah spesifikasi instance ApsaraDB RDS for MySQL.
Setelah Anda menyelesaikan pembayaran, klik ikon
di sudut kanan atas halaman Basic Information untuk melihat kemajuan perubahan konfigurasi di halaman Tugas.Waktu yang diperlukan untuk memperluas kapasitas penyimpanan bervariasi berdasarkan tipe penyimpanan instance RDS Anda. Tabel berikut menjelaskan waktu yang diperlukan untuk memperluas kapasitas penyimpanan. Anda dapat masuk ke Konsol ApsaraDB RDS dan klik Task Center di panel navigasi sisi kiri untuk melihat kemajuan perluasan kapasitas penyimpanan.
Tipe penyimpanan
Durasi
Deskripsi
SSD Lokal Premium
Bervariasi dengan skenario
Jika sumber daya penyimpanan instance RDS tidak dapat memenuhi persyaratan bisnis Anda, migrasi data lintas instance mungkin dipicu, dan waktu yang diperlukan untuk memperluas kapasitas penyimpanan bervariasi berdasarkan banyak faktor. Kami merekomendasikan agar Anda memperluas kapasitas penyimpanan selama jam non-puncak.
Perubahan spesifikasi menyebabkan koneksi singkat yang berlangsung sekitar 30 detik. Kami merekomendasikan agar Anda mengubah spesifikasi instance RDS Anda selama jam non-puncak. Selain itu, pastikan aplikasi Anda dikonfigurasi untuk secara otomatis tersambung kembali ke instance RDS Anda. Selama koneksi singkat, Anda tidak dapat melakukan sebagian besar operasi yang terkait dengan database, akun, dan pengaturan jaringan.
Disk cloud
Sekitar 5 menit
Jika instance RDS Anda menjalankan MySQL atau PostgreSQL dan menggunakan disk cloud, tidak ada koneksi singkat yang terjadi saat Anda memperluas kapasitas penyimpanan instance RDS.
Jika instance RDS Anda menjalankan SQL Server dan menggunakan disk cloud, koneksi singkat yang berlangsung sekitar 30 detik mungkin terjadi saat Anda memperluas kapasitas penyimpanan instance RDS. Selama koneksi singkat, Anda tidak dapat melakukan sebagian besar operasi yang terkait dengan database, akun, dan pengaturan jaringan pada instance RDS. Kami merekomendasikan agar Anda memperluas kapasitas penyimpanan instance RDS Anda selama jam non-puncak. Atau, pastikan aplikasi Anda dikonfigurasi untuk secara otomatis tersambung kembali ke instance RDS Anda. Instance RDS tertentu mendukung perluasan kapasitas penyimpanan tanpa kehilangan data. Ini tidak mengganggu beban kerja Anda.
Metode penanganan sesuai Penyebab 2
Instance RDS berlangganan: Jika instance RDS Anda kedaluwarsa dan tidak diperpanjang, perpanjang instance. Tunggu sekitar 5 menit. Kemudian, periksa apakah instance berada dalam keadaan Running.
Instance RDS bayar sesuai pemakaian: Jika akun Alibaba Cloud Anda memiliki pembayaran tertunda, Top up akun Alibaba Cloud Anda dan tunggu 5 menit untuk memeriksa apakah instance RDS berada dalam keadaan Running.
Saran O&M
Kami merekomendasikan agar Anda melakukan konfigurasi berikut untuk mencegah instance RDS Anda terkunci:
Konfigurasikan kebijakan notifikasi untuk pembayaran tertunda dan kedaluwarsa instance.
Masuk ke Konsol ApsaraDB RDS.
Klik ikon
di sudut kanan atas untuk pergi ke halaman Message Center.Di panel navigasi sisi kiri, klik Common Settings.
Di kolom Notification Type dari halaman Common Settings, pilih Product Overdue Payment, Suspension, and Imminent Release Notifications dan klik Modify.
Di kotak dialog Modify Contact, pilih kontak peringatan dan klik Save.
Konfigurasikan aturan peringatan untuk penggunaan penyimpanan. Kami merekomendasikan agar Anda mengonfigurasi aturan peringatan berdasarkan mana peringatan dipicu ketika penggunaan penyimpanan melebihi 90%.
Aktifkan fitur SQL Explorer dan Audit. Jika penggunaan penyimpanan meningkat secara signifikan, Anda dapat memeriksa pernyataan SQL yang dieksekusi selama peningkatan berdasarkan informasi pada halaman Monitoring and Alerts dan mengoptimalkan pernyataan SQL tersebut.
Konfigurasikan ekspansi penyimpanan otomatis. Jika sumber daya penyimpanan instance RDS Anda tidak mencukupi, sistem secara otomatis memperluas kapasitas penyimpanan instance RDS Anda. Untuk informasi lebih lanjut, lihat Konfigurasikan ekspansi penyimpanan otomatis untuk instance ApsaraDB RDS for MySQL, Konfigurasikan ekspansi penyimpanan otomatis untuk instance ApsaraDB RDS for PostgreSQL, dan Konfigurasikan ekspansi penyimpanan otomatis untuk instance ApsaraDB RDS for SQL Server.
Optimalkan pernyataan SQL untuk mencegah penggunaan sering klausa ORDER BY dan GROUP BY dalam skenario di mana file sementara besar digunakan.
Mengapa LOCK_WRITE_GROWTH masih diaktifkan setelah saya menghapus sejumlah besar data dari instance RDS saya?
Jika Anda mengeksekusi pernyataan DELETE untuk menghapus data, sistem menandai catatan atau halaman data yang dihapus sebagai dapat digunakan kembali. Dalam hal ini, sistem tidak langsung mengurangi ukuran file disk untuk mereklaim ruang tabel. Jika Anda ingin melepaskan ruang tabel, lakukan operasi yang disediakan dalam Gunakan perintah OPTIMIZE TABLE untuk melepaskan ruang tabel untuk instance MySQL.
Mengapa instance RDS saya masih terkunci meskipun instance memiliki sumber daya penyimpanan yang cukup atau telah diperpanjang?
Tugas, seperti tugas perubahan konfigurasi, pada instance RDS sedang berlangsung. Setelah tugas selesai, instance RDS akan dibuka kunci secara otomatis. Anda dapat mengklik ikon
di sudut kanan atas halaman Informasi Dasar untuk pergi ke halaman Tugas dan melihat kemajuan tugas.
Apakah saya dapat meningkatkan atau menurunkan konfigurasi instance RDS saya saat instance berada dalam keadaan Terkunci?
Jika instance RDS Anda terkunci karena kapasitas penyimpanan instance habis, Anda dapat meningkatkan atau menurunkan konfigurasi instance RDS Anda. Jika instance RDS Anda terkunci karena alasan lain seperti pembayaran tertunda, Anda harus menyelesaikan pembayaran tertunda dan kemudian meningkatkan atau menurunkan konfigurasi instance RDS Anda.
Instance RDS saya dalam keadaan Terkunci menggunakan tipe instance yang sudah tidak digunakan lagi. Bagaimana cara membuka kunci instance dengan memperluas kapasitas penyimpanan?
Anda perlu mengubah tipe instance instance RDS Anda ke tipe instance yang tersedia dan kemudian memperluas kapasitas penyimpanan untuk membuka kunci instance. Untuk informasi lebih lanjut tentang tipe instance yang tersedia, lihat Tipe instance utama ApsaraDB RDS.
Mengapa penggunaan penyimpanan instance dalam keadaan Terkunci terus bertambah?
Data tidak dapat ditulis ke instance dalam keadaan Terkunci dengan melakukan operasi INSERT atau UPDATE. Namun, saat operasi kueri dilakukan pada instance, file log atau data sementara mungkin dihasilkan dan meningkatkan penggunaan penyimpanan instance.