ORACLEEBS并发管理系统器.docx

上传人:b****5 文档编号:4309115 上传时间:2022-11-29 格式:DOCX 页数:12 大小:792.26KB
下载 相关 举报
ORACLEEBS并发管理系统器.docx_第1页
第1页 / 共12页
ORACLEEBS并发管理系统器.docx_第2页
第2页 / 共12页
ORACLEEBS并发管理系统器.docx_第3页
第3页 / 共12页
ORACLEEBS并发管理系统器.docx_第4页
第4页 / 共12页
ORACLEEBS并发管理系统器.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

ORACLEEBS并发管理系统器.docx

《ORACLEEBS并发管理系统器.docx》由会员分享,可在线阅读,更多相关《ORACLEEBS并发管理系统器.docx(12页珍藏版)》请在冰豆网上搜索。

ORACLEEBS并发管理系统器.docx

ORACLEEBS并发管理系统器

关于OracleE-BusinessSuite并发处理机制(CurrentProcessing)

2015-01-2114:

05 2352人阅读 评论(0) 收藏 举报

 分类:

OracleEBS(48) 

OracleEBSConcurrentProgram(15) 

版权声明:

转载请以链接形式注明出处

2012年写过一篇关于OracleE-BusinessSuite并发管理器的文章,回头看之前总结的内容还是比较单薄,很多点没说到,最近在看这块的内容,索性再写一篇稍微完整的文章来。

OracleE-BusinessSuite并发处理机制(CurrentProcessing)的好处

区别于普通功能的处理机制,并发处理机制其实是一个异步处理机制,它把程序放到后台来运行,前台的操作还给用户,允许用户可以继续做其他业务。

技术上将,异步处理的好处是降低系统特定时间点的负载,提升系统资源的整体使用率。

感受上讲,异步的机制可以有效提升整体的使用感受,减少用户无效的等待时间。

什么样的程序可以用并发机制来处理

报表类

报表是一种非常个性化的东西,一般也是每家公司客户化最多的部分,如果为报表需求都开发不同的列表界面来查询、展示,那么工作量将是巨大的。

所以Oracle把报表嵌入到并发处理中,通过一些灵活的配置或少量的开发(Reports/BIPublisherReports)既可以实现用户各类报表的需求.

流程类

多用于批量事务处理,或是长时间运行的业务,如库存管理器批量处理接口表中的临时事务。

并发处理机制(CurrentProcessing)的两类组件

并发处理机制(CurrentProcessing)包括两类组件:

∙并发管理器(ConcurrentManagers)

∙并发请求(ConcurrentRequests)

像公司中“经理”一样,Manager给Worker安排任务,Worker负责具体的执行。

OracleEBS中的ConcurrentManagers就是负责安排工作,ConcurrentRequests负责具体的执行。

并发管理器(ConcurrentManagers)的分类

一家企业一般都有许多的经理,有着高低之分,总裁、总监、经理、主管....OracleEBS这家企业中,同样也有着许多不同层面上的ConcurrentManager,有核心的ConcurrentManagers管理团队(InternalConcurrentManager、StandardManager、ConflictResolutionMananger),也有普通ConcurrentManagers。

核心的ConcurrentManagers团队管理下边普通ConcurrentManagers。

1.核心的三个并发管理器:

∙InternalConcurrentManager(内部管理器) —ThemastermanageriscalledtheInternalConcurrentManager(ICM)becauseitcontrolsthebehaviorofalloftheothermanagers,andbecausetheICMistheboss,itmustberunningbeforeanyothermanagerscanbeactivated.ThemainfunctionsoftheICMaretostartupandshutdowntheindividualconcurrentmanagers,andresettheothermanagersafteronethemhasafailure.

∙StandardManager(标准管理器) —AnotherimportantmasterConcurrentManageriscalledtheStandardManager(SM).TheSMfunctionstorunanyreportsandbatchjobsthathavenotbeendefinedtoruninanyspecificproductmanager.ExamplesofspecificconcurrentmanagersincludetheInventoryManager,CRPInquiryManager,andtheReceivablesTaxManager.Itisnotrecommendedtoaddspecializationrulestothestandardmanagerasitcancauseproblems.

∙ConflictResolutionManager(冲突解决管理器) —TheConflictResolutionManager(CRM)functionstocheckconcurrentprogramdefinitionsforincompatibilityrules.However,theICMcanbeconfiguredtotakeovertheCRM'sjobtoresolveincompatibilities.

小结:

∙InternalConcurrentManager是管理器中的BOSS,总负责人,控制着其他并发管理器的运作。

∙StandardMananger是标准管理器,没有纳入其他特定管理器(SpecificConcurrentManagers)的请求,默认就会由标准管理器管理。

