[ORACLE EBS]7. Internal Concurrent Manager

来源:互联网 发布:淘宝买到假药怎么举报 编辑:程序博客网 时间:2024/05/04 19:50
今天谈谈Internal Concurrent Manager
就象前篇讲的Internal Concurrent Manager是管理Concurrent Manager的Concurrent Manager,有点饶。
正因为如此,即使Internal Concurrent Manager意外挂了,其他Concurrent的processes还是可以正常跑的,
除非是其它Concurrent Manager需要做操作。
而且,如果某个Concurrent Manager 起不来或意外中断,Internal Concurrent Manager都会监控到,尝试把它起来。
所以,可能有时侯log里有一堆ERROR,起来就挂 。

查询SQL:

SELECT user_concurrent_queue_name manager, node_name node,
       running_processes actual, max_processes target, cache_size buf,
       diagnostic_level, enabled_flag
  
FROM fnd_concurrent_queues_vl
 
WHERE user_concurrent_queue_name = 'Internal Manager'
 
SELECT DISTINCT concurrent_process_id cpid, pid opid, os_process_id osid,
                q.user_concurrent_queue_name manager, p.node_name node,
                TO_CHAR (p.process_start_date,
                         
'YY-MM-DD HH24:MI:SS'
                        ) started_at,
                p.logfile_name, p.process_status_code
           
FROM fnd_concurrent_processes p,
                fnd_concurrent_queues_vl q,
                fnd_v$process
          
WHERE q.application_id = queue_application_id
            
AND (q.concurrent_queue_id = p.concurrent_queue_id)
            
AND (spid = os_process_id)
       
AND user_concurrent_queue_name = 'Internal Manager'
ORDER BY        os_process_id,
                concurrent_process_id,
                q.user_concurrent_queue_name

               
LOG Path:              
/TEST/testcomn/admin/log/TEST/TEST_0126.mgr (11.5.8)
/TEST/testcomn/admin/log/TEST_servername/TEST_0126.mgr (11.5.10)
/TEST/inst/apps/TEST_servername/logs/appl/conc/log/TEST_0225.mgr (R12)
在11.5.8时,没有后缀的,后来的这个后缀应该日期。

PROCESS:
FNDLIBR FND CPMGR FNDCPMBR sysmgr="" diag=N logfile=/...

Parameter:
ICM有三个参数,
PMON cycle ,default = 20, 这个参数需要和SLEEP TIME结合起来,PMON cycle*Sleep Time,得到秒数, 所以DEFAULT是20分钟。但是有怪事,在下面。
用来check是否有concurrent managers挂了的一个时间间隔周期。
Queue Size ,default = 1,  好象没人改这个,这个不太理解。
( 可以自己翻译一下The queue size is the number of PMON cycles that the ICM waits between checking for disabled or new concurrent managers.)
Sleep Time ,default = 60,决定两次查看的sleep间隔时间,单位是秒. 查看是否有等待requests,有的话,就处理,没有就又进入SLEEP.
所以requests很多的话,可以改小点。

怪事就是当都是default值是, PMON 周期确是2分钟。
即:
 sleep=60 (default)
 pmon=20 (default)
 quesiz=1  (default)

如果改成pmon=10,就是5分钟了,
 sleep=60 (default)
 pmon=10
 quesiz=1  (default)

从而得知,default sleep其实是30,pmon应该是4 , 30*4 = 120 秒 = 2 分种.
 sleep=60
 pmon=20
 quesiz=1  (default)
不知道为何这样,难道ORACLE晕头了。
那如何知道的呢?
查看TEST.mgr log 文件,可以看到间隔:
---------------------------
  Process monitor session started : 27-FEB-2008 15:03:04
    Process monitor session ended : 27-FEB-2008 15:03:05

  Process monitor session started : 27-FEB-2008 15:05:05
    Process monitor session ended : 27-FEB-2008 15:05:05

  Process monitor session started : 27-FEB-2008 15:07:05
    Process monitor session ended : 27-FEB-2008 15:07:06

  Process monitor session started : 27-FEB-2008 15:09:06
    Process monitor session ended : 27-FEB-2008 15:09:06
有兴趣可以自己试试。

最后,如何修改参数呢?
cd $FND_TOP/bin
vi startmgr
修改最后一行,
eval $@ batchmgr

eval $@ batchmgr pmon=10 sleep=60
然后
restart concurrent manager.

有错误,也请指出,谢谢!
 
原创粉丝点击