The Metalink analyst kept insisting that the “ulimit -d” value was too low.
Running an RDA for Oracle on AIX today I saw that the ulimit values were different if I run on command line or through perl:
$perl -e 'system("ulimit -a");' time(seconds) unlimited file(blocks) unlimited data(kbytes) 2097152 stack(kbytes) unlimited memory(kbytes) unlimited coredump(blocks) unlimited nofiles(descriptors) 2000 threads(per process) unlimited processes(per user) unlimited $ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max memory size (kbytes, -m) unlimited open files (-n) 2000 pipe size (512 bytes, -p) 64 stack size (kbytes, -s) unlimited cpu time (seconds, -t) unlimited max user processes (-u) 2048 virtual memory (kbytes, -v) unlimited
Later I found that this means that you have an hard limit (shown by perl) that is different from the soft limits.
One should use:
$ ulimit -aH
and
$ ulimit -aS
Also, keep in mind that, at least in AIX, when Oracle is started by the CRS, it gets the ulimits of the root user. So these need also to be correctly set. In a client system we had to explicity set stack_hard=-1, to get unlimit stack size.