Hi there,
Having an issue with an Oracle Database Server 11.2.0.4 running on Oracle Linux 6.7 x86_64, this is a virtual server with 64G of RAM and 3 oracle instances. The kernel memory config is like this:
$ cat /proc/sys/kernel/shmmax
64424509440
$ cat /proc/sys/kernel/shmall
4294967296
$ cat /proc/sys/kernel/shmmni
4096
And the shared memory size is:
$ df -h | grep shm
tmpfs 60G 25G 36G 42% /dev/shm
Relevant limits for the oracle user are:
$ ulimit -a
max locked memory (kbytes, -l) 62914560
max memory size (kbytes, -m) unlimited
open files (-n) 101365
virtual memory (kbytes, -v) unlimited
All of these instances (lets call them A, B and C) are using automatic memory management, and their memory parameters are as follow:
A
SQL> show parameter target
NAME TYPE VALUE
-------------------------- ---------- -----------
memory_max_target big integer 48G
memory_target big integer 48G
pga_aggregate_target big integer 0
sga_target big integer 0
B
SQL> show parameter target
NAME TYPE VALUE
-------------------------- ---------- -----------
memory_max_target big integer 8G
memory_target big integer 8G
pga_aggregate_target big integer 0
sga_target big integer 0
C
SQL> show parameter target
NAME TYPE VALUE
-------------------------- ---------- -----------
memory_max_target big integer 2G
memory_target big integer 2G
pga_aggregate_target big integer 0
sga_target big integer 0
Now the issue is presenting on instance A only, it happens when users try to connect. Further analysis shows the problem happening when the number of sessions reach 290, so when select count(*) from v$session returns 290 the problem starts happening. ¿Any idea where the problem could be?. As a side note, when the problem is visible the OS (free -g) still reports a few gigabytes of free memory normally around 10G. Also, no errors are present on the alert log.
Thanks a lot for your time.