Skip to content

Instantly share code, notes, and snippets.

@blackwood821
Last active June 9, 2021 16:02
Show Gist options
  • Save blackwood821/33abf4ff47e0bc116b99bec4815ceabc to your computer and use it in GitHub Desktop.
Save blackwood821/33abf4ff47e0bc116b99bec4815ceabc to your computer and use it in GitHub Desktop.
Smartos LX Emulation Issue

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment