Oracle 12 forms can’t run on SmartOS LX zone
Oracle Forms 12 requires the following Linux kernel parameters to be set but the SmartOS LX emulation does not map these kernel parameters to Illumos kernel parameters.
sysctl -w net.core.rmem_max=2096304
sysctl -w net.core.wmem_max=2096304
We were able to set the equivalent underlying Illumos kernel parameters with the command below but the issue is that the LX emulation lies to the Linux system call and returns some arbitrary value even though we have changed the kernel param in Illumos under the hood.
/native/usr/sbin/ndd -set /dev/udp udp_max_buf 2096304
Here are the Oracle 19 DB required kernel settings: https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/minimum-parameter-settings-for-installation.html#GUID-CDEB89D1-4D48-41D9-9AC2-6AD9B0E944E3
And this shows which ones are not mapped:
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep semmsl
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep semmns
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep semopm
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep semmni
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep shmall
kernel.shmall = 1048576
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep shmmax
kernel.shmmax = 4294967295
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep shmmni
kernel.shmmni = 4096
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep panic_on_oops
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep file-max
fs.file-max = 131072000
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep aio-max-nr
fs.aio-max-nr = 65536
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 32768 65535
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep rmem_default
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep rmem_max
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep wmem_default
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep wmem_max
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]#
So it looks like the following are not mapped:
semmsl
semmns
semopm
semmni
panic_on_oops
rmem_default
rmem_max
wmem_default
wmem_max