∙ConflictResolutionManager主要用于处理日程冲突。

2.特定用途的并发管理器(SpecificConcurrentManagers,SCM)

除了上边说的三个核心并发管理器,还有众多的特定用途的并发管理器,如库存管理员(InventoryManager),接收事务处理管理器(ReceivingTransactionManager),MRPManager,以及用户自定义的并发管理器。

 

并发管理器是如何管理并发请求的

并发请求从提交到运行大概的过程是这样的:

用户首先提交并发程序运行请求,并发请求会首先放入请求队列中,再由InternalConcurrentManager根据特定的规则找到对应的ConcurrentManager(是StandardManager,还是特定的并发管理器)来运行这些请求。

下图为一个典型的并发管理器管理并发请求的流程图:

 

并发管理器的定义

并发管理器(ConcurrentManager)= 参数(缓存大小、节点设置...)+ 特殊规则(SpecializationRules)+ 工作班次(WorkShifts) 

并发管理器的定义路径:

系统管理员职责->并发->经理->定义,定义过程也可以参考官方文档:

Link。

以InventoryManager为例,下图为库存管理器的定义界面。

CacheSize:

这个数字表示并发管理器每次读取多少请求来运行。

Enterthenumberofrequestsyourmanagerrememberseachtimeitreadswhichrequeststorun.Forexample,ifamanager'sworkshifthas1targetprocessandacachevalueof3,itwillreadthreerequests,andtrytorunthosethreerequestsbeforereadinganynewrequests.

Tip:

Enteravalueof1whendefiningamanagerthatrunslong,time-consumingjobs,andavalueof3or4formanagersthatrunsmall,quickjobs.

Node:

这个是并发管理器负载均衡的设置,即ParallelConcurrentProcessing(PCP)。

如果服务器是多节点的,那么可以在这里设定并发管理器以哪个节点为主节点运行,哪个节点为辅节点。

Ifyouareoperatinginaparallelconcurrentprocessingenvironmentandyouwantyourmanagertooperateonaspecificnode,selectthenameofthenode.

Theprimarynode,ifavailable,isthenodeyourconcurrentmanageroperateson.Iftheprimarynodeorthedatabaseinstanceonitgoesdown,yourconcurrentmanagermigratestoitssecondarynode.Yourconcurrentmanagermigratesbacktoitsprimarynodewhenthatnodebecomesavailable. 

特殊规则(SpecializationRules)中设定并发管理要包括/排除的并发请求。

工作班次(WorkShifts)中赋予InventoryManager并发管理器的运行班次(WorkShift),运行班次决定了并发管理什么日子、什么时间来运行。

流程(Processes):

这个字段OracleEBS中文翻译的有问题,官方翻译成“流程”,我觉翻译成“进程”更好,这个参数表示,对于每个班次,ConcurrentManager能够调用最大操作系统层的进程数量来并发处理请求。

休眠秒(SleepSeconds):

表示班次间的间隔时间。

Thesleeptimeforyourmanagerduringthisworkshift.Sleeptimeisthenumberofsecondsyourmanagerwaitsbetweencheckingthelistofpendingconcurrentrequests(concurrentrequestswaitingtobestarted).Tip:

Setthesleeptimetobeverybriefduringperiodswhenthenumberofrequestssubmittedisexpectedtobehigh. 

 

OracleEBS并发管理器性能调优的最佳实践

一、调整并发参数

-SleepSeconds

-CacheSize

-Purging

-GatherSchemaStatistics

二、负载调整

   -SpecializedConcurrentmanagers

三、OutputPostProcessor–OPP

   -JavaHeapSize

四、TuningPCP/RAC

五、TransactionManagers

详情可以参考以下文档:

BestPracticesforPerformanceforConcurrentManagersinE-BusinessSuite(DocID 1057802.1) 

EBS-TechnologyArea-WebcastRecording'E-BusinessSuite-ConcurrentManagerPerformance-BestPractices'[video](DocID 1367676.1)

Specialized/DedicatedConcurrentManagers(EnhancingPerformance)

ConcurrentmanagerinOracleApps

BestPracticesforPerformanceforConcurrentManagersinE-BusinessSuite

InsidetheOracleConcurrentManager

 

如何判断并发管理器是否正常运行

系统管理员职责,Concurrent->Managers->Administer,如果Target和Actual相等,并且都大于0,则表示并发管理器为启动和运行状态。

∙TheTargetcolumnliststhenumberofprocessesthatshouldberunningforeachmanagerforthisparticularworkshift. 

∙TheActualcolumnliststhenumberofprocessesthatareactuallyrunning. 

IftheActualcolumniszero,therearenoprocessesrunningforthismanager. 

