并发管理器2——OPP的概念

2023-10-29 19:20
文章标签 并发 概念 管理器 opp

本文主要是介绍并发管理器2——OPP的概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

输出提交处理程序的用途:

Concurrent Processing now uses the Output Post Processor (OPP) to enforce post-processing(后加工) actions for concurrent requests.Post-processing actions are actions taken on concurrent request output(并发请求输出). An example of a post-processing action is that used in Concurrent Processing support of XML Publisher.

If a request is submitted with an XML Publisher template specified as a layout for the concurrent request output, then after the concurrent manager finishes running  the concurrent program, it will contact the OPP to apply the XML Publisher template and create the final output.

The Output Post Processor makes use of the Oracle Streams Advanced Queuing (AQ) database feature. Every OPP service instance monitors the FND_CP_GSM_OPP_AQ queue for new messages and this queue has been created with no value specified for primary_instance (link). This implies that the queue monitor scheduling and propagation is done in any available instance. In other words, ANY OPP service instance may pick up an incomming message independent of the node on which the concurrent request ran.
OPP使用了数据库的高级队列的新特性,每个opp服务监视FND_CP_GSM_OPP_AQ队列的新信息,似乎是想说,这个队列并没有指定他里面的信息要运行在哪个opp service里面,只要是这个队列里有信息,任何opp进程都可以取出来运行。





OPP runs as a service that can be managed through Oracle Applications Manager (OAM) from the System Activity page (Navigation: Applications Dashboard > Applications Service (from the dropdown list) > Go).

How to Increase the number of Output Post Processors(增加输出提交处理程序的数量)?
1.Log on to Applications with “System Administrator” responsibility.
2.Navigate to Concurrent -> Manager -> Define.
3.Query for the “Output Post Processor” service.
4.Click on “Work Shifts” and increase the number of processes



检查并调大opp内存的大小:

Maximum Memory Usage Per Process: 

The maximum amount of memory or maximum Java heap size a single OPP process can use is by default set to 512MB. This value is seeded by the Loader Data File: $FND_TOP/patch/115/import/US/afoppsrv.ldt which specifies that the DEVELOPER_PARAMETERS is "J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx512m". At the time of writing (Sep 2007), there's no user interface available which allows this value to be altered (Bug 4247067). The alternative is to alter the value using SQL*Plus

Determine the current maximum Java heap size:

SELECT service_id, service_handle, developer_parameters
FROM fnd_cp_services
WHERE service_id = (SELECT manager_type
FROM fnd_concurrent_queues
WHERE concurrent_queue_name = 'FNDCPOPP');

SERVICE_ID SERVICE_HANDLE DEVELOPER_PARAMETERS
---------- -------------- --------------------------------------------------------
1091 FNDOPP J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx512m

Increase the maximum Java heap size for the OPP to 1024MB (1GB):

UPDATE fnd_cp_services
SET developer_parameters =
'J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx1024m'
WHERE service_id = (SELECT manager_type
FROM fnd_concurrent_queues
WHERE concurrent_queue_name = 'FNDCPOPP');

The OPP queue can be Recreated the using $FND_TOP/patch/115/sql/afopp002.sql file as 'APPLSYS' user. On running the script you will be prompted for username and password.

There are 2 new profiles options that can be used to control the timeouts

Profile Option : Concurrent:OPP Response Timeout
Internal Name : CONC_PP_RESPONSE_TIMEOUT
Description : Specifies the amount of time a manager waits for OPP to respond to its request for post processing.

Profile Option : Concurrent:OPP Process Timeout
Internal Name : CONC_PP_PROCESS_TIMEOUT
Description : Specifies the amount of time the manager waits for the OPP to actually process the request.





How to get OPP manager log file location?

$APPLCSF/log/<SID>/FNDOPP####.txt       OR
1,System Administrator > Concurrent > Manager > Administer
2,Search for ‘Output Post Processor’
3,Click the ‘Processes’ button .
4,Click the Manager Log button. This will open the ‘OPP’
Upload the OPP log file.

In some cases, Output Post Processor is not start up and it shows Actual and Target are showing different values when we query for Output Post Processor.
The log files shows that no error message.In this case apply the following possible solution for starting the OPP.

