ITPub博客

首页 > 数据库 > Oracle > [20181112]EM12c agent无法启动.txt

[20181112]EM12c agent无法启动.txt

原创 Oracle 作者:lfree 时间:2018-11-12 09:21:42 0 删除 编辑

[20181112]EM12c agent无法启动.txt


--//别人的系统EM12c agent无法启动,报如下错误:

./emctl: line 286: /usr/bin/uname: Argument list too long

./emctl: line 287: /usr/bin/uname: Argument list too long

./emctl: line 466: /oracle/agent12c/core/12.1.0.5.0/perl/bin/perl: Argument list too long


--//我自己从来不用这东西.

--//实际上问题在于里面执行脚本commonenv定义的$EM_THREAD_STACK_SIZE太小.视乎这个问题仅仅出现rh7.3版本.

--//我在rhel 7.5上无法演示出来.


--//链接:https://bugzilla.redhat.com/show_bug.cgi?id=1463241

Markus Frosch 2017-06-20 08:20:53 EDT

After updating to 3.10.0-514.21.2.el7, probably related to the stackguard patches, you can't set a low rlimit_stack for processes.

When setting a Limit to a value lower than ~ 4.5 MB, the system can't start the executable anymore.


How reproducible:


$ ulimit -s 1024

$ /bin/true

bash: /bin/true: Argument list too long


$ ulimit -s 4096

$ /bin/true

bash: /bin/true: Argument list too long


What works:


$ ulimit -s 4608

$ /bin/true


Additional info:


This does not happen on latest patched versions of Debian jessie + stretch.


We haven't yet tested RHEL 6, or other distributions.


Similar problems happen in systemd, then systemd even has internal problems trying to start your daemon...



[Unit]

Description=Test problems with LimitRSTACK


[Service]

Type=oneshot

ExecStart=/bin/true

#LimitSTACK=256K

LimitSTACK=4M


--//我看了许多系统定义的:

$ ulimit -s

10240


--//修改很简单修改commonenv:

....

if [ "$EM_THREAD_STACK_SIZE" = "" ] ; then

        #EM_THREAD_STACK_SIZE=3072 # Default value

        EM_THREAD_STACK_SIZE=10240 # New value

    fi

    ulimit -S -s $EM_THREAD_STACK_SIZE

....


--//这样就ok了.


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2219562/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969316