oc4j启动故障处理

./opmnctl status 查看状态

./opmnctl startall 启动所有服务

./opmnctl stopall 停止所有应用

./opmnctl shutdown 关闭所有服务,包括管理服务

./opmnctl startproc ias-component=HTTP_Server 启动单个服务

./opmnctl startproc process-type=HTTP_Server 启动单个服务


当执行启动所有应用的命令之后报错

ias-component/process-type/process-set:
HTTP_Server/HTTP_Server/HTTP_Server/

Error
--> Process (index=1,uid=878718185,pid=5735)
failed to start a managed process after the maximum retry limit
Log:
/home/oracle/app/ias/opmn/logs//HTTP_Server~1.log

在 这个日志文件中没有任何异常,只有start process之类的命令,日志中没有明显报错

单独启HTTP_Server进程试试看

$ ./opmnctl startproc process-type=HTTP_Server

错误提示是一样的。



分析:

1、此时可以看下Apache的错误日志文件 ..../Apache/Apache/logs/error_log<date>

2、如果还是没有明显报错,可以查看     ..../Apache/Apache/logs/httpd.pid 的属性,看看是否和其他文件相同,很可能已经变成类似于 root oinstall 之类的了

3、关闭所有应用以后,启动控制台试一试,./emctl start iasconsole 启动之后,查看java进程是否已经起来,如果起来,登录http://ip:1156 登录进去检查状态,点击“全部启动”看看,此时只有HTTP_Server无法启动,查看错误日志也和上面一样没有特殊之处;


解决:这很可能是用错误的用户执行启动程序造成,比如本来应用用ias用户启动,但是你启动的时候选择了root,这样原本属于ias用户的日志文件就自动变成了root的了,ias没有权限读写导致http_server启动失败

1. 将Apache/Apache/logs 目录下的httpd.pid 所有者改为ias.

2.执行启动,第一次可能启动超时,再次启动成功。如启动不成功,清空Apache/Apache/logs目录后再启动。

3.将所有应用程序(整个工程目录)的所有者改成ias。


使用root用户启动apache,会导致httpd.pid文件的属主变成了root,导致后来使用ias等普通用户启动apache时,ias会尝试写httpd.pid以便记录自己的pid进程号,但是由于httpd.pid目前的属主是root使用ias用户修改httpd.pid文件肯定会失败。

扩展知识:

文件httpd.pid记录了apache启动后的进程标识(PID,Process ID),对于httpd服务有着及其重要的作用。若此文件不能正常读写,httpd进程会主动退出。




可以参考其他相关类似文章:

http://hi.baidu.com/nboy/blog/item/6c70367af5e0b5e82e73b3a7.html


转载时请标识出处!多谢!


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值