000035099 - When logging into RSA Identity Governance and Lifecycle as the oracle user:  cannot set user id: Resource temporarily unavailable

Document created by RSA Customer Support Employee on May 1, 2017
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000035099
Applies ToRSA Product Set: RSA Identity Governance and Lifecycle
IssueLogins to RSA Identity Governance and Lifecycle as the Oracle user using SSH or WinSCP fail with the following error:
      su: cannot set user id: Resource temporarily unavailable
This can happen logging in directly as the oracle user, or with the command su - oracle.
CauseThe error stems from the fact that there are no more threads available for the OS user 'oracle'.
By default, the following setup is in place in /etc/security/limits,conf:
oracle soft nproc 2047
oracle hard nproc 16384

oracle soft nofile 1024
oracle hard nofile 65536

To check on used threads that would affect the outlined settings, use these commands
ps -u oracle -L | wc -l

You will notice that your number of threads has reached the limit for NPROC set in /etc/security/limits.conf.
There may be different reasons, but in the case which is the base for this article, the default parameter settings for parallel processes had been modified, which created a large amount of parallel
slave processes started up by default at every database start, and each process used multiple threads which quickly exhausted the limits.
Example process names for this case: ora_p001_AVDB to ora_p02n_AVDB.
ResolutionAs mentioned, this issue may have different root causes, which require separate analysis.
In this case, setting the parallel server process numbers back to default fixed the problem:
sqlplus / as sysdba
SQL> alter system set parallel_max_servers = 80 scope = both;
SQL> alter system set parallel_min_servers = 8 scope = both;
SQL> alter system set parallel_servers_target  = 32 scope = both;
WorkaroundIf all the extra  processes are justified, you may need to increase the values in /etc/security/limits.conf.
NotesFor an explanation of Oracle slave process names, please see Oracle's page on Background Processes.