iT邦幫忙

2023 iThome 鐵人賽

0
自我挑戰組

IT工作中曾遇到的問題系列 第 23

Oracle EBS 11i找出ICM(Internal Manager掛掉)的log與問題

  • 分享至 

  • xImage
  •  

這次的案但是遇到Concurrent Program一直無法運行,經檢查後,發現是Internal Manager掛掉了。

Internal Manager是管理所有Concurrent Manager的管理程序,不會影響到EBS的Forms,所以它掛掉並不會影響EBS Forms的操作,所以系統並沒有完全當掉。

進入System Adminisrator,查看Concurent -> Manager -> Administer,檢查Internal Manager的Autual是否>=1 ,如果為0則表示沒有正常運行。

我的作法是先登入到EBS的作業系統,例如我的是Solaris,先執行下列的指令,查出所有Concurrent Request的process(FNDLIBR)後再手動把這些process刪掉。

$ ps -ef |grep FNDLIBR
$ kill -9 <Process ID>

或是直接執行adcmctl.sh把相關的service停下來,並手動把無法停用的process刪掉,這個做法可以減少kill process的數量

$ adcmctl.sh stop apps/XXXXX
$ ps -ef |grep FNDLIBR
$ kill -9 <Process ID>

接著重啟Concurrent Manager:

$ adcmctl.sh start apps/XXXXX

經過上述的步驟,我的ICM終於恢復了,也不用重開整個EBS,接下來要查詢log,以便找出問題。

有三個方式可以找到ICM的log:

1、以apps User登入到系統,並執行下列指令如下,例如找到log file:TEST_0826.mgr

$ cd $APPLCSF/$APPLLOG
$ ls -lrt *$TWO_TASK*.mgr
-rw-r--r--   1 testmgr  dba      5900612 Sep 12 10:40 TEST_0826.mgr

2、執行下列的SQL,以找出log file

SELECT  fp.logfile_name as "ICM_LOG_NAME"
    FROM fnd_concurrent_processes fp, fnd_concurrent_queues fq
    WHERE fp.concurrent_queue_id = fq.concurrent_queue_id
    AND fp.queue_application_id = fq.application_id
    AND fq.manager_type = '0'
    AND fp.process_status_code = 'S';

3、在EBS內登入到Sysadmin Administor Responsibility

Go to ->Concurrent -> Manager -> Administer -Processes -> Click button Internal Manager Log.如下圖
https://ithelp.ithome.com.tw/upload/images/20230915/20156403JSOiieLhDv.png

找到log後,查到的問題是ORA-04030: out of process memory,是一支concurrent request造成的。

本篇參考我的Blog:https://blog.twtnn.com/


上一篇
Raspberry pi 取得Oracle DB的資料
下一篇
EBS 11i:The Output Post-processor is running but has not picked up this request
系列文
IT工作中曾遇到的問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言