首页 EBS_并发管理器

EBS_并发管理器

举报
开通vip

EBS_并发管理器下载下载第14章AOL故障解决方法应用对象库(AOL)包括应用管理工具,管理诸如并发管理器、打印机、报表以及一些更高级的特性,如Oracle应用特有的软字段。本章涵盖的主题包括并发管理器、打印机、报表、软字段、OracleAlert以及OracleWorkflow。这部分内容的影响面较宽,是OSS根据接收到的客户咨询电话总结出来的故障解决方法。我们将讨论安装和配置AOL时应该采取的预防措施以及出现故障时的解决方法。OracleAlert与AOL的功能也密切相关,并且被认为是Oracle应用的核心产品。最近,AOL通...

EBS_并发管理器
下载下载第14章AOL故障解决方法应用对象库(AOL)包括应用管理工具,管理诸如并发管理器、打印机、报表以及一些更高级的特性,如Oracle应用特有的软字段。本章涵盖的主题包括并发管理器、打印机、报表、软字段、OracleAlert以及OracleWorkflow。这部分内容的影响面较宽,是OSS根据接收到的客户咨询电话总结出来的故障解决方法。我们将讨论安装和配置AOL时应该采取的预防措施以及出现故障时的解决方法。OracleAlert与AOL的功能也密切相关,并且被认为是Oracle应用的核心产品。最近,AOL通过引入OracleWorkflow作为自动处理和定制用户商务进程的完整的应用工具扩大了它的基础。所有的这些产品共同奠定了Oracle应用的基础,在此基础上创建了所有其他的产品如OracleAssets、OraclePurchasing、OracleGeneralLedge等,这些产品与AOL共享应用代码。另外,本章还涉及到了AOL的关键特性,并提供了最常见的错误及其解决方法、调试技术以及有助于缩短系统故障时间的故障提示等补充内容。本章还包括一般性保护错误(GPF)的故障解决指导,因为OSS接收到的许多咨询电话都是关于Windows系统上GPF的。14.1OracleAlertOracleAlert是一个程序,它通过即时提供数据库活动的视图而使用户可以监视自己的商务信息。当发生重要的或特殊的数据库事件,如更新特殊表(事件警告)或用户选择计划上的关键信息 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 (定期警告)时,它能使用户保持对这些事件的处理权力。14.1.1建立OracleAlert本节讨论如何定义和建立OracleAlert、OracleAlert动作和OracleAlert动作集。1.确定邮件系统OracleAlert通过向用户发送电子信息使用户保持对情况的了解,其电子邮件功能集成于OracleOffice和OracleInterOffice中,OracleAlert还支持OpenVMS邮件和UNIXSendmail(发送邮件)技术。用户可以将OracleOffice/InterOffice安装在OracleAlert所在的同一数据库中,也可以安装在通过SQL*Net访问OracleAlert数据库的一个数据库中。其他邮政工具可以使用OracleOffice/InterOffice服务器和支持SMTP(简单邮件传输协议)消息传送的网关链接到Alert中。如果决定使用第三方的邮件系统,以UNIX为例,应确保在安装OracleOffice或OracleOfficeUNIXMailGateway之前,要测试从操作系统到第三方的邮件系统的消息流。除非UNIXMail在工作,否则其余的建立工作不能进行。消息流应该是:Alert<—>Office<—>OfficeUNIXMailGateway<—>UNIXMail<—>第三方的UNIXMailGateway<—>第三方的电子邮件。依据所选取的邮件系统类型,用户必须在Oracle应用的DefineOracleAlertOptions屏内定义邮件系统。选择Navigate|Definitions|Options,如下所示:名称命令使能OracleOffice无是UNIXSendmail/usr/lib/sendmail是VMSMailMAIL是注意确保只有一个邮件系统已被设置为是。当用户确定了自己的OracleAlert消息使用的邮件系统后,就要设置环境变量$APPLMAIL,它应该与所选择的邮件系统一致。以下是设置的选项:•$APPLMAIL=NONE(当使用任何非OracleOffice/OracleInterOffice邮件系统时)。•$APPLMAIL=ORACLE_OFFICE(当使用OracleOffice时)。•$APPLMAIL=ORACLE_INTEROFFICE(当使用OracleInterOffice时)。用户必须在应用的环境文件(APPLSYS.env)中设置$APPLMAIL环境变量后,重新链接OracleAlert并运行该环境文件(链接到必要的API)。例如:adrelinkforce=yranlib=y"alrALL"2.定义用户的Alert接下来是定义用户的警告。用户可以有两种类型的警告:•当数据库中的一条 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 被更新或插入时(或二者同时发生时,这由用户定义的警告方式决定)激活事件警告。•定期警告在需要时(当用户使用RequestPeriodicAlertCheck格式时)或根据用户通过定期警告调度程序(负责运行计划好的定期警告的并行程序)定义的警告计划激活。(1)事件警告定义一个事件警告时,必须确定警告的激活时间。例如:Update=YesInsert=Yes在第一种情况下,若定义了警告的表中的某记录被修改(更新)时警告被激活。在第二种情况中,当定义了警告的表中被创建(插入)一条记录时警告被激活。定义一个事件警告就创建了一个数据库触发器来反映用户的警告定义。如果用户指定Update=Yes,那么在数据库指定了警告定义的表中就创建了一个更新触发类型的触发器。例如,如果根据OraclePayables在AP_INVOICES表上定义了一个警告,那么就创建了一个ALR_AP_INVOICES_UAR数据库触发器。如果用户指定Insert=Yes,那么在数据库指定了警告定义的表中就创建了一个插入触发类型的触发器。例如,如果根据OraclePayables在AP_INVOICES表上定义了一个警告,那么就创建了一个ALR_AP_INVOICES_IAR数据库触发器。由于Alert中的约束,用户对任何表(插入的和更新的)只能定义一种类型的触发器,尽管这是两种不同的警告定义。这种约束是由于OracleAlert触发器命名设定造成的。注意用户事件警告的SQL语句中必须包含对警告基于的表的whererowid=:rowid操作子句,否则OracleAlert不能确定事务发生的行。第14章AOL故障解决方法301下载(2)定期警告定义一个定期警告时,必须确定警告的激活时间。如果用户在频率字段中指定为OnDemand,那么只有当用户进入Alerts|Checkform并选择激活那个特定的警告时,警告才会激活。如果用户指定EveryNCalendarDays、EveryNBusinessDays、Weekly或Monthly,那么用户选择的就是在一天之内警告若干次或在某一天内只警告一次。注意如果用户定义警告在EveryNBusinessDays激活,那么应确保在MiscellaneousOptions屏幕(选择Navigate|Definitions|Options,进入最后面的区域,并选择MiscellaneousOptions)中已经建立了正确的商务的定义。如果用户要求警告一天内运行若干次,就要将CheckOnceEachDay的标志设置为No,并通过在StartTime、EndTime和TimeBetweenChecks字段中输入适当的值(确保输入的时间值是“小时:分:秒”的格式,例如,3小时则输入03:00:00)来定义它应该运行的次数。有关定义定期警告和事件警告的更多信息,请参考《OracleAlert参考 手册 华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载 》。3.创建警告动作用户应该为自己的警告创建一个警告动作,每个警告(事件的或定期的)必须至少有一个动作。警告动作可以是下列之一:•消息动作向某人或别名或预定义分布表中的任何一个人发送一条电子消息,也可以向打印机发送一条警告消息。但这种情况下,用户必须确保与打印机类型相连的打印机风格是Portrait。•并行程序请求提交一个运行OracleApplications并发程序的请求(用户输入程序需要的变量)。•SQL脚本执行一个SQL语句脚本(用户输入脚本或OracleAlert调用一个包含脚本的外部文件)。•操作系统脚本启动一个操作系统脚本(用户输入脚本或OracleAlert调用一个包含脚本的外部文件)。在定义一个警告动作时,用户还必须指定如下一种警告级别:•Detail警告每次异常返回,警告动作就执行一次。•Summary警告全部异常返回,警告动作执行一次。•NoException警告没有异常返回时,警告动作执行一次。4.创建一个警告动作集用户还必须定义一个动作集,指定特定警告激活时要完成的动作,即使用户只有一个警告动作也必须这样做。只有当下面的三步操作全部完成时,警告才能激活所要求的动作。1)定义一个警告。2)定义一个或多个警告动作。3)定义一个包含一条或多条警告动作的动作集。14.1.2应答处理OracleAlert提供了定义应答处理警告的能力—可以根据用户对警告消息的应答来执行例程事务。定义一个应答警告时,用户可以定义动作完成:当接收到一个用户的有效应答时;当接收到一个用户应答时;当在指定时间内没有接收到应答时。302第三部分核心应用下载用户必须要么使用OracleOffice/OracleInterOffice作为自己的邮件系统,要么使用OracleOffice/OracleInterOffice作为到电子邮件系统的“网关”。与Alert捆绑在一起的单用户许可证能满足此项要求。用户必须在OracleOffice/OracleInterOffice内定义两个文件夹记录对OracleAlert消息应答的处理:•REVIEWED•REVIEWED_OK用户必须在OracleAlert内定义ResponseProcessing参数。为此,在Oracle应用中选取Navigate|Definitions|Options,并进入OracleOfficeOptions时间带设置参数。例如:OracleOfficeOptions值EnableResponseProcessingYes(是)(使应答处理有效)CheckforOpenResponsesYes(是)BeforeRendingResponse(在读应答之前检查打开的应答)ResponseProcessorStartTime01:00(24小时:分钟格式)(应答处理器开始时间)ResponseProcessorEndTime23:30(24小时:分钟格式)(应答处理器结束时间)ResponseProcessorInterval5(分钟)(应答处理器时间间隔)注意如果没有指定应答处理器的开始时间、结束时间和时间间隔,那么OracleAlert将在每天午夜提交程序。如果用户修改了ResponseProcessor的时间间隔,那么必须以ScheduleAlertPrograms形式重新启动ResponsePorcessor。为此,用户可以选择Navigate|Schedule,将ResponseProcessor填到名字字段,并将Schedule填到动作字段。14.1.3阈值组由于警告可能从数据库中返回大量不同的异常情况,所以定义一个阈值组是会有帮助的。阈值组即警告完成的详细动作,如果异常比概要阀值中 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的少。在阈值组中可以定义一个概要动作和一个详细的动作。用户也可以定义一个概要阈值,它的意思是如果异常数少于或等于概要阈值量,那么每个异常警告都要完成一个详细的动作。但是如果异常数大于概要阈值量,那么对所有的异常警告只完成一次概要动作。阈值量包括在警告的动作集定义中。定义一个只有一个概要动作的阈值是可能的。概要阈值量也必须定义,它意味着只有当返回的异常数大于概要阈值量时,概要动作才执行;否则,不执行动作。注意定义阈值组时,详细动作和概要动作都必须属于同一动作类型(例如消息、并发程序等)并且与阈值组中设计的类型一样。第14章AOL故障解决方法303下载14.1.4升迁组为了根据同一异常激活警告的频率来完成不同的警告动作,用户必须定义一个升迁组。详细动作必须属于同一种类型,比如消息动作;而一个动作要根据重复异常返回的连续警告检查数来执行。升迁组必须结合重复检查来建立,它包括指定哪一列应该被用于判定异常是否重复。升迁组包括在警告的动作集定义中。注意如果用户想使用动作升迁,必须保存警告历史至少比警告频率长一天。如果前面的警告检查历史没有保留,那么Oracle警告就不能检查重复。14.1.5警告的故障解决方法本节我们提供常见问题的解决方法,每条错误消息后都给出了一种解决方法:1)Alertswillmetexecuteorarenotexecutingasexpected如果警告没有按照预期的情况在执行,那么检查:•确实在警告选项中指定了邮件数据库,只能使一个数据库有效。•从UNIX提示中给APPLMAIL环境变量设置了适当的值(NONE、ORACLE_OFFICE或ORACLE_INTEROFFICE)。请记住,如果修改了APPLMAIL环境,那么要重新链接所有OracleAlert的可执行文件。•如果所有定期警告失败或不运行,那么应确信警告计划确实在运行中。•验证 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的、预先设计的事件和定期警告工作在创建定制警告之前。•如果用户企图激活登记在Oracle应用之外的警告(例如,通过更新由SQL*Plus或其他软件连接的RDBMS表),那么应该注意到它不能触发OracleAlerts。2)EventAlertdoesnotfire•确保Navigate|Alert|Define屏幕中的AlertENABLED字段为Y。•\NADefine中的事件信息表字段必须是警告将从中激活的基本表格式。•暗示输入,ROWID必须包括在SQLselect语句的where从句中;否则,可能返回不正确的行号,警告可能失败。ROWID是事件警告更新和/或插入的基本表中的行的物理地址(例如,where:ROWID=base_table.rowid)。3)Alertactionsnotrunning.•警告日志文件显示进程已经结束,虽然它没有提到任何动作都完成了。•确信警告的动作是通过选择Navigate|Actions|Define定义的。•保证动作是通过选择Navigate|ActionSets与动作集联系起来的。•检查ActionSetDetailszone.MEMBERS必须是已经定义的动作且对警告是有效的。4)ErrorwithalertSQLstatement警告的SQL语句定义在菜单Navingate|Alert|Define中。要使警告运行其动作,它定义的条件必须在数据库中能找到。SQL语句必须只包含SQL语句,不能使用任何的SQL*Plus命令(例如,UNION)。这里只能有一条select语句。5)Alertrunningwithmultiplesetsofbooks警告为每个安装的帐册集(sob)执行SQLselect语句,该帐册集与警告在其下登记的产品相关。例如,假设一个用户有两个OraclePayables的帐册集—AP和APZ,Alert将为每个Oracle304第三部分核心应用下载IDAP和AP2执行SQL语句。在用户的SQLSELECT语句=‘P01’中使用暗喻输入—ORACLE_ID。用户必须确保为所有的帐册集建立授权和/或同义词。对于应答处理:“ORACLE_ID”必须在SQL语句的SELECT部分或WHERE从句中(见《OracleAlert参考手册》)。6)PeriodicAlertSchedulerisnotsubmittedtotheConcurrentManager.定期警告调度程序实现以下若干种功能:•根据其频率提交定期警告(Navigate|Alert|Define)。•根据Navigate|Alert|Define表格中的‘KeepNumberofDays’字段清除警告历史。•再次提交警告当用户通过‘ScheduleAlertProgram’表格调度定期警告调度程序时,它被提交给ConcurrentManager,在每天午夜调度程序再次提交自身。更多的信息,请看《OracleAlert参考手册》。7)Duplicatesarenotsuppressed.在建立复制抑制时若干项要注意:•当在Navigate|Action|Define表格中定义消息值时,确信有一两个列没有使用,Alert将用这两列做复制标记。•确信‘KeepNumberofDays’字段设置的数值至少比两次检查之间的天数长一天。•表格中的字段—Navigate|ActionSets|SuppressDuplicates,必须被设置成Yes(是),而且用户必须至少有一个输出变量用做复制检查。•梗概消息通过对异常情况标记一个星号(*)来抑制复制。8)HavetheAlertexecutablesbeenrelinkedwithOracleOfficeorOracleInterOffice?为了判定客户是否已经正确地将OracleAlert可执行文件重新链接到OracleOffice/InterOffice,可在Alert的一个主可执行文件的Header(头部)信息中查找字符串“alscv”。例如,使用UNIX的string和grep命令:$strings$ALR_TOP/bin/ALECDC|grepalscv如果输出包含alscvm,那么可执行文件就已经与Oracle*Mail重新链接了。如果包含alsvo,那么可执行文件要么重新链接了OracleOffice,要么重新链接了OracleInterOffice。如果没有输出产生,那么既没有链接上Oracle*Mail和OracleOffice,也没有链接上OracleInterOffice。实用程序和并行程序下面是几个实用程序名和使用它们的原因。首先介绍用法给出实例,然后对各参数进行详细解释。1)ALDCTM—连接Mail(OracleOffice、OracleInterOffice)ALDCTM试图以参数指定的或AlertOptions表格中定义的方式连接邮件帐号。用法:ALDCTM用户名/口令0Y[邮件_用户名邮件_口令邮件_数据库]例如,下列命令是按照AlertOptions表格中指定的方式将用户连接到邮政帐号:ALDCTMapps/apps0Y下面的例子是将用户连接到由“myuser/mypasswd@mymailsrv”连接字符串标识的邮件帐号中:ALDCTMapps/apps0Ymyusermypasswdmymailsrv第14章AOL故障解决方法305下载2)FNDMDCMF—消息字典创建消息文件(R10,字符模式)FNDMDCMF创建一个运行时二进制(和展开的ASCⅡ码)消息文件。用法:FNDMDCMF用户名/口令0Y应用缩写名语言例如:FNDMDCMFapplsys/fnd0YFNDusaeng它在$FND_TOP/mesg子目录下创建usaeng.msg和usaeng.msb文件。3)FNDMDGEN—消息字典生成器(R10SC,R11)创建运行时二进制(或展开的ASCⅡ码)文件,也用于从ASCⅡ文件向数据库装载消息。用法:FNDMDGEN用户名/口令0Y语言应用缩写名模式[文件应用缩写名文件名]例如:FNDMDGENapps/apps0YUSALRDB_TO_SCRIPT它创建包含OracleAlert消息的ASCⅡ码消息文件text.msg。参数如下:•语言指示语言的名称,ALL表示所有的语种。•应用缩写名限定生成一种特殊应用的消息,ALL表示所有的应用。如果不指定该变量,则产生所有的应用。•模式指示消息的去处和出处,它可以取下列值(缺省是DB_TO_RUNTIME):•DB_TO_RUNTIME:数据库到运行时(.msb)文件。•DB_TO_SCRIPT:数据库到脚本(.msg)文件。•RUNTIME_TO_DB:运行时文件(.msb)到数据库。•SCRIPT_TO_DB:脚本文件(.msg)到数据库。•RUNTIME_TO_SCRIPT:运行时文件(.msb)到脚本文件(.msg)。•SCRIPT_TO_RUNTIME:脚本文件(.msg)到运行时文件(.msb)。•“file_app_shortname”只用在转换到脚本文件,或从脚本文件转换来。应用缩写名决定将找到文件名变量中指定的哪个应用的基本路径。如果文件应用缩写名指定为“LOCAL”,那么文件名位于当前目录中。•文件名只用在转换到脚本文件或从脚本文件转换过来时,用于指定输入或输出脚本文件的文件名。一个文件中可以包含多种语言和多个应用的信息。该文件名总是以UNIX格式指定,当程序在其他平台上时,则用划线作定界符,划线会自然转换成其他平台对应的字符。例如,假设最后两个变量是“/mesg/file.msgFND”,那么脚本文件是$FND_TOP/mesg/file.msg。14.2并发管理器并发管理器是Oracle应用的后台处理控制器,其主要功能是根据一组规则来调整、控制进程请求,它是用于在后台同时执行非交互式、独立于数据的程序的一项技术。Oracle应用R10.7同时提供预定义管理器,包括内部并发管理器(InternalConcurrentManager,ICM)、标准管理器(StandardManager)、冲突解析管理器(ConflictResolutionManager,CRM)和事务管理器(TransactionManagers,TM)。ICM控制所有其他的处理操作系统进程的306第三部分核心应用下载并发管理器。在应用内,用户可以创建任意多个并发管理器来处理各种类型的请求或程序,并将它们专用化,以满足自己的商务要求。14.2.1概述本节概述并发管理器及其有关术语。1.术语本节我们定义几个后面要用到的词语,如:并发程序、并发请求,专用准则等。(1)并发程序和并发请求Oracle应用程序是并发运行的,被称为并发程序。并发程序是一个可执行文件,它与其他并发程序同时运行。当用户向运行某一特定的并发程序提交一个请求时,它就被称为并发请求。并发程序可以从Oracle应用、操作系统或其他运行的并发程序中提交。(2)不兼容的并发程序理想中所有的并发程序都应该可以同时运行,但是,有些并发程序是相互关联的,如果同时运行可能会对相同数据的操作产生冲突。那么,有必要指出这些程序是不兼容的。指定一个并发程序与另一个不兼容能确保指定程序运行时,不兼容的程序不能运行。(3)逻辑数据库一个逻辑数据库是存储在一个或多个Oracle模式中的相关数据集。逻辑数据库是Oracle应用的概念,它在相关数据周围画一条线,用户可以为其定义并发程序的不兼容性准则。(4)单独运行的程序当并发程序由于正在更新等原因而需要单独运行时,就称之为“单独运行”。在执行单独运行的程序时,冲突解析管理器或内部并发管理器能确保没有访问同一逻辑数据库中数据的并发程序被其他的并发管理器启动。(5)专用准则专用准则的定义是为了使并发管理器专用化,只能处理某些请求。依据下列情况配置并行管理器允许或不允许并发请求:•帐册的请求集ORACLE_ID(对多个安装)或组织的ORACLE_ID(如果使用多个组织)。•程序本身或程序的应用。•程序的请求类型。•提交请求的用户。•组合准则,由上面多项组合成的一条准则。(6)组合专用准则对于每一个并发管理器或事务管理器,一次只能定义一条专用准则。如果要对多个并发管理器或事务管理器定义相同的一组专用准则,最好把它们组织在一个集合中来采用。许多专用准则都可以被组合成一个集合,被称为组合专用准则。之后,组合专用准则就可以与并发管理器联系起来了。(7)工作班工作班被定义为指定的时间段,在这段时间中并发管理器或事务管理器应该能处理并发请求。(8)目标进程第14章AOL故障解决方法307下载目标进程是专门运行并发请求的并发管理器或事务管理器的操作系统进程号。并发管理器或事务管理器一次能够处理的并发请求数直接与目标进程数相关。(9)程序库立即并发程序的可执行文件链接在程序库中,每一个并发管理器都与一个程序库相关。若非程序包括在管理员的程序库中,并发管理器并不能运行立即并发程序。并发管理器把立即并发程序当作一个子例程运行,不产生另外的操作系统进程。例如,FNDLIBR就是一个程序库。2.并发管理器在OracleApplications中提交并发请求所涉及的内容无非是用运行并发请求所需要的信息来更新几个表。并发管理器周期性查看相关表,找出其中所有已经提交的新请求。如果程序已经运行,那么并发管理器将从表中获取相关信息如可执行文件名、程序名以及运行程序的参数等。如果一个程序是并发管理器程序库中的一部分,那么它就运行这个程序,或者产生另一个操作系统进程运行这个请求。下面是OracleApplications预定义的并发管理器:(1)内部并发管理器内部并发管理器管理所有其他的管理器,可启动、验证管理器的状态、复位并可关闭每个管理器。内部并发管理器是预定义的,除主节点外,其他定义不能被修改。主节点是内部并发管理器在其上启动的机器。(2)标准并发管理器标准管理器运行任何、所有的请求,并一直处于活动状态。标准管理器没有专用准则,且24小时工作班,因此,它一直在运行所有的请求。注意内部并发管理器和标准管理器都有FNDLIBR作为它们的程序库。(3)冲突解析管理器冲突解析管理器加强了为请求定义的不兼容性准则,并确保有冲突的请求不能同时运行。在R10.7中,如果配置文件选项Concurrent:UseICM被设置为Yes,那么内部并发管理器做冲突解析管理器的作业。应该注意到,在处理约束时,冲突解析管理器比内部并发管理器有效得多。该选项应该只有在冲突解析管理器出了毛病、不能运行时才设置。冲突解析管理器在OracleApplications中预定义。(4)库存管理器(InventoryManager)库存管理器有一个INVLIBR作为其程序库,INVLIBR位于INV_TOP的bin目录中。库存管理器有专用准则且24小时工作班。(5)MRP管理器MRP管理器有一个MRCLIB作为其程序库,MRCLIB位于MRP_TOP的bin目录中。MRP管理器有专用准则且24小时工作班。(6)PA流线管理器(PAStreamlineManager)PA流线管理器有一个PALIBR作为其程序库,PALIBR位于PA_TOP的bin目录中。PA流线管理器有专用准则,且24小时工作班。3.事务管理器OracleApplications中的实时处理是由事务管理器完成的。来自于客户机对话的请求运行308第三部分核心应用下载一个程序,使事务管理器立即运行(同步地),然后返回一个状态到客户机程序中。客户机必须等待直到请求完成且发送回一个状态信息。如果客户机找不到某事务管理器来运行请求,那么就会接收到一条超时错误。事务管理器只能运行那些可执行事件链接到程序库的并发程序,而不能产生独立的操作系统进程来运行这些程序。注意并发管理器提供后台处理,并且不能返回被提交请求的状态到请求者中。请求者必须通过查阅ViewConcurreentRequest表格来查寻请求的状态。4.并发处理使用的配置文件选项Oracle应用为修改并发管理器的性能及设置请求提交的缺省值提供了配置文件选项。影响并发管理器性能的配置文件选项可以设置在4个不同的级别上(站点、应用、负责区和用户)。当轮廓设置在多个级别上时,更详细的级别将覆盖较一般的级别。表14-1描述了并行处理使用的大部分轮廓选项,其中包括举例值。注意Concurrent:UseICM配置选项只有当CRM由于某种原因不能启动时才能够使用。注意Concurrent:DebugFlags配置选项能修改事务管理器的提交性能,只有在动态调试事务时才使用该项。表14-1并发处理的配置选项配置选项描述举例Concurrent:Report为提交的并发请求确定打印2Copies的缺省数Concurrent:HoldRequests提交时掌管所有并发请求N0Concurrent:Directory字符模式应用中需要的拷贝/home/finforCopy操作使用的目录Concurrent:Request被提交的并发请求的缺省优50Priority先权Concurrent:ReportAccessLevel决定用户是否能看到自己的User请求或是否还能看到当前负责区内任何人提交的请求Concurrent:RequestStartTime并发请求提交的缺省请求01-JAN-98开始时间00:00:00Concurrent:UseICM允许内部并发管理器替代冲Yes突解析管理器解决冲突问题Concurrent:DebugFlags用于调试事务管理器TCTM1Concurrent:MultipleTimeZones不管客户机时间带与并行管No理器时间带之间的差异,允许立即调度被提交的请求Concurrent:WaitforAvailableTM客户机在试图寻找另一个事60务管理器之前,等待一个事务管理器的时间(单位秒)Concurrent:SaveOutput保存并发进程的输出内容YesConcurrent:SequentialRequests并发进程的单线程处理No5.日志文件并发管理器和事务管理器产生记录其动作的日志文件。在调试管理器出现问题时,这些日志文件是最重要的咨询资源。这些日志文件位于由环境变量$APPLCSF和$APPLLOG,或第14章AOL故障解决方法309下载在没有设置$APPLCSF时由$FND_TOP/$APPLLOG指定的目录中。表14-2列出了日志文件的类型及其对应的并发管理器和事务管理器。表14-2日志文件类型及其对应的并发管理器和事务管理器文件类型文件名内部并发管理器登录std.mgr或当startmgr实用程序运行时为LOGFILE参数指定的文件名冲突解析管理器登录cnnn.mgr并发管理器登录wnnn.mgr事务管理器登录tnnn.mgr注意nnn表示并发管理器或事务管理器相关的并发进程ID号。并发进程ID号从序列中获取,并保存在FND_CONCURRENT_PROCESSES表中。14.2.2并发管理器和事务管理器的维护并发管理器和事务管理器必须被启动和关闭。当用户启动数据库时管理器不能自动启动;当用户关闭数据库时,它也不能自动关闭。非常重要的一点是,应该在关闭数据库实例之前关闭内部并发管理器。否则,就会引起数据不可靠。当数据库启动时,随后应该启动内部并发管理器。当使用SmartClient或NCA时,内部并发管理器必须从操作系统中启动,因为这时不可能从AdministerConcurrentManager表格中启动它。之后,内部并发管理器启动其他的并发管理器和事务管理器。并发管理器和事务管理器可以单个地关闭或启动。1.启动内部并发管理器重要的是应注意到内部并发管理器必须由applmgr(它是Oracle应用文件的所有者)启动,内部并发管理器继承启动它的用户的权限和环境。本节介绍启动内部并发管理器的方法。OracleApplicationsR10.7同时提供预定义管理器,包括内部并发管理器(ICM)、标准管理器、冲突解析管理器(CRM)和事务管理器(TM)。ICM控制所有其他的并发管理器,它们是处理请求的操作系统进程。在应用中,用户也可以创建任意数量的并发管理器来处理各种类型的请求或程序,并将它们专用化,以满足自己的商务要求。2.管理并发管理器的方式从字符模式的Oracle应用格式启动内部并发管理器,需完成以下步骤:1)进入AdministerConcurrentManager表格(Navigate|ConcurrentManager|Administer)。2)执行一次封闭查寻(用QueryRun格式)3)进入内部并发管理器的Control字段。4)调用QuickPick(FieldQuickPick)5)选择ActivateConcurrentManager。6)保存记录(用ScreenSave格式)。注意ICM不能从SmartClient或NCAAdministerConcurrentManager方式启动,必须从操作系统启动。3.操作系统本节描述如何从UNIX和NT操作系统中启动ICM。310第三部分核心应用下载(1)UNIX从UNIX中启动ICM,需执行下列命令:除了APPS口令之外,所有其他参数都是可选的,startmgr实用程序使用的参数在表14-3中列出。表14-3startmgrUNIX命令参数参数缺省描述sysmgrAPPS用户名/APPS口令APPS的用户名和口令logfile$mgrname.mgrICM日志文件的文件名printer无输出发送到的系统打印机mailto用户名通常是“APPLMGR”,以便在ICM终止时接收到电子邮件restartN=不重新启动如果设置成一个数字,则表示从ICM非正常终止到试图重新启动之前要等待的分钟数(整数)diagNY指示所有的管理器都产生诊断输出sleep60秒ICM检查新的查寻控制请求前等待的秒数(整数)pmon20在检查失败的并发管理器时间段内ICM等待的睡眠周期数(整数)quesiz1在检查新的或禁止的并发管理器时间段内,ICM等待的pmon周期数(整数)(2)NT在用户启动WindowsNT系统中OracleApplicationServer的并发管理器之前,必须创建一个与用户产品组的Registry子键相对应的并发管理器服务。警告为了使applmgr退出之后并发管理器仍保持运行状态,所有的Oracle应用服务器产品文件都必须驻留在并发管理器服务被安装的本地系统上。为了创建一个与产品组的Registry子键相对应的并发管理器服务,需重新启动服务器,重新注册applmgr帐号,打开一个新的WindowsNT命令提示(确保在安装和/或升级过程中对PATH所做的任何修改起作用),并键入:C:\>cmsrvadmaddAPPL_CONFIG[auto|manual]其中,APPL_CONFIG是用户产品组的子键,而且如果没有指定服务启动标志,自动服务启动是缺省的。如果用户选取自动服务启动,那么在创建及每次系统引导后服务都会自动启动。用户将被提示输入APPS模式的用户名和口令。用户还必须提供有关WindowsNTapplmgr的帐号信息,比如该帐号是本地的还是一个WindowsNT域的帐号。如果用户应该在服务创建后修改其任何信息,就必须删除并重新安装服务。注意用户可以从对Oracle应用产品文件有访问权限的管理员组的任意WindowsNT帐号创建一个并发管理器服务。但是一旦创建了服务,那么就只有这一个帐号能访问必要的Registry信息,启动服务。4.关闭并发管理器第14章AOL故障解决方法311下载并发管理器可以使用AdministerConcurrentManagers方式从应用内部关闭,或使用CONCSUB程序从操作系统中关闭。必须在关闭数据库之前,首先关闭并发管理器。如果关闭数据库时并发管理器正在运行,那么Oracle应用表可能会出错。下面是要关闭并发管理器的几条原因:•所有并发请求处于挂起状态。•打印机定义已经被修改。•环境文件已经被修改。注意当并发管理器启动时,环境变量被读取并进行高速缓存。对环境变量的修改并不影响并发管理器的性能,除非把它们关闭并重新启动。5.操作系统CONCSUB用于关闭并发管理器。关闭ICM的句法是:参数描述如表14-4所示。表14-4关闭ICM时用到的参数及描述参数描述apps/apps运行并发程序的ORACLEIDSYSADMIN应用缩写名(关闭并行管理器由系统管理员负责)SystemAdministrator指出谁负责运行该程序SYSADMINAOL用户的用户名,用于更新用户并发程序修改的任意数据的Who列信息,并创建请求的报表输出文件名[Wait={Y|N|n}]Wait=Y时请求在返回到操作系统之前完成CONCURRENTCONCURRENT是一个简化的关键字要求的常量,它告CONCSUB下面是并发程序的详细信息FND应用的程序缩写名ABORT/SHUTDOWN/PROGRAMABORT立即异常终止管理器;SHUTDOWN在“运行”进程完成后,关闭管理器,PROGRAM参数用希望操作系统运行的指定程序来替代14.2.3定制并发管理器几乎在所有的Oracle应用实现中都定义了定制的并发管理器。例如,可以定义一个并发管理器在指定时间处理指定的请求组。尽管这些管理器是由Oracle应用的用户定义的,但是对这些管理器的管理与预定义的管理器没有什么不同。图14-1描述了定义定制的并行管理器应采取的动作序列,定义步骤如下:1)组合专用准则是并发管理器选择运行的请求时要遵守的一组专用准则集,这些准则在CombinedSpecializationRules表格中定义。如果用户不想使用组合专用准则或者在此之前已经为管理器定义了组合专用准则,那么可以跨过该步。2)定义并发管理器在WorkShift表格中应该活动的时间段。如果用户想使用以前定义的工作名或想使用在应用中预定义的时间段,比如Standard,就可以跨过该步。3)指定并发管理器的名称和程序库。将组合专用准则与并发管理器联系起来,或定义一个新的专用准则并联系并行管理器表格中的工作班。312第三部分核心应用下载图14-1并发管理器的定义4)定义并发管理器后,可以从AdministerConcurrentManagers表格中引导它。如果用户在GUI上,则可以从AdministerConcurrentManagers表格中启动或关闭并发管理器(除ICM之外)。CRM是由ICM控制的,不能从字符模式或GUI表格中启动或关闭。5)如果用户想修改请求提高的性能,可以定义并发管理器配置选项。如果用户不想使用缺省设置,可以跨过该步。注意有关表格的详细描述,请参考《Oracle应用R10SC系统管理员手册》。14.2.4故障解决方法/常见问题问:什么是立即并发程序?答:立即并发程序是指那些并发管理器不需要产生单独的操作系统进程的程序。无需产生单独的可执行文件是因为运行立即并发程序的可执行文件已经链接到程序库中(例如FNDLIBR)。问:对于其他的并发管理器,比如库存管理器,程序库是INVLIBR,库存管理器能从库存之外的应用中运行作业吗?答:库存管理器不能从其他的应用中获取作业,因为其专用准则不允许这样做。问:我能从AdministerConcurrentManager表格中启动ICM吗?答:不能,在10SC、10.7NCA或R11中都不能。在字符模式的表格中,如果aiap对话运行在适当的环境中,则可以启动ICM。问:我能用consub.exe关闭NT上的管理器吗?答:是的,可以。问:当并发管理器为运行一个繁演的程序创建一个进程时,进程的ID号要存到什么地方吗?答:在R10.7中,繁演进程的ID号不保存在任何表中。问:当我试图启动管理器时,为什么会得到下列错误信息:第14章AOL故障解决方法313下载继续该过程开始定义并行组合专用准则定义并行工作班定义并行管理器定义并行轮廓选项管理并行管理器结束完成答:数据库中很有可能存在许多无效的对象。确认由SYS和SYSTEM所属的所有对象以及前缀是“FND”的所有对象都是有效的。我们建议用户运行$APPL_TOP/install中的adprepdb.sql脚本。adprepdb.sql脚本使APPS模式中必须重新编译的代码对象无效。运行adadmin实用程序编译APPS模式中的所有代码对象。从SYSTEM用户中执行下列简单的查询语句就可以找出无效的对象。问:当我试图启动ICM时,为什么会得到“APP-00988”ORACLEerror1480ininsert_icm_record的错误?答:极有可能是db_name太长,数据库的db_name参数必须是不多于8个字符的字母数字文本串,且不能包含任何特殊字符。如果违反了这个规则,ICM就会退出。Db_name在数据库参数文件中设置,可以用下列命令检查:问:当启动并发管理器时出现以下错误信息,我该怎么办?答:用applsys(FND表的所有者)用户执行下列SQL语句检查PMON方法:注意尽管PMON方法是配置文件选项,但在SystemProfileOption表格中是不可见的。PMON方法应该被置成LOCK。如果不是,则按下列操作把它设置成LOCK:PMON方法在FND_PROFILE_OPTIONS表中被存储为CONC_PMON_METHOD,可以取下列三个值:•OSICM判定给进程发送kill-0后进程是否仍然在运行。这样的设置非常少见,只是为了测试一下进程是否还在那里,而且在R10.7中不再支持这种方法。•RDBMICM查询V$process搜索对话期ID(启动请求的)和操作系统ID。之所以要查询两列而不仅查询OSPID是因为如果并发管理器使用同一个RDBMS运行两个不同的客户机,那么两个请求可能会具有相同的OSPLD。•LOCKICM试图得到正在监视的进程的一个锁。锁的名字由序列(单个管理器的ID[例如,standard])和有问题的程序来决定。如果ICM能够得到一个特殊的锁,那么它就知道相应的进程不在运行中。314第三部分核心应用下载问:我用一个并发管理器调用库存管理器,库存管理器有一个Standard工作班,它拥有带60秒睡眠时间的三个进程。我想提高库存管理器对接收到的请求的应答速度,最好的方法是什么?答:请求时间太长,有三个可能原因:•程序运行时间太长。•对该并发管理器有太多的请求,以至于请求正在做备份。•睡眠时间使你的请求要等待60秒钟以上才能被获取。但是,对于三个进程来说,实际上平均每个请求的延时大约只有10~15秒。假设用户的程序执行得很快,最有可能的情况是对并发管理器的请求太多。假设这是一个并发管理器(不是事务管理器),确定其正在接收许多请求的方法是进入AdministerConcurrentManager表格并查看并发管理器行。如果一直能看到运行的请求数等于运行进程数,那么这就是你的问题了。增加进程数会解决这个瓶颈问题,但也许会影响其他进程的性能(对于事务管理器来说,在确定这种情况时应该注意到请求失败可能是由于缺少可用的管理器造成的)。问:如果客户机在处理一个事务过程中崩溃,而该事务又正由事务管理器处理着,该怎么办?答:对于当前的实现,事务将继续完成。事务完成后,事务管理器可以从其他客户机应答事务请求。问:如果事务管理器在处理一个事务过程中崩溃,该怎么办?答:对于当前的实现,客户机将把它锁住,直到事务超时。问:事务管理器会ping表以发现新的作业吗?答:不,事务管理器不会ping表,被请求的、需要运行的程序直接给它发信号。问:程序如何给事务管理器发信号?答:事务管理器可以被定义为成一个进程集。例如,库存事务管理器是在其工作班期间运行的INCTM进程集。每一个事务管理器都有一个数据库管道,被称为请求管道。一次只有其中一个进程监听此管道。一旦一个进程在此管道上从客户机中接收到一个请求,它就立刻退出对管道的监听,以便队列中的下一个事务管理器进程能开始监听。每个客户机对话都有一个属于自己的管道,以从中获取事务管理器的返回结果。客户机将管道名包括在它的事务请求中。14.3软字段本节概述OracleApplications中的软字段,包括关键性概念的定义和建立软字段必须的操作步骤要点,然后我们提出一些常见的问题、会遇到的错误以及对这些错误的解决方法。本节所描述的这些信息并未包括所有的内容,更详细的信息用户应参考《OracleApplicationsR10.7软字段指南》。OracleApplications不支持任何对OracleAOL表或模块的定制,即使是由Orale顾问进行的定制也不支持。OracleAOL表名以“FND_”开头。我们再次强调绝不要用SQL*Plus、Oracle数据浏览器、数据库触发器或任何其他的工具修改Oracle应用的表,除非Oracle建议用手工方式完成。第14章AOL故障解决方法315下载14.3.1软字段概念介绍软字段在表格中以“弹出式”窗口的形式出现,窗口中包含对被称为“段”的“子字段”的提示,每一个段都有一个名字和一个有效值集。软字段被作为一个数据库列集来实现,每个段只有一个列。有两种类型的软字段:•键软字段。•描述性软字段。1.键软字段键软字段是表格的整数部分。通常在应用安装时定义,且常用于唯一地标识诸如项目号或帐号这样的重要商务事项。在表格中,键软字段一直以普通字段形式出现,直到软字段窗口弹出,显示组成段的连锁值和段描述。2.描述性软字段描述性软字段根据需要来定义。这些软字段提供有关特定表格上的数据的额外信息字段,以一对啤酒杯的把手形式出现,类似开、关的方括号“[]”。当光标到达括号处时,描述性软字段弹开。如果描述性软字段无效,光标就跨过该括号。使用描述性软字段,可满足用户特殊的商务需要。如果表格具有所有需要信息的字段,那么用户不应该使用这些描述性软字段。表14-5列出的是一些通常要用到某些描述性软字段特性的情况。表14-5软字段的特性及用途软字段特性用途描述性软字段捕捉表格捕捉不到的信息全局段无论表格中出现什么样的其他数据,每次都捕捉同样的信息上下文敏感段有时捕捉某些信息,有时捕捉其他数据引用字段根据表格中出现的其他数据捕捉不同的信息3.软字段的术语和特性本节讨论软字段常用的一些基本术语和特性。(1)段段是软字段中的一个子字段,在数据库中一个段用一个表列来代表。(2)值集可以把值集当作一个值的“容器”,用户可以选择符合自己值集的值的类型——长度、格式等等。段通常是有效的,而且一个给定软字段中的每个段都使用不同的值集。用户可以给多个段赋一个值集,甚至还可以使多个不同的软字段共享值集。所以,修改一个值集的值会影响使用该值集的所有段和报表参数。对于大多数的值集来说,当用户向软字段的段中输入值时,可以只输入那些已存在于某个段的值集中的值。另外,用户不应该修改由Oracle应用提供的值集,尤其是标准报表提交(SRS)值集。如果用户的定制值集与Oracle应用预定义的值集同名,那么在升级过程中Oracle应用值集会覆盖定制的值集。因些,用户取名时应十分小心。例如,在值集名中加上客户或站点的前缀。316第三部分核心应用下载警告用户绝对应该修改或删除Oracle应用提供的预定义值集,这种修改可能会对诸如报表这样的用户应用的性能产生不可预料的影响。(3)结构/帐目图表软字段结构是段的指定配置。如果增加或删除段,或重新按排软字段中段的顺序,都会得到不同的结构。用户可以为同一软字段定
本文档为【EBS_并发管理器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥18.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
肥猫叫noah
暂无简介~
格式:pdf
大小:2MB
软件:PDF阅读器
页数:0
分类:高中语文
上传时间:2020-02-16
浏览量:21