1. Shutdown the internal manager by using adcmctl.sh stop apps/apps
2. Make sure there is no FNDLIBR processe running:
$ ps -ef| grep FNDLIBR OR ps -ef|grep applprod|grep FNDLIBR
3. If there is any FNDLIBR processe please kill it $ kill -9 pid
4. Run cmclean.sql script as document from Note 134007.1
5. Restart the internal manager by using adcmctl.sh start apps/apps

orHow to kill and start Output Post Processor (OPP) Background(如何重启opp):
This article explains how to kill OPP and restart the same

Solution:
1,System Administator > Concurrent > Manager > Administer
2,Query "Output Post Processor" -> Processes(处理) button
Get the sytem id of "Output Post Processor"
3,ps -ef|grep [system id]
4,kill -9 [system id] in Unix
5,System Administator > Concurrent > Manager > Administer
6,Query "Output Post Processor" -> Restart button



Fixing Output Post-processor actions failed issues in EBS R12

Environment: Oracle EBS 12.1.3, Oracle Database 11gR2, RedHat Linux5
Symptoms:

Users unable to open the out files.

Concurrent requests failed with “Post-processing of request failed error message”

One or more post-processing actions failed. Consult the OPP service log for details.

No further attempts will be made to post-process this request.

Cause:

The concurrent manager process was able to successfully invoke the Output Post-Processor (OPP) but encountered a timeout as the OPP takes longer than the value  assigned to complete the job.

 Solution:

1,Increase the value of profile Concurrent: OPP Response Timeout . Bounce Apache and retest.
2,If the issue still exists, perform the following steps.
3,Increase the number of Output Post Processors as follows:
4,Increase the number of processes for Output Post Processor.
5,Additionally, ensure there is a setting of  oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5 under Parameters.


For more details Please  check metalink I.E oracle.support 

Concurrent Requests Fail Due to Output Post Processing (OPP) Timeout [ID 352518.1]
Ouput Post Processing Fails Due To java.lang.ThreadDeath [ID 427233.1]
Why Does OPP Intermittently Completes With Warnings and Error 'java.lang.OutOfMemoryError'? [ID 978495.1]


To know more this post is very nice http://knoworacleappsdba.blogspot.in/2012/07/all-about-output-post-processor-opp-in.html


How to start the Output Post Processing (OPP) in 11i
At least one OPP process active in the system. The concurrent processing uses the Output Post Processor (OPP) to enforce post-processing actions for concurrent requests. For example, post-processing action is that used in publishing concurrent requests with XML Publisher.

Actually when you have submit a request with XML Publisher template specified as a layout for the concurrent request output. Once finishes the concurrent manager concurrent program, it will contact the OPP to apply the XML Publisher template and create the final output

To activate the OPP follow these setps:

The Profile Option "Concurrent: GSM Enabled" must be set to Y

Then:
1. Login to Apps with sysadmin responsibility
2. Navigate to: Concurrent -> Managers -> Define
3. Query for
Manager = 'Output Post Processor%'
or Short Name = FNDCPOPP
4. Check the checkbox "Enable" .
5. Click on 'Work Shifts button
6. see Work Shift of the OPP and
Set Processes = 1
and Parameters = oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5
and Sleep Second = 30
7. Save

How to restart Oracle Apps 11i OPP via non unix command

It can be done using adcmctl.sh script only and there is no specific script for OPP. You can restart it from the application via (System Administrator responsibility > Concurrent > Manager > Administer), select "Output Post Processor" and click on the "Restart" button.


OPP Issue while generating the XML Output in apps 11i

Problem Description:
1, Few XML type concurrent programs taking long time and completed with warning OPP log file registered below error
      Caused by: java.lang.ThreadDeath
2, CPU utilization taking 100% constantly while running the concurrent programs.


Cause
The java.lang.ThreadDeath error indicates that the Output Post Processor has reached its processing timeout.

Solution
The following configuration changes are recommended to optimize the environment for these type of reports:
1. Increase the value of the Concurrent: OPP Timeout profile option to 10800 seconds.

2. Enable the scalability feature of XML Publisher:

