Jika Anda dapat menggunakan odac (odp) 11g , Anda telah mengatur Validasi Koneksi untuk kumpulan Anda. Itu dapat memvalidasi koneksi sebelum Anda menggunakannya.
Validasi Koneksi atribut memvalidasi koneksi yang keluar dari kumpulan. Atribut ini harus digunakan hanya jika benar-benar diperlukan, karena menyebabkan bolak-balik ke database untuk memvalidasi setiap koneksi segera sebelum diberikan ke aplikasi. Jika koneksi yang tidak valid jarang terjadi, pengembang dapat membuat event handler mereka sendiri untuk mengambil dan memvalidasi koneksi baru, daripada menggunakan atribut Validasi Koneksi. Ini biasanya memberikan kinerja yang lebih baik.
Jika tidak cukup baik - Anda dapat mencoba dokumen ini dari oracle.
Manajemen Kumpulan Koneksi
Manajemen kumpulan koneksi ODP.NET menyediakan kontrol kumpulan koneksi eksplisit ke aplikasi ODP.NET. Aplikasi dapat secara eksplisit menghapus koneksi di kumpulan koneksi.
Dengan menggunakan manajemen kumpulan koneksi, aplikasi dapat melakukan hal berikut:
Catatan:API ini tidak didukung dalam prosedur tersimpan .NET. Hapus koneksi dari kumpulan koneksi menggunakan ClearPool metode.
Hapus koneksi di semua kumpulan koneksi di domain aplikasi, menggunakan ClearAllPools metode.
Saat koneksi dihapus dari kumpulan, ODP.NET mengisi ulang kumpulan dengan koneksi baru yang memiliki setidaknya jumlah koneksi yang ditetapkan oleh Ukuran Kumpulan Min dalam string koneksi. Koneksi baru tidak selalu berarti kumpulan akan memiliki koneksi yang valid. Misalnya, jika server database sedang down saat ClearPool atau ClearAllPools dipanggil, ODP.NET membuat koneksi baru, tetapi koneksi ini tetap tidak valid karena tidak dapat terhubung ke database, bahkan jika database muncul di lain waktu.
Disarankan agar ClearPool dan ClearAllPools tidak dipanggil sampai aplikasi dapat membuat koneksi yang valid kembali ke database.. Pengembang NET dapat mengembangkan kode yang terus menerus memeriksa apakah koneksi database yang valid dapat dibuat dan memanggil ClearPool atau ClearAllPools setelah ini benar.
Juga, mungkin posting ini akan membantu Anda.
Perbarui :Seperti yang ditunjukkan oleh @MPelletier, untuk Oracle 12 tautannya berbeda.