Article Number
000035099
Applies To
RSA Product Set: RSA Identity Governance & Lifecycle
RSA Version/Condition: All
Platform (DB): Oracle
Issue
Logins to the RSA Identity Governance & Lifecycle application server as the
oracle operating system user fail with the following error:
su: cannot set user id: Resource temporarily unavailable
This error occurs when logging in directly as the
oracle user, or when using the
su - oracle command.
Another symptom is excessive oracle processes with names
ora_p001_AVDB through
ora_p02n_AVDB. Login as the
root user and execute the following command to check for these oracle processes:
ps -ef | grep ora_
Cause
This error indicates that there are no more threads available for the
oracle operating system user.
By default, the
/etc/security/limits.conf file is configured as follows:
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 above settings, execute this command as the
root user:
ps -u oracle -L | wc -l
You will notice that your number of threads has reached the hard limit for
nproc set in the
/etc/security/limits.conf file.
Causes for reaching the
nproc limit vary but in the case for which this RSA Knowledge Base Article was written, the
nproc limit had been reached because the default parameter settings for parallel processing had been modified which created a large amount of parallel slave processes by default at every database restart, and each process used multiple threads which quickly exhausted the limits.
Resolution
As mentioned, this issue may have different root causes, which require separate analysis.
In this case, setting the parallel server process numbers back to their default values fixed the problem.
- Login as SYSDBA:
If you can login to the server as the oracle user, use this command to login to SQL*Plus:
sqlplus / as sysdba
If nproc is still maxed out, login to the server as the root user and use this command to login to SQL*Plus:
sqlplus sys/<password> as sysdba
- Modify the system settings back to their default values:
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;
Notes