并发管理器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

相关文章

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Spring Security 前后端分离场景下的会话并发管理

《SpringSecurity前后端分离场景下的会话并发管理》本文介绍了在前后端分离架构下实现SpringSecurity会话并发管理的问题,传统Web开发中只需简单配置sessionManage... 目录背景分析传统 web 开发中的 sessionManagement 入口ConcurrentSess

一文带你迅速搞懂路由器/交换机/光猫三者概念区别

《一文带你迅速搞懂路由器/交换机/光猫三者概念区别》讨论网络设备时,常提及路由器、交换机及光猫等词汇,日常生活、工作中,这些设备至关重要,居家上网、企业内部沟通乃至互联网冲浪皆无法脱离其影响力,本文将... 当谈论网络设备时,我们常常会听到路由器、交换机和光猫这几个名词。它们是构建现代网络基础设施的关键组成

MySQL中处理数据的并发一致性的实现示例

《MySQL中处理数据的并发一致性的实现示例》在MySQL中处理数据的并发一致性是确保多个用户或应用程序同时访问和修改数据库时,不会导致数据冲突、数据丢失或数据不一致,MySQL通过事务和锁机制来管理... 目录一、事务(Transactions)1. 事务控制语句二、锁(Locks)1. 锁类型2. 锁粒

深入解析Java NIO在高并发场景下的性能优化实践指南

《深入解析JavaNIO在高并发场景下的性能优化实践指南》随着互联网业务不断演进,对高并发、低延时网络服务的需求日益增长,本文将深入解析JavaNIO在高并发场景下的性能优化方法,希望对大家有所帮助... 目录简介一、技术背景与应用场景二、核心原理深入分析2.1 Selector多路复用2.2 Buffer

go动态限制并发数量的实现示例

《go动态限制并发数量的实现示例》本文主要介绍了Go并发控制方法,通过带缓冲通道和第三方库实现并发数量限制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录带有缓冲大小的通道使用第三方库其他控制并发的方法因为go从语言层面支持并发,所以面试百分百会问到

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S