Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan masalah untuk Aurora Peningkatan di tempat saya SQL
Gunakan tips berikut untuk membantu memecahkan masalah dengan peningkatan Aurora My in-place. SQL Tips ini tidak berlaku untuk Aurora Serverless klaster DB.
Alasan peningkatan di tempat dibatalkan atau lambat | Efek | Solusi untuk memungkinkan peningkatan di tempat selesai dalam periode pemeliharaan |
---|---|---|
Replika Lintas wilayah Aurora Terkait belum ditambal | Aurora membatalkan peningkatan. | Tingkatkan replika Aurora Cross-region dan coba lagi. |
Klaster memiliki transaksi XA dalam status siap | Aurora membatalkan peningkatan. | Komit atau kembalikan semua transaksi XA yang disiapkan. |
Cluster memproses pernyataan bahasa definisi data (DDL) apa pun | Aurora membatalkan peningkatan. | Pertimbangkan untuk menunggu dan melakukan peningkatan setelah semua DDL pernyataan selesai. |
Klaster memiliki perubahan yang tidak dikomit untuk banyak baris | Peningkatan mungkin memerlukan waktu lama. |
Proses peningkatan mengembalikan perubahan yang tidak dikomit. Indikator untuk kondisi ini adalah nilai Pertimbangkan untuk melakukan peningkatan hanya setelah semua transaksi besar dilakukan atau dikembalikan. |
Klaster memiliki jumlah catatan undo yang tinggi | Peningkatan mungkin memerlukan waktu lama. |
Bahkan jika transaksi yang tidak dikomit tidak memengaruhi sejumlah besar baris, transaksi ini mungkin berkaitan dengan volume besar data. Misalnya, Anda mungkin memasukkan besarBLOBs. Aurora tidak akan secara otomatis mendeteksi atau menghasilkan peristiwa untuk jenis aktivitas transaksi ini. Indikator untuk kondisi ini adalah panjang daftar riwayat (HLL). Proses peningkatan mengembalikan perubahan yang tidak dikomit. Anda dapat memeriksa HLL output dari
Anda juga dapat memantau Pertimbangkan untuk melakukan upgrade hanya setelah HLL lebih kecil. |
Klaster sedang dalam proses melakukan komit transaksi log biner besar | Peningkatan mungkin memerlukan waktu lama. |
Proses peningkatan menunggu sampai perubahan log biner diterapkan. Lebih banyak transaksi atau DDL pernyataan dapat dimulai selama periode ini, yang selanjutnya memperlambat proses peningkatan. Jadwalkan proses peningkatan saat klaster tidak sibuk menghasilkan perubahan replikasi log biner. Aurora tidak akan secara otomatis mendeteksi atau membuat peristiwa untuk kondisi ini. |
Inkonsistensi skema yang dihasilkan dari penghapusan atau kerusakan file | Aurora membatalkan peningkatan. |
Ubah mesin penyimpanan default untuk tabel sementara dari My ISAM ke InnoDB. Lakukan langkah-langkah berikut ini:
|
Pengguna master dihapus | Aurora membatalkan peningkatan. |
pentingJangan hapus pengguna master. Namun, jika karena alasan tertentu Anda kebetulan menghapus pengguna master, kembalikan menggunakan SQL perintah berikut:
|
Untuk detail selengkapnya tentang masalah pemecahan masalah yang menyebabkan precheck upgrade gagal, lihat blog berikut:
Anda dapat menggunakan langkah-langkah berikut untuk melakukan pemeriksaan Anda sendiri untuk beberapa kondisi di tabel sebelumnya. Dengan demikian, Anda dapat menjadwalkan peningkatan pada saat Anda mengetahui basis data dalam keadaan yang memungkinkan peningkatan berhasil diselesaikan dengan cepat.
-
Anda dapat memeriksa transaksi XA terbuka dengan menjalankan pernyataan
XA RECOVER
. Anda kemudian dapat meng-commit atau mengembalikan transaksi XA sebelum memulai peningkatan. -
Anda dapat memeriksa DDL pernyataan dengan mengeksekusi
SHOW PROCESSLIST
pernyataan dan mencariCREATE
,,DROP
,ALTER
RENAME
, danTRUNCATE
pernyataan dalam output. Izinkan semua DDL pernyataan selesai sebelum memulai peningkatan. -
Anda dapat memeriksa jumlah total baris yang tidak dikomit dengan mengueri tabel
INFORMATION_SCHEMA.INNODB_TRX
. Tabel ini berisi satu baris untuk setiap transaksi. KolomTRX_ROWS_MODIFIED
berisi jumlah baris yang diubah atau dimasukkan oleh transaksi. -
Anda dapat memeriksa panjang daftar riwayat InnoDB dengan menjalankan pernyataan
SHOW ENGINE INNODB STATUS SQL
dan mencariHistory list length
dalam output. Anda juga dapat memeriksa nilai secara langsung dengan menjalankan kueri berikut:SELECT count FROM information_schema.innodb_metrics WHERE name = 'trx_rseg_history_len';
Panjang daftar riwayat sesuai dengan jumlah informasi undo yang disimpan oleh database untuk menerapkan kontrol konkurensi multi-versi (). MVCC