1. Login as SYSADMIN
2. Responsibility: XML Publisher Administrator
3. Function: Administration
4. Set the following properties:
5. Temporary Directory
6. Use XML Publisher's XSLT processor: True
7. Enable scalable feature of XSLT processor: True   -- By default it’s false
8. Enable XSLT runtime optimization: True

> After changing the value also the problem still exist. As per the SR suggestion, we increased the java heap size from 1024M to 2048M.

a. Bring down the concurrent managers.

b. Use the Update statement below, for example:
update FND_CP_SERVICES
set DEVELOPER_PARAMETERS =
'J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx2048m'
where SERVICE_ID = (select MANAGER_TYPE from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME = 'FNDCPOPP');

c. Bring concurrent managers up again

Please check below note's from oracle support

427233.1  :Output Post Processing Fails Due To java.lang.ThreadDeath
1268217.1: Output Post Processor (OPP) Log Contains Error “java.lang.OutOfMemoryError: Java heap space"
1266368.1: Output Post Processor (OPP) Log Contains Error   "java.lang.OutOfMemoryError"
978495.1: Why Does OPP Intermittently Completes With Warnings and Error 'java.lang.OutOfMemoryError'?
352518.1 :Concurrent Requests Fail Due to Output Post Processing (OPP) Timeout
364547.1 :Troubleshooting Oracle XML Publisher For The Oracle E-Business Suite


Regards
Madhan


这篇关于并发管理器2——OPP的概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/302812

相关文章

Linux之软件包管理器yum详解

《Linux之软件包管理器yum详解》文章介绍了现代类Unix操作系统中软件包管理和包存储库的工作原理,以及如何使用包管理器如yum来安装、更新和卸载软件,文章还介绍了如何配置yum源,更新系统软件包... 目录软件包yumyum语法yum常用命令yum源配置文件介绍更新yum源查看已经安装软件的方法总结软

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

Java并发编程之——BlockingQueue(队列)

一、什么是BlockingQueue BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞。被阻塞的情况主要有如下两种: 1. 当队列满了的时候进行入队列操作2. 当队列空了的时候进行出队列操作123 因此,当一个线程试图对一个已经满了的队列进行入队列操作时,它将会被阻塞,除非有另一个线程做了出队列操作;同样,当一个线程试图对一个空

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)

java线程深度解析(五)——并发模型(生产者-消费者)

http://blog.csdn.net/Daybreak1209/article/details/51378055 三、生产者-消费者模式     在经典的多线程模式中,生产者-消费者为多线程间协作提供了良好的解决方案。基本原理是两类线程,即若干个生产者和若干个消费者,生产者负责提交用户请求任务(到内存缓冲区),消费者线程负责处理任务(从内存缓冲区中取任务进行处理),两类线程之

java线程深度解析(四)——并发模型(Master-Worker)

http://blog.csdn.net/daybreak1209/article/details/51372929 二、Master-worker ——分而治之      Master-worker常用的并行模式之一,核心思想是由两个进程协作工作,master负责接收和分配任务,worker负责处理任务,并把处理结果返回给Master进程,由Master进行汇总,返回给客

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理 秒杀系统是应对高并发、高压力下的典型业务场景,涉及到并发控制、库存管理、事务管理等多个关键技术点。本文将深入剖析秒杀商品业务中常见的几个核心问题,包括 AOP 事务管理、同步锁机制、乐观锁、CAS 操作,以及用户限购策略。通过这些技术的结合,确保秒杀系统在高并发场景下的稳定性和一致性。 1. AOP 代理对象与事务管理 在秒杀商品

PostgreSQL中的多版本并发控制(MVCC)深入解析

引言 PostgreSQL作为一款强大的开源关系数据库管理系统,以其高性能、高可靠性和丰富的功能特性而广受欢迎。在并发控制方面,PostgreSQL采用了多版本并发控制(MVCC)机制,该机制为数据库提供了高效的数据访问和更新能力,同时保证了数据的一致性和隔离性。本文将深入解析PostgreSQL中的MVCC功能,探讨其工作原理、使用场景,并通过具体SQL示例来展示其在实际应用中的表现。 一、