I'm trying to install Oracle 10g on to OS X Lion. I have previous achieved this on Snow Leopard with the following tutorial.

The issue I'm having is that the ulimit settings in the oracle/.bash_profile cannot be modified.

I have the following in the bash_profile:

export DISPLAY=:0.0
umask 022
# must match `sysctl kern.maxprocperuid`
ulimit -Hu 512
ulimit -Su 512
# must match `sysctl kern.maxfilesperproc`
ulimit -Hn 10240
ulimit -Sn 10240

Upon applying the bash_profile settings . ~/.bash_profile I get the following error:

-bash: ulimit: max user processes: cannot be modify limit: Invalid argument

This then results in $ sqlplus / as sysdba not functioning correctly with a Segmentation fault: 11

The output of $ ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 10240
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 512
virtual memory          (kbytes, -v) unlimited

If any one knows how I can apply these ulimit settings to the oracle user I have created to allow me to install sqlplus and therefore create a db, that would be great.


How about trying to compile and install oracle and sqlplus on leopard and after moving the pieces to lion? e.g. sqlplus, tnsnames, oracle and so on in bin folder?

I found a similar solution here for snow leopard (the problem of segmentation was that binaries were compiled in 32bit mode under leopard then ported to 64bit snow leopard or something similar..)


The ulimit problem is because the kern.maxprocperuid Kernel parameter changed its default value to 709 in Lion (at least that was the default on my MacBook Air). As pointed out in the comment in the profile script, the values for:

ulimit -Hu 512
ulimit -Su 512

must match the kern.maxprocperuid Kernel parameter value. You can check this value with:

$ sysctl kern.maxprocperuid

In my case the default was 709, so that's what I put in my .bash_profile script:

ulimit -Hu 709
ulimit -Su 709

As for the segmentation fault when running sqlplus, I haven't found a solution for that. I can't get netca to run properly either. These would seem to be more serious issues!

  • helps if i read my own comments # must match 'sysctl kern.maxprocperuid'in my .bash_profile, will try this out and let you know how i get on – Cellze Oct 20 '11 at 10:23
  • you'll get past the .bash_profile issue, but the "Segmentation Fault: 11" error is a showstopper that no one has managed to solve AFAIK. I've resorted to running Oracle in a Linux virtual machine on my Mac and it seems to work well. – mluisbrown Oct 20 '11 at 15:58

I had posted a blog that might help.

It should work on Snow Leopard and hopefully also LION.

  • 1
    As per my comments on the initial post I was already using the blog.rayapps.com references that your blog cites. I don't believe there is anything new that would help in this situation. – Cellze Feb 29 '12 at 16:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.