Jika kedaluwarsa kata sandi pengguna terjadi di tengah dari koneksi (sesi) yang sudah dibuat, itu tidak akan mengakhiri sesi pengguna - sesi tidak akan ditutup secara otomatis. Pengguna akan dapat melanjutkan dan diminta (SQL*PLUS atau alat lain) untuk mengubah kata sandinya pada upaya pertama untuk masuk setelah kedaluwarsa. Bahwa perilaku yang benar. Biarkan pengguna menyelesaikan apa yang telah dia mulai. Jika Anda dapat menutup koneksi yang membunuh sesi pengguna tepat setelah kedaluwarsa, Anda mungkin tidak akan melakukannya dengan bersih dan pekerjaan pengguna akan hilang.
Sunting
Pertama-tama mari kita definisikan sesi dan koneksi. Sesi adalah entitas logis dan koneksi adalah fisik. Dan satu koneksi dapat memiliki dari 0 hingga n sesi yang dibuat di atasnya (Anda dapat mengujinya menggunakan sql*plus CLI dan informasi dari v$process
melihat). Jadi kedaluwarsa kata sandi lebih condong ke sesi pengguna daripada koneksi dan ketika pengguna keluar, sesinya tidak ada lagi, tetapi koneksi masih dapat dibuat dan ditutup ketika aplikasi klien ditutup.
Iya itu mungkin. jika Anda benar-benar yakin bahwa pengguna atau aplikasi telah menyelesaikan pekerjaannya dan lupa menutup sesi, Anda dapat menggunakan alter system kill session <<SID>>, <<Serial_Number>>
untuk membunuh (Anda harus diberikan alter system privilege
) sesi.
Anda dapat membuat profil
dengan IDLE_TIME
opsi yang ditentukan.
create profile <<Profile_name>> limit idle_time <<num_of_minutes>>
dan menetapkannya ke pengguna. Saat waktu sesi tidak aktif - waktu saat sesi tidak melakukan panggilan SQL melebihi <<num_of_minutes>>
Oracle akan mengembalikan transaksi saat ini dan mengakhiri sesi itu.
Anda juga dapat mengonfigurasi penghentian koneksi yang tidak lagi digunakan dengan menyetel SQLNET.EXPIRE_TIME
parameter
, dalam hitungan menit, di sqlnet.ora
mengajukan.