Any idea, on how we can force the Oracle database to kill a session where the client died abnormally
Please we need to kill the sessions and rollback transaction of clients that died abnormally. This requirement is needed to resolve an issue of ACTIVE/ACTIVE application.
The application team tested to disconnect/crash one application node abnormally, we found that all the session connected from the crashed node are still there in the database, and if any session is updating a record it keeps locking this record.
Therefore I have set the SQLNET.EXPIRE_TIME to 1 minute in the sqlnet.ora on my RAC database and tried to simulate this client disconnection abnormally after running an update statement without commit. I found that the session remained connected and locking the table it is updating between 10 to 13 minutes then it got cleaned. This enhanced the situation to clean client sessions that might remain locking records/table forever; but 10 minutes is still a high value for the application requirement, we are looking to reduce this time.