Looks like a problem in 11.1 ( all the patchset updates apparently ) where setting ( attempting to use ) dead connection detection ( by using SQLNET.EXPIRE_TIME=1 ( 1 or above ) ) can cause a problem.
We saw connections hang on the database server side in SQLNET message from client. They had to be killed manually using kill -9 not a pretty solution.
Patch 6918493 is available ... see also bug 11704187 and base bug 6918493.
I for one do not understand why this bug was not ( has not yet been ) included with the many different 11.1 patchset updates. It did go in clean on a test system has not yet been rolled out to all our systems.
It can be bypassed by setting SQLNET.EXPIRE_TIME=0 ( or removing the parameter entirely ) but of course this turns off the dead connection detection.
Supposed to be fixed in base 11.2 and above.