Thursday, November 5, 2015

OAM 11g Authentication Fails because of Universal Connection Pool

ISSUE:


Login fails to /oamconsole (Even though username and password are correct).

ERROR OBSERVED:


Logs @ DOMAIN_HOME/servers/oam_server/oam_server-diagnostics.log

<<
oracle.security.idm.OperationFailureException: oracle.security.am.common.jndi.ldap.PoolingException [Root exception is oracle.ucp.UniversalConnectionPoolException: Invalid life cycle state. Check the status of the Universal Connection Pool]
>>

REASON:


  • The problem is caused by the accumulation of UCP* files that are generated over time due to  unclean shutdowns (kill -9 ) of either AdminServer or OAM_Server nodes (Admin, Managed) Universal Connection Pool.
  • Each time the universal connection pool [re]starts one of the temp files is created as  /tmp/UCP/*temp. 
  • The problem arises if the variable part of the file name is not random enough.
  • In that case we are trying to initialize a new pool, but finding a file of same name which is taken to indicate this pool already exists.
  • The created temp file is cleaned up at every (clean/normal) shutdown. 
  • When insufficient viable connections remain we recycle the connection pool.
  • These temporary UCP* files are located in the tmp directory.
  • In case of Solaris location is /var/tmp

SOLUTION:


1) Shutdown OAM server and Admin Server. 

2)  Delete the existing UCP* temp files from the location below(based on OS)
/tmp
/var/tmp

$ cd /var/tmp
$ rm -rf UCP*

3) Start Admin Server  

4) Start  OAM managed server.  

5) Try accessing /oamconsole(it opens without any issues)
 

No comments:

Post a Comment

Other Posts