關於Oracle E-Business Suite並發處理機制(Current Processing)

來源:互聯網
上載者:User

標籤:


2012年寫過一篇關於Oracle E-Business Suite並發管理器的文章,回頭看之前總結的內容還是比較單薄,很多點沒說到,最近在看這塊的內容,索性再寫一篇稍微完整的文章來。
Oracle E-Business Suite並發處理機制(Current Processing)的好處區別於普通功能的處理機制,並發處理機制其實是一個非同步處理機制,它把程式放到後台來運行,前台的操作還給使用者,允許使用者可以繼續做其他業務。技術上將,非同步處理的好處是降低系統特定時間點的負載,提升系統資源的整體使用率。感受上講,非同步機制可以有效提升整體的使用感受,減少使用者無效的等待時間。

什麼樣的程式可以用並發機制來處理 報表類報表是一種非常個人化的東西,一般也是每家公司客戶化最多的部分,如果為報表需求都開發不同的列表介面來查詢、展示,那麼工作量將是巨大的。所以Oracle把報表嵌入到並發處理中,通過一些靈活的配置或少量的開發(Reports/BI Publisher Reports)既可以實現使用者各類報表的需求. 流程類多用於批量交易處理,或是長時間啟動並執行業務,如庫存管理器批量處理介面表中的臨時事務。
並發處理機制(Current Processing)的兩類組件並發處理機制(Current Processing)包括兩類組件:
  • 並發管理器(Concurrent Managers)
  • 並發請求(Concurrent Requests)
像公司中“經理”一樣,Manager給Worker安排任務,Worker負責具體的執行。Oracle EBS中的Concurrent Managers就是負責安排工作,Concurrent Requests負責具體的執行。

並發管理器(Concurrent Managers)的分類一家企業一般都有許多的經理,有著高低之分,總裁、總監、經理、主管....Oracle EBS這家企業中,同樣也有著許多不同層面上的Concurrent Manager,有核心的Concurrent Managers管理團隊(Internal Concurrent Manager、Standard Manager、Conflict Resolution Mananger),也有普通Concurrent Managers。核心的Concurrent Managers團隊管理下邊普通Concurrent Managers。
1.核心的三個並發管理器
  • Internal Concurrent Manager(內部管理器) — The master manager is called the Internal Concurrent Manager (ICM) because it controls the behavior of all of the other managers, and because the ICM is the boss, it must be running before any other managers can be activated. The main functions of the ICM are to start up and shutdown the individual concurrent managers, and reset the other managers after one them has a failure.
  • Standard Manager(標準管理器) — Another important master Concurrent Manager is called the Standard Manager (SM). The SM functions to run any reports and batch jobs that have not been defined to run in any specific product manager. Examples of specific concurrent managers include the Inventory Manager, CRP Inquiry Manager, and the Receivables Tax Manager.It is not recommended to add specialization rules to the standard manager as it can cause problems.
  • Conflict Resolution Manager(衝突解決管理器) — The Conflict Resolution Manager (CRM) functions to check concurrent program definitions for incompatibility rules. However, the ICM can be configured to take over the CRM‘s job to resolve incompatibilities.
小結:
  • Internal Concurrent Manager是管理器中的BOSS,總負責人,控制著其他並發管理器的運作。
  • Standard Mananger是標準管理器,沒有納入其他特定管理器(Specific Concurrent Managers)的請求,預設就會由標準管理器管理。
  • Conflict Resolution Manager主要用於處理議程衝突。

2.特定用途的並發管理器(Specific Concurrent Managers ,SCM)除了上邊說的三個核心並發管理器,還有眾多的特定用途的並發管理器,如庫存管理員(Inventory Manager),接收交易處理管理器(Receiving Transaction Manager),MRP Manager,以及使用者自訂的並發管理器。

並發管理器是如何管理並發請求的並發請求從提交到運行大概的過程是這樣的:使用者首先提交並發程式運行請求,並發請求會首先放入請求隊列中,再由Internal Concurrent Manager根據特定的規則找到對應的Concurrent Manager(是Standard Manager,還是特定的並發管理器)來運行這些請求。為一個典型的並發管理器管理並發請求的流程圖:




並發管理器的定義 並發管理器(Concurrent Manager) =  參數(緩衝大小、節點設定...) + 特殊規則(Specialization Rules) + 工作班次(Work Shifts) 

並發管理器的定義路徑:系統管理員職責->並發->經理->定義,定義過程也可以參考官方文檔:Link。以Inventory Manager為例,為庫存管理器的定義介面。
Cache Size:這個數字表示並發管理器每次讀取多少請求來運行。Enter the number of requests your manager remembers each time it reads which requests to run. For example, if a manager‘s work shift has 1 target process and a cache value of 3, it will read three requests, and try to run those three requests before reading any new requests.
Tip: Enter a value of 1 when defining a manager that runs long, time-consuming jobs, and a value of 3 or 4 for managers that run small, quick jobs.
Node:這個是並發管理器負載平衡的設定,即Parallel Concurrent Processing(PCP)。如果伺服器是多節點的,那麼可以在這裡設定並發管理器以哪個節點為主節點運行,哪個節點為輔節點。If you are operating in a parallel concurrent processing environment and you want your manager to operate on a specific node, select the name of the node.The primary node, if available, is the node your concurrent manager operates on. If the primary node or the database instance on it goes down, your concurrent manager migrates to its secondary node. Your concurrent manager migrates back to its primary node when that node becomes available. 
特殊規則(Specialization Rules)中設定並發管理要包括/排除的並發請求。

工作班次(Work Shifts)中賦予Inventory Manager並發管理器的運行班次(Work Shift),運行班次決定了並發管理什麼日子、什麼時間來運行。
流程(Processes):這個欄位Oracle EBS中文翻譯的有問題,官方翻譯成“流程”,我覺翻譯成“進程”更好,這個參數表示,對於每個班次, Concurrent Manager能夠調用最大作業系統層的進程數量來並發處理請求。 休眠秒(Sleep Seconds):表示班次間的間隔時間。The sleep time for your manager during this work shift. Sleep time is the number of seconds your manager waits between checking the list of pending concurrent requests (concurrent requests waiting to be started).Tip: Set the sleep time to be very brief during periods when the number of requests submitted is expected to be high. 

如何判斷並發管理器是否正常運行系統管理員職責,Concurrent->Managers->Administer,如果Target和Actual相等,並且都大於0,則表示並發管理器為啟動和運行狀態。
  • The Target column lists the number of processes that should be running for each manager for this particular workshift. 
  • The Actual column lists the number of processes that are actually running. 
If the Actual column is zero, there are no processes running for this manager. 
If the Target column is zero, then either a workshift has not been assigned to this manager, or the current workshift does not specify any target processes. 
If the target column is not zero, then the manager processes have either failed to start up,or gone down. One should check the manager‘s logfile and the ICM logfile. One can also search for OS processes using the ‘ps‘ command.It is possible for the form to be inaccurate, i.e. it may show actual processes even though they are not really running. When in doubt, check for processes at the OS level. 
作業系統下如何檢查Concurrent Mananger的運行情況

FNDLIBR進程是否啟動,這個表示Internal Concurrent Manager進程是否運行


FNDLIBR:Concurrent Manager

ps -ef | grep FNDLIBR

FNDLIBR process indicates that concurrent mnagers are up and requests are running on the system.Sometimes it happens that even after stopping the concurrent managers by adcmctl.sh stop apps/apps some of the requests might continue running. In such cases you can wait for say 5 minutes and then if it dos not stop then you can kill those FNDLIBR processes bykill -9 <processid>

其他Application Concurrent Manager

INVLIBR is the process for the following Managers
Manager to run Immediate Concurrent Programs defined in INVLIBR


[[email protected] ~]$ ps -ef | grep INVLIBR
oracle    7111  7004  0 Jul03 ?        00:00:07 INVLIBR                                                                                               
oracle   14016 13573  0 19:40 pts/5    00:00:00 grep INVLIBR
[[email protected] ~]$

MRCLIB is the process for the following Managers
MRP Manager

[[email protected] ~]$ ps -ef | grep MRCLIB
oracle    7113  7004  0 Jul03 ?        00:00:06 MRCLIB                                                                                                
oracle   14024 13573  0 19:40 pts/5    00:00:00 grep MRCLIB
[[email protected] ~]$

PALIBR is the process for the following Managers
PA Streamline Manager

[[email protected] ~]$ ps -ef | grep PALIBR
oracle    7110  7004  0 Jul03 ?        00:00:06 PALIBR                                                                                                
oracle   14003 13573  0 19:39 pts/5    00:00:00 grep PALIBR
[[email protected] ~]$ 
並發管理器/並發請求的日誌在哪裡?可參考Metalink Note 105133.1:Concurrent Processing - Concurrent Manager Generic Platform Questions and Answers
  • Where do concurrent request or manager logfiles and output files go?
  • What are the logfile and output file naming conventions?
Current Processing Tables

說明
FND_CONCURRENT_REQUESTS
Details of user requests, including status, start date, and completion date
FND_CONCURRENT_PROGRAMS
Details of concurrent programs,including execution method, whether the program is constrained, and whether it must be run alone.
FND_CONCURRENT_PROCESSES
Cross-references between concurrent requests and queues,and a history of concurrent manager processes
FND_CONCURRENT_QUEUES
Information about each of the concurrent manager queues














也可以參考我之前的一篇文章:http://blog.csdn.net/pan_tian/article/details/7702103

Oracle原廠提供並發相關的指令碼 - $FND_TOP/sql Scripts
  • afimchk.sql - Tells the status of the ICM
  • afcmstat.sql - Lists active manager processes
  • afrqrun.sql - Lists all the running, waiting and Terminating requests
  • afrqwait.sql - Lists requests that are constrained and waiting for the ICM to release them.
  • afrqscm.sql - Prints log file name of managers that can run a given request.
  • afcmcreq.sql - Prints the log file name of the manager that processed the request
  • afrqstat.sql - Summary of completed concurrent requests grouped by completion status and execution type..
  • afimlock.sql - Lists locks that the ICM is waiting to get
  • afcmrrq.sql - Lists managers that currently are running a request
運行步驟:1.sqlplus apps/[email protected]
2.SQL> @$FND_TOP/sql/afimchk.sql
參考Specialized / Dedicated Concurrent Managers (Enhancing Performance)Concurrent manager in Oracle AppsConcurrent Managers WindowBest Practices for Performance for Concurrent Managers in E-Business Suite (Doc ID 1057802.1)Best Practices for Performance for Concurrent Managers in E-Business SuiteEBS - Technology Area - Webcast Recording ‘E-Business Suite - Concurrent Manager Performance - Best Practices‘ [video] (Doc ID 1367676.1)Concurrent Manager Questions and Answers Relating to Generic Platform [ID 105133.1]Basic information about Concurrent Managers (Doc ID 69336.1)Concurrent Processing - Concurrent Manager Generic Platform Questions and Answers (Doc ID 105133.1)

轉載請註明出處:http://blog.csdn.net/pan_tian/article/details/42967585


關於Oracle E-Business Suite並發處理機制(Current Processing)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.