EBS的concurrentmanager进程(二)

2015-02-02 20:09:19 · 作者: · 浏览: 22
ib 目录下, 再用adrelink.sh 命令把所有的 .o 文件连接成可执行文件.

所以说, concurrent manager 是有层级关系的, 一个进程由另一个进程产生, 有的进程运行完就消失, 有的会一直存在. 所有上面提到的这些进程都有一个父进程, 就是FNDSM (standard manager), 由它产生其他的 concurrent manager, 而FNDSM (PID=7686) 这个进程和 Form 进程(PID = 5762)是处于相同地位的, 也就是说, Form 和 FNDSM 是相同地位的两个进程, 有时候我们启动了 Form 服务, 但是没有启动 concurrent manager 服务, 那么提交请求的时候就会报 "no manager" 的警告.

最后说一下怎样启动 FNDSM 进程. 在 $ADMIN_SCRIPTS_HOME 目录下有一些很好用的脚本, adcmctl.sh 用于管理 concurrent manager 的启动与停止, adcmctl.sh stop/start apps/apps 可以用来停止/开始 concurrent manager 服务.

[oracle@erik-lnx scripts]$ adcmctl.sh stop apps/apps
You are running adcmctl.sh version 120.17.12010000.5
Shutting down concurrent managers for VID ...
[oracle@erik-lnx scripts]$ ps -aef |grep 'FNDLIBR'
oracle    8576  6181  0 20:27 pts/1    00:00:00 grep FNDLIBR
[oracle@erik-lnx scripts]$ ps -aef |grep 'FNDSM'
oracle    8578  6181  0 20:27 pts/1    00:00:00 grep FNDSM

发现 FNDSM 进程已经消失了. 这时提交任何请求都会报 "no manager" 的警告. 重新启动之后提交的请求就会继续被处理了.

最后的最后, 说下由不同进程产生的SQL trace 的特点, 打开 .trc 文件, 在文件开头查找 MODULE, 就可以看到产生 trace 的进程是哪个了. 例如:

*** MODULE NAME:(SQL*Plus)
*** MODULE NAME:(e:PO:cp:RCVOLTM14)
*** MODULE NAME:(RVCTP@erik-lnx.oracle.com (TNS V1-V3))
*** MODULE NAME:(frmweb@erik-lnx.oracle.com (TNS V1-V3)) --Form 进程
*** MODULE NAME:(fnd.framework.service.lookups.server.LookUpAM:R) --OAF 进程