Linux 下Oracle 环境变量- bash- ulimit- open files- cann |
发布时间: 2012/9/16 15:03:49 |
设置Oracle 环境变量的时候报错: [Oracle@www.linuxidc.com ~]$ source .bash_profile -bash: ulimit: open files: cannot modify limit: 不允许的操作
设置的环境变量如下: # Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR Oracle_BASE=/u01/app/oracle; export ORACLE_BASE Oracle_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME Oracle_SID=orcl; export ORACLE_SID Oracle_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$Oracle_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$Oracle_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$Oracle_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "Oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
把最后一段if 判断去掉后,在source正常. 思考了一下这个问题。 仔细的看了一下官网文档上在Oracle 安装这块对环境变量的设置,没有这一段配置。而是采用的是另一种方法:
在/etc/security/limits.conf 文件里添加: Oracle soft nproc 2047 Oracle hard nproc 16384 Oracle soft nofile 1024 Oracle hard nofile 65536
我们cat limits.conf 文件时,在最上面有参数的解释: # - nofile - max number of open files # - nproc - max number of processes
这个参数的意思和ulimit 的-u 和-n 参数作用是一样的。 -u
关于ulimit 的更多内从,参考: 通过 ulimit 改善系统性能 http://www.linuxidc.com/Linux/2011-03/33121.htm
所以,在安装Oracle 添加环境变量的时候,不用在添加: if [ $USER = "Oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
这段ulimit的设置了。
从这个变量上,可以推断出,在.bash_profile 文件里添加if 判断是以前版本的一个设置。 现在变量设置更新了方法,但是以前的文档还存在。 所以大家都在网上搜来搜去,没有留意到这个问题。 知识的更新很重要啊 本文出自:亿恩科技【www.enkj.com】 |