Search: For:
Browsing Single Category
www.dbatoolz.com ORACLE DBA Forums Solutions › Topic Id: 2965 | Permalink

/etc/profile[57]: ulimit: pipe: is read only

Topic ID: 2965
Created By: 2008-JAN-25 18:06:29 [Vitaliy]
Updated By: 2008-JAN-25 18:08:56 [Vitaliy]
Status: Open
Severity: Normal
Read Only: No
8832
2008-JAN-25 18:06:29
Moderator
 
 
Registered On: Mar 2006
Total Posts: 233
Issue
You are following the steps in the ML Note:421308.1 Requirements For Installing 
Oracle10gR2 On RHEL/OEL 5 (x86_64):

5. Set the session limits for Oracle user 

if [ $USER = "oracle" ]; then 
   if [ $SHELL = "/bin/ksh" ];then
       ulimit -p 16384
       ulimit -n 65536
   else
       ulimit -u 16384 -n 65536
   fi
fi

You then try to su - oracle and receive the following error:

[root@cal-host ~]# su - oracle
/etc/profile[57]: ulimit: pipe: is read only
Research
Apparently KSH on 64-bit OEL-5 (Update 1) has changed and the syntax that was 
previously used to set the "Max user processes limitation" is now changed from 
"ulimit -p" to "ulimit -u".  You can find the right syntax by issuing the 
following command:

cal-host.10GR2-> ulimit -a
address space limit (kbytes)   (-M)  unlimited
core file size (blocks)        (-c)  0
cpu time (seconds)             (-t)  unlimited
data size (kbytes)             (-d)  unlimited
file size (blocks)             (-f)  unlimited
locks                          (-L)  unlimited
locked address space (kbytes)  (-l)  32
nofile                         (-n)  65536
nproc                          (-u)  2047
pipe buffer size (bytes)       (-p)  4096
resident set size (kbytes)     (-m)  unlimited
socket buffer size (bytes)     (-b)  4096
stack size (kbytes)            (-s)  10240
threads                        (-T)  not supported
process size (kbytes)          (-v)  unlimited

The one we need to be changing is "nproc" via "-u" switch NOT "pipe buffer 
size" ...
Solution
Remove incorrect code from "/etc/profile" and replace it with:

cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then
        if [ \$SHELL = "/bin/ksh" ]; then
              ## see SR:
              ##ulimit -p 16384
              ulimit -u 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi
EOF
[edited by: Vitaliy at 18:07 (CST) on Jan. 25, 2008]