Oracle E-Business Suite并发处理机制(Current Processing)
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.
Oracle EBS并发管理器性能调优的最佳实践
一、调整并发参数
-Sleep Seconds
-Cache Size
-Purging
-Gather Schema Statistics
二、负载调整
-Specialized Concurrent managers
三、Output Post Processor – OPP
-Java Heap Size
四、Tuning PCP/RAC
五、Transaction Managers
详情可以参考以下文档:
Best Practices for Performance for Concurrent Managers in E-Business Suite (Doc ID 1057802.1)
EBS - Technology Area - Webcast Recording 'E-Business Suite - Concurrent Manager Performance - Best Practices' [video] (Doc ID 1367676.1)
Specialized / Dedicated Concurrent Managers (Enhancing Performance)
Concurrent manager in Oracle Apps
Best Practices for Performance for Concurrent Managers in E-Business Suite
Inside the Oracle Concurrent Manager
如何判断并发管理器是否正常运行
系统管理员职责,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进程是否运行
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
[oracle@bej301441 ~]$ 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
[oracle@bej301441 ~]$
MRCLIB is the process for the following Managers
MRP Manager
[oracle@bej301441 ~]$ 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
[oracle@bej301441 ~]$
PALIBR is the process for the following Managers
PA Streamline Manager
[oracle@bej301441 ~]$ 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
[oracle@bej301441 ~]$
并发管理器/并发请求的日志在哪里?
可参考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/apps@instance
2.SQL> @$FND_TOP/sql/afimchk.sql
参考
Specialized / Dedicated Concurrent Managers (Enhancing Performance)
Concurrent manager in Oracle Apps
Best Practices for Performance for Concurrent Managers in E-Business Suite (Doc ID 1057802.1)
Best Practices for Performance for Concurrent Managers in E-Business Suite
EBS - 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)的更多相关文章
- 《Oracle Applications DBA 基础》- 9 - Concurrent Processing[Z]
<Oracle Applications DBA 基础>- 9 - Concurrent Processing================================== 参考资料 ...
- 查找EBS中各种文件版本(Finding File Versions in the Oracle Applications EBusiness Suite - Checking the $HEADER)
Finding File Versions in the Oracle Applications EBusiness Suite - Checking the $HEADER (文档 ID 85895 ...
- 《Oracle Applications DBA 基础》- 9 - Concurrent Processing
来自:http://www.itpub.net/thread-1411293-1-4.html <Oracle Applications DBA 基础>- 9 - Concurrent P ...
- Oracle的SCN与检查点机制
Oracle的SCN与检查点机制 SCN在Oracle的文档上以多种形式出现,一种是System Change Number,另一种是System Commit Number,在大多数情况下,Syst ...
- mysql的并发处理机制_下篇
MySQL的并发处理机制,有MVCC及锁机制来处理,上篇简要说明了 MVCC及隔离级别,这篇来说说mysql下的锁. 温馨提示:下文有几个表格长度较长,右下角的博文导航目录会挡道,浏览 ...
- [转帖]SAP S/4 HANA与SAP Business Suite/R3(ECC)的区别
SAP S/4 HANA与SAP Business Suite/R3(ECC)的区别 https://blog.csdn.net/zhongguomao/article/details/5351520 ...
- 启动Oracle时提示:ORA-01078:failure in processing system parameters
一.使用环境操作系统:CentOS release 6.2 (Final) 数据库:Oracle 12g数据库主目录:/ora12/product/product/12.1.0/db_1 二.问题描述 ...
- SAP S/4 HANA与SAP Business Suite/R3(ECC)的区别
转自:https://blog.csdn.net/zhongguomao/article/details/53515203 去年SAP推出了新一代商务套件SAP S/4 HANA,无疑是ERP行业创新 ...
- Oracle RAC 全局等待事件 gc current block busy 和 gc cr multi block request 说明--转载(http://blog.csdn.net/tianlesoftware/article/details/7777511)
一.RAC 全局等待事件说明 在RAC环境中,和全局调整缓存相关的最常见的等待事件是global cache cr request,global cache busy和equeue. 当一个进程访问需 ...
随机推荐
- html5播放mp4视频代码
1.nginx支持flv和mp4格式播放 默认yum安装nginx centos7安装nginx时候应该是默认安装nginx_mod_h264_streaming模块的 # nginx -V查看是否安 ...
- 汇编_指令_FLAGS
标志名 标志 1 标志 0 OF (溢出标志) OV ...
- Vue 获取数据、事件对象、todolist
vue中在方法里获取data里的msg:this.msg 在微信小程序里this.data.msg 改变data里的msg:this.msg="改变后的msg" 可以通过list. ...
- React-Todos
最近学完React的最基本概念,闲下来的时候就自己写了一个Todo-List的小应用.这里做个简略的说明,给想好好学React的新手看. React-Todo 学习前提 这里我用了webpackb做了 ...
- ES6系列_5之字符串模版
1.字符串模板对比引入: (1).之前我们也可以使用JavaScript输出模版字符串,通常是下面这样的: var restult= "姓名: <b>"+person. ...
- 我的第一个C程序
// // main.c // one // // Created by Shuang Gai on 2019/1/19. // Copyright © 2019 Shuang Gai. All ri ...
- Timer控件的使用限制和注意事项
Timer的Interval 属性当编写 Timer 组件时,需要考虑 Interval 属性的几点限制:1. 如果应用程序或另一个应用程序对系统需求很大(如长循环.大量的计算或驱动程序.网络或端口访 ...
- ACCESS 组合字段 order by 出错
ACCESS 组合字段 order by 出错 SELECT boardID,boardType,parentID,child,depth,rootID,(parentStr + ',' + boar ...
- JSF多列预选择
<script type="text/javascript"> jQuery(document).ready(function () { preSelect(); }) ...
- TFS自动签出解决方案sln或者项目文件csproj的解决办法
问题: 最近公司一个项目组的源代码解决方案打开时总是出现解决方案或者部分项目被自动签出的情况,但签入又提示没有变更.事情虽 小,导致几个程序员要用项目文件时总是要找其他人签入.浪费不少时间.出现时间有 ...