This content has been marked as final. Show 4 replies
Yes we already tried with DCD, we set "SQLNET.EXPIRE_TIME=1", but in this case this is not helping. Maybe because the transaction lock on database is still present. If I check table v$session, in particular row there is still set TADDR value.
We can use profile idle_time, but this is not very good solution, because influence on all inactive sessions.
Does exist some parameter or database job that cleans lost transactions or TX locks?
Is there a firewall between the database server and the middle tier client?
I'm not an expert in firewalls, but I have seen reports in the past of firewalls interfering with DCD (or also being the need for it!).
Just to confirm, you did configure the DCD (sqlnet.expire_time) in the sqlnet.ora file on the server? Sometimes people configure it on the client by mistake.
I'm not aware of any job (unless a manual job or procedure has been created) that would clean things up as you mention (other than the normal PMON cleaning up failed user processes/threads).
I also agree that creating and assigning a profile with idle_time would be a bad idea as connections in the connection pool could/would appear idle but really they should not be closed as they are eligible to be given to a client request.