

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pemecahan masalah kueri
<a name="queries-troubleshooting"></a>

Bagian ini memberikan referensi cepat untuk mengidentifikasi dan mengatasi beberapa masalah paling umum dan paling serius yang mungkin Anda temui dengan kueri Amazon Redshift.

**Topics**
+ [Koneksi gagal](queries-troubleshooting-connection-fails.md)
+ [Kueri hang](queries-troubleshooting-query-hangs.md)
+ [Query membutuhkan waktu terlalu lama](queries-troubleshooting-query-takes-too-long.md)
+ [Beban gagal](queries-troubleshooting-load-fails.md)
+ [Beban memakan waktu terlalu lama](queries-troubleshooting-load-takes-too-long.md)
+ [Memuat data tidak benar](queries-troubleshooting-load-data-incorrect.md)
+ [Mengatur parameter ukuran pengambilan JDBC](set-the-JDBC-fetch-size-parameter.md)

Saran ini memberi Anda titik awal untuk pemecahan masalah. Anda juga dapat merujuk ke sumber daya berikut untuk informasi lebih rinci.

Untuk informasi tentang perubahan perilaku dalam fungsionalitas Amazon Redshift yang dapat memengaruhi aplikasi Anda, lihat Perubahan [Perilaku](https://docs.aws.amazon.com/redshift/latest/mgmt/behavior-changes.html).
+ [Mengakses cluster dan database Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/using-rs-tools.html)
+ [Optimalisasi tabel otomatis](t_Creating_tables.md)
+ [Memuat data di Amazon Redshift](t_Loading_data.md)
+ [Tutorial: Memuat data dari Amazon S3](tutorial-loading-data.md)

# Koneksi gagal
<a name="queries-troubleshooting-connection-fails"></a>

Koneksi kueri Anda dapat gagal karena alasan berikut. Kami menyarankan pendekatan pemecahan masalah berikut.

**Klien tidak dapat terhubung ke server**  
Jika Anda menggunakan sertifikat SSL atau server, pertama-tama hapus kompleksitas ini saat Anda memecahkan masalah koneksi. Kemudian tambahkan sertifikat SSL atau server kembali ketika Anda telah menemukan solusi. Untuk informasi selengkapnya, buka [Konfigurasi Opsi Keamanan untuk Koneksi](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-ssl-support.html) di *Panduan Manajemen Amazon Redshift*.

**Koneksi ditolak**  
Umumnya, ketika Anda menerima pesan kesalahan yang menunjukkan bahwa ada kegagalan untuk membuat koneksi, itu berarti bahwa ada masalah dengan izin untuk mengakses cluster. Untuk informasi lebih lanjut, buka [Koneksi ditolak atau gagal](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-refusal-failure-issues.html) di Panduan *Manajemen Pergeseran Merah Amazon*. 

# Kueri hang
<a name="queries-troubleshooting-query-hangs"></a>

Kueri Anda dapat menggantung, atau berhenti merespons, karena alasan berikut. Kami menyarankan pendekatan pemecahan masalah berikut.

**Koneksi ke database terputus**  
Kurangi ukuran unit transmisi maksimum (MTU). Ukuran MTU menentukan ukuran maksimum, dalam byte, dari paket yang dapat ditransfer dalam satu bingkai Ethernet melalui koneksi jaringan Anda. Untuk informasi selengkapnya, buka [Koneksi ke database dijatuhkan](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-drop-issues.html) di Panduan *Manajemen Pergeseran Merah Amazon*. 

**Waktu koneksi ke database habis**  
Koneksi klien Anda ke database tampaknya hang atau time out saat menjalankan kueri panjang, seperti perintah COPY. Dalam kasus ini, Anda mungkin mengamati bahwa konsol Amazon Redshift menampilkan bahwa kueri telah selesai, tetapi alat klien itu sendiri tampaknya masih menjalankan kueri. Hasil kueri mungkin hilang atau tidak lengkap tergantung kapan koneksi berhenti. Efek ini terjadi ketika koneksi idle diakhiri oleh komponen jaringan perantara. Untuk informasi selengkapnya, buka [Masalah Timeout Firewall](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-firewall-guidance.html) di Panduan *Manajemen Amazon Redshift*. 

**out-of-memoryKesalahan sisi klien terjadi dengan ODBC**  
Jika aplikasi klien Anda menggunakan koneksi ODBC dan kueri Anda membuat kumpulan hasil yang terlalu besar untuk dimasukkan ke dalam memori, Anda dapat mengalirkan hasil yang disetel ke aplikasi klien Anda dengan menggunakan kursor. Untuk informasi selengkapnya, lihat [MENYATAKAN](declare.md) dan [Pertimbangan kinerja saat menggunakan kursor](declare.md#declare-performance).

**out-of-memoryKesalahan sisi klien terjadi dengan JDBC**  
Saat Anda mencoba mengambil set hasil besar melalui koneksi JDBC, Anda mungkin mengalami kesalahan sisi klien. out-of-memory Untuk informasi selengkapnya, lihat [Mengatur parameter ukuran pengambilan JDBC](set-the-JDBC-fetch-size-parameter.md).

**Ada potensi kebuntuan**  
Jika ada potensi kebuntuan, coba yang berikut ini:
+ Lihat tabel [STV\$1LOCKS](r_STV_LOCKS.md) dan [STL\$1TR\$1CONFLICT](r_STL_TR_CONFLICT.md) sistem untuk menemukan konflik yang melibatkan pembaruan ke lebih dari satu tabel.
+ Gunakan [PG\$1CANCEL\$1BACKEND](PG_CANCEL_BACKEND.md) fungsi untuk membatalkan satu atau beberapa kueri yang saling bertentangan.
+ Gunakan [PG\$1TERMINATE\$1BACKEND](PG_TERMINATE_BACKEND.md) fungsi untuk mengakhiri sesi, yang memaksa setiap transaksi yang sedang berjalan di sesi yang dihentikan untuk melepaskan semua kunci dan memutar kembali transaksi.
+ Jadwalkan operasi tulis bersamaan dengan hati-hati. Untuk informasi selengkapnya, lihat [Mengelola operasi tulis bersamaan](c_Concurrent_writes.md).

# Query membutuhkan waktu terlalu lama
<a name="queries-troubleshooting-query-takes-too-long"></a>

Permintaan Anda bisa memakan waktu terlalu lama karena alasan berikut. Kami menyarankan pendekatan pemecahan masalah berikut.

**Tabel tidak dioptimalkan**  
Atur kunci sortir, gaya distribusi, dan pengkodean kompresi tabel untuk memanfaatkan sepenuhnya pemrosesan paralel. Untuk informasi selengkapnya, lihat [Optimalisasi tabel otomatis](t_Creating_tables.md) 

**Query menulis ke disk**  
Kueri Anda mungkin menulis ke disk untuk setidaknya sebagian dari eksekusi kueri. Untuk informasi selengkapnya, lihat [Peningkatan kinerja kueri](query-performance-improvement-opportunities.md).

**Kueri harus menunggu kueri lain selesai**  
Anda mungkin dapat meningkatkan kinerja sistem secara keseluruhan dengan membuat antrian kueri dan menetapkan berbagai jenis kueri ke antrian yang sesuai. Untuk informasi selengkapnya, lihat [Manajemen beban kerja](cm-c-implementing-workload-management.md). 

**Kueri tidak dioptimalkan**  
Analisis rencana penjelasan untuk menemukan peluang untuk menulis ulang kueri atau mengoptimalkan database. Untuk informasi selengkapnya, lihat [Membuat dan menafsirkan rencana kueri](c-the-query-plan.md).

**Kueri membutuhkan lebih banyak memori untuk dijalankan**  
Jika kueri tertentu membutuhkan lebih banyak memori, Anda dapat meningkatkan memori yang tersedia dengan meningkatkan[wlm\$1query\$1slot\$1count](r_wlm_query_slot_count.md). 

**Database membutuhkan perintah VACUUM untuk dijalankan**  
Jalankan perintah VACUUM setiap kali Anda menambahkan, menghapus, atau memodifikasi sejumlah besar baris, kecuali jika Anda memuat data Anda dalam urutan kunci sortir. Perintah VACUUM mengatur ulang data Anda untuk mempertahankan urutan pengurutan dan memulihkan kinerja. Untuk informasi selengkapnya, lihat [Tabel penyedot debu](t_Reclaiming_storage_space202.md).

## Sumber daya tambahan untuk memecahkan masalah kueri yang berjalan lama
<a name="queries-troubleshooting-cross-refs"></a>

Berikut ini adalah topik tampilan sistem dan bagian dokumentasi lainnya yang berguna untuk penyetelan kueri:
+ Tampilan [STV\$1DALAM PENERBANGAN](r_STV_INFLIGHT.md) sistem menunjukkan kueri mana yang berjalan di cluster. Akan sangat membantu untuk menggunakannya bersama [STV\$1TERBARU](r_STV_RECENTS.md) untuk menentukan kueri mana yang sedang berjalan atau baru saja selesai.
+ [SYS\$1QUERY\$1HISTORY](SYS_QUERY_HISTORY.md)berguna untuk pemecahan masalah. Ini menunjukkan kueri DDL dan DMLdengan properti yang relevan seperti statusnya saat ini, seperti `running` atau`failed`, waktu yang dibutuhkan masing-masing untuk dijalankan, dan apakah kueri dijalankan pada cluster penskalaan konkurensi.
+ [STL\$1QUERYTEXT](r_STL_QUERYTEXT.md)menangkap teks kueri untuk perintah SQL. Selain itu[SVV\$1QUERY\$1DALAM PENERBANGAN](r_SVV_QUERY_INFLIGHT.md), yang menggabungkan STL\$1QUERYTEXT ke STV\$1INFLIGHT, menampilkan lebih banyak metadata kueri.
+ Konflik kunci transaksi dapat menjadi kemungkinan sumber masalah kinerja kueri. Untuk informasi tentang transaksi yang saat ini menyimpan kunci pada tabel, lihat[SVV\$1TRANSAKSI-TRANSAKSI](r_SVV_TRANSACTIONS.md).
+ [Mengidentifikasi kueri yang merupakan kandidat teratas untuk penyetelan](https://docs.aws.amazon.com/redshift/latest/dg/diagnostic-queries-for-query-tuning.html#identify-queries-that-are-top-candidates-for-tuning) memberikan kueri pemecahan masalah yang membantu Anda menentukan kueri mana yang baru-baru ini dijalankan paling memakan waktu. Ini dapat membantu Anda memfokuskan upaya Anda pada pertanyaan yang perlu diperbaiki.
+ Jika Anda ingin menjelajahi manajemen kueri lebih lanjut dan memahami cara mengelola antrian kueri, [Manajemen beban kerja](cm-c-implementing-workload-management.md) tunjukkan cara melakukannya. Manajemen beban kerja adalah fitur canggih dan kami merekomendasikan manajemen beban kerja otomatis dalam banyak kasus.

# Beban gagal
<a name="queries-troubleshooting-load-fails"></a>

Beban data Anda dapat gagal karena alasan berikut. Kami menyarankan pendekatan pemecahan masalah berikut.

**Sumber Data berada di AWS Wilayah yang berbeda**  
Secara default, bucket Amazon S3 atau tabel Amazon DynamoDB yang ditentukan dalam perintah COPY harus berada di Wilayah yang sama dengan cluster. AWS Jika data dan klaster Anda berada di Wilayah yang berbeda, Anda menerima kesalahan yang mirip dengan berikut ini: 

```
The bucket you are attempting to access must be addressed using the specified endpoint.
```

Jika memungkinkan, pastikan klaster dan sumber data Anda berada di Wilayah yang sama. Anda dapat menentukan Wilayah yang berbeda dengan menggunakan [REGION](copy-parameters-data-source-s3.md#copy-region) opsi dengan perintah COPY. 

**catatan**  
Jika cluster dan sumber data Anda berada di AWS Wilayah yang berbeda, Anda akan dikenakan biaya transfer data. Anda juga memiliki latensi yang lebih tinggi.

**Perintah COPY gagal**  
Kueri STL\$1LOAD\$1ERRORS untuk menemukan kesalahan yang terjadi selama pemuatan tertentu. Untuk informasi selengkapnya, lihat [STL\$1LOAD\$1ERRORS](r_STL_LOAD_ERRORS.md).

# Beban memakan waktu terlalu lama
<a name="queries-troubleshooting-load-takes-too-long"></a>

Operasi beban Anda bisa memakan waktu terlalu lama karena alasan berikut. Kami menyarankan pendekatan pemecahan masalah berikut.

**COPY memuat data dari satu file**  
Pisahkan data pemuatan Anda menjadi beberapa file. Saat Anda memuat semua data dari satu file besar, Amazon Redshift dipaksa untuk melakukan pemuatan serial, yang jauh lebih lambat. Jumlah file harus kelipatan dari jumlah irisan di cluster Anda, dan file harus berukuran sama, antara 1 MB dan 1 GB setelah kompresi. Untuk informasi selengkapnya, lihat [Praktik terbaik Amazon Redshift untuk mendesain kueri](c_designing-queries-best-practices.md).

**Operasi beban menggunakan beberapa perintah COPY**  
Jika Anda menggunakan beberapa perintah COPY bersamaan untuk memuat satu tabel dari beberapa file, Amazon Redshift dipaksa untuk melakukan pemuatan serial, yang jauh lebih lambat. Dalam hal ini, gunakan satu perintah COPY.

# Memuat data tidak benar
<a name="queries-troubleshooting-load-data-incorrect"></a>

Operasi COPY Anda dapat memuat data yang salah dengan cara berikut. Kami menyarankan pendekatan pemecahan masalah berikut.

**File yang salah dimuat**  
Menggunakan awalan objek untuk menentukan file data dapat menyebabkan file yang tidak diinginkan dibaca. Sebagai gantinya, gunakan file manifes untuk menentukan dengan tepat file mana yang akan dimuat. Untuk informasi selengkapnya, lihat [copy_from_s3_manifest_file](copy-parameters-data-source-s3.md#copy-manifest-file) opsi untuk perintah COPY dan [Example: COPY from Amazon S3 using a manifest](r_COPY_command_examples.md#copy-command-examples-manifest) dalam contoh COPY.

# Mengatur parameter ukuran pengambilan JDBC
<a name="set-the-JDBC-fetch-size-parameter"></a>

Secara default, driver Redshift JDBC menggunakan buffer ring untuk mengelola memori secara efisien dan mencegah kesalahan. out-of-memory Parameter ukuran pengambilan hanya berlaku ketika buffer cincin dinonaktifkan secara eksplisit. Untuk informasi lebih lanjut, tinjau [tautannya](https://docs.aws.amazon.com/redshift/latest/mgmt/jdbc20-configuration-options.html#jdbc20-enablefetchringbuffer-option). Dalam konfigurasi ini, Anda harus mengatur ukuran pengambilan untuk mengontrol berapa banyak baris yang diambil di setiap batch.

Gunakan parameter ukuran ambil saat:
+ Anda membutuhkan kontrol halus atas batching berbasis baris
+ Bekerja dengan aplikasi lama yang memerlukan perilaku ukuran pengambilan tradisional

Ketika buffer dering dinonaktifkan, driver JDBC mengumpulkan semua hasil untuk kueri pada satu waktu secara default. Kueri yang mengembalikan set hasil besar dapat menghabiskan memori yang berlebihan. Untuk mengambil set hasil dalam batch, bukan sekaligus, atur parameter ukuran pengambilan JDBC di aplikasi Anda.

**catatan**  
Ukuran pengambilan tidak didukung untuk ODBC.

Untuk kinerja terbaik, atur ukuran pengambilan ke nilai tertinggi yang tidak menyebabkan kesalahan memori. Nilai ukuran pengambilan yang lebih rendah menghasilkan lebih banyak perjalanan server, yang memperpanjang waktu eksekusi. Server menyimpan sumber daya, termasuk slot kueri WLM dan memori terkait, hingga klien mengambil seluruh kumpulan hasil atau kueri dibatalkan. Saat Anda menyetel ukuran pengambilan dengan tepat, sumber daya tersebut dirilis lebih cepat, membuatnya tersedia untuk kueri lain.

**catatan**  
Jika Anda perlu mengekstrak kumpulan data besar, sebaiknya gunakan pernyataan [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) untuk mentransfer data ke Amazon S3. Saat Anda menggunakan UNLOAD, node komputasi bekerja secara paralel untuk mempercepat transfer data.

Untuk informasi selengkapnya tentang pengaturan parameter ukuran pengambilan JDBC, buka [Mendapatkan hasil berdasarkan kursor dalam dokumentasi PostgreSQL](https://jdbc.postgresql.org/documentation/query/#getting-results-based-on-a-cursor).