DB: Oracle 10g
O / S: Windows Server 2003 64 bit
Saya meminta daftar sesi Oracle yang dihasilkan oleh aplikasi web (filter oleh program = w3wp.exe)
select * from V$session
where UPPER(program) LIKE '%W3%'
order by logon_time
Menurut Logon_Time, mengapa sesi masih hidup dari 31/07/2012 atau 01/08/2012 atau sesi apa pun sebelum hari ini (21/08/2012)?
Saya telah mengkonfigurasi pada sqlnet.ora: SQLNET.EXPIRE_TIME = 20 Jadi itu berarti setiap 20 menit Oracle memeriksa apakah koneksi masih aktif.
Semua skema pengguna memiliki profil default. Itu berarti bahwa tidak ada sesi yang tidak akan pernah berakhir atau mati?
Ditambahkan sebagai tanggapan atas komentar Phil:
Ditambahkan dalam jawaban atas jawaban Phil:
oracle
oracle-10g
Delmonte
sumber
sumber
v$session.PREV_EXEC_START
sesi-sesi ini? Saya menduga mereka adalah bagian dari kumpulan koneksi & karena itu belum dihapus karena mereka sering digunakan.INACTIVE
Hanya berarti tidak ada pernyataan SQL yang dieksekusi pada saat Anda memeriksav$session
. Jika mereka adalah bagian dari kumpulan koneksi, mereka melakukan tugasnya dengan benar - inti dari kumpulan koneksi adalah untuk menghilangkan kebutuhan akan banyak login / logoff & menjaga sesi persisten untuk startup cepat (overhead overhead yang lebih besar untuk masuk lagi & lagi hanya untuk mengeksekusi satu query). Saya tidak mengerti mengapa Anda khawatir tentang ini.Jawaban:
Saya menduga mereka adalah bagian dari kumpulan koneksi & karena itu belum dihapus karena mereka sering digunakan.
INACTIVE
div$session
hanya berarti tidak ada pernyataan SQL dieksekusi pada saat yang tepat Anda memeriksav$session
.Jika mereka adalah bagian dari kumpulan koneksi, mereka melakukan pekerjaan mereka dengan benar dengan masuk untuk jangka waktu yang lama. Inti dari penyatuan koneksi adalah untuk menghapus kebutuhan akan banyak login / logoff & menjaga sesi persisten untuk startup query cepat - ada overhead overhead yang jauh lebih besar untuk mengeksekusi satu query, kemudian memutuskan koneksi setiap waktu.
Untuk mendapatkan waktu aktivitas terakhir untuk setiap sesi:
Saya menyarankan untuk tidak membunuh sesi kecuali jika Anda tahu bahwa hal itu tidak akan menimbulkan masalah di sisi aplikasi (mencoba menggunakan sesi yang sudah mati, misalnya).
Mungkin Anda melihat kumpulan koneksi yang tidak terkonfigurasi yang menciptakan ratusan koneksi setelah aplikasi dinyalakan - kumpulan koneksi mungkin urutan besarnya lebih besar dari yang seharusnya. Saya sarankan menjangkau staf pengembang / aplikasi pendukung & melihat bagaimana kumpulan koneksi dikonfigurasi.
Setelah melakukan sedikit riset, w3wp.exe adalah Proses Kumpulan Aplikasi IIS - Anda hampir pasti ingin berbicara dengan admin server web IIS Anda untuk membantu sampai ke bagian bawah konfigurasi penyatuan koneksi.
sumber