IftheTargetcolumniszero,theneitheraworkshifthasnotbeenassignedtothismanager,orthecurrentworkshiftdoesnotspecifyanytargetprocesses. 

Ifthetargetcolumnisnotzero,thenthemanagerprocesseshaveeitherfailedtostartup,orgonedown.Oneshouldcheckthemanager'slogfileandtheICMlogfile.OnecanalsosearchforOSprocessesusingthe'ps'command.Itispossiblefortheformtobeinaccurate,i.e.itmayshowactualprocesseseventhoughtheyarenotreallyrunning.Whenindoubt,checkforprocessesattheOSlevel. 

操作系统下如何检查ConcurrentMananger的运行情况

FNDLIBR进程是否启动,这个表示InternalConcurrentManager进程是否运行

FNDLIBR:

ConcurrentManager

ps-ef|grepFNDLIBR

FNDLIBRprocessindicatesthatconcurrentmnagersareupandrequestsarerunningonthesystem.Sometimesithappensthatevenafterstoppingtheconcurrentmanagersbyadcmctl.shstopapps/appssomeoftherequestsmightcontinuerunning.Insuchcasesyoucanwaitforsay5minutesandthenifitdosnotstopthenyoucankillthoseFNDLIBRprocessesbykill-9

其他ApplicationConcurrentManager

INVLIBRistheprocessforthefollowingManagers

ManagertorunImmediateConcurrentProgramsdefinedinINVLIBR

[oracle@bej301441~]$ps-ef|grepINVLIBR

oracle   7111 7004 0Jul03?

       00:

00:

07INVLIBR                                                                                              

oracle  1401613573 019:

40pts/5   00:

00:

00grepINVLIBR

[oracle@bej301441~]$

MRCLIBistheprocessforthefollowingManagers

MRPManager

[oracle@bej301441~]$ps-ef|grepMRCLIB

oracle   7113 7004 0Jul03?

       00:

00:

06MRCLIB                                                                                               

oracle  1402413573 019:

40pts/5   00:

00:

00grepMRCLIB

[oracle@bej301441~]$

PALIBRistheprocessforthefollowingManagers

PAStreamlineManager

[oracle@bej301441~]$ps-ef|grepPALIBR

oracle   7110 7004 0Jul03?

       00:

00:

06PALIBR                                                                                               

oracle  1400313573 019:

39pts/5   00:

00:

00grepPALIBR

[oracle@bej301441~]$ 

并发管理器/并发请求的日志在哪里?

可参考MetalinkNote 105133.1:

ConcurrentProcessing-ConcurrentManagerGenericPlatformQuestionsandAnswers

∙Wheredoconcurrentrequestormanagerlogfilesandoutputfilesgo?

∙Whatarethelogfileandoutputfilenamingconventions?

CurrentProcessing Tables

说明

FND_CONCURRENT_REQUESTS

Detailsofuserrequests,includingstatus,startdate,andcompletiondate

FND_CONCURRENT_PROGRAMS

Detailsofconcurrentprograms,includingexecutionmethod,whethertheprogramisconstrained,andwhetheritmustberunalone.

FND_CONCURRENT_PROCESSES

Cross-referencesbetweenconcurrentrequestsandqueues,andahistoryofconcurrentmanagerprocesses

FND_CONCURRENT_QUEUES

Informationabouteachoftheconcurrentmanagerqueues

 

也可以参考我之前的一篇文章:

Oracle原厂提供并发相关的脚本-$FND_TOP/sqlScripts

∙afimchk.sql-TellsthestatusoftheICM

∙afcmstat.sql-Listsactivemanagerprocesses

∙afrqrun.sql-Listsalltherunning,waitingandTerminatingrequests

∙afrqwait.sql-ListsrequeststhatareconstrainedandwaitingfortheICMtoreleasethem.

∙afrqscm.sql-Printslogfilenameofmanagersthatcanrunagivenrequest.

∙afcmcreq.sql-Printsthelogfilenameofthemanagerthatprocessedtherequest

∙afrqstat.sql-Summaryofcompletedconcurrentrequestsgroupedbycompletionstatusandexecutiontype..

∙afimlock.sql-ListslocksthattheICMiswaitingtoget

∙afcmrrq.sql-Listsmanagersthatcurrentlyarerunningarequest

运行步骤:

1.sqlplusapps/apps@instance

2.SQL>@$FND_TOP/sql/afimchk.sql

 

参考

Specialized/DedicatedConcurrentManagers(EnhancingPerformance)

ConcurrentmanagerinOracleApps

ConcurrentManagersWindow

BestPracticesforPerformanceforConcurrentManagersinE-BusinessSuite(DocID 1057802.1)

BestPracticesforPerformanceforConcurrentManagersinE-BusinessSuite

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1