oracle 内存 opp,Tuning OPP in EBS Oracle EBS 11iR12

2023-11-05 05:59
文章标签 oracle 内存 tuning ebs opp 11ir12

本文主要是介绍oracle 内存 opp,Tuning OPP in EBS Oracle EBS 11iR12,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

优化指标

EBS中OPP(Output Post Processor)的优化,主要可以由下面3个方面来入手:

Threads

Processes

Jvm memory argument

Threads & Processes

Threads和Processes的设置可以在并发管理器定义的页面中看到,如下:

0818b9ca8b590ca3270a3433284dd417.png

其中,2代表service threads的数量,max_threads参数控制request threads的数量。可以根据需要增加max_threads的值(max_threads可以说是定义OPP吞吐量的一个重要参数)。

Jvm memory argument

Jvm memory argument可以使用apps用户登录数据库,运行下面sql得到:

sqlSELECT 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

---------------- -------------- --------------------------------------------------------------------------------

1080 FNDOPP J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx512m

优化原则

Threads VS Processes

每个OPP process都需要在OS中启动单独的java进程。所以在调优过程中,建议先增加Threads的数量,Threads的数量受每个process可以使用的内存限制,在已有的threads还不够用时,就需要增加process的数量了。

每个OPP的process都会占用单独的内存,所以在增加process个数的时候,OS空闲内存就是要考虑的一个因素。

Increase jvm memory

在OPP服务进程中出现outofmemory错误时,就需要增加jvm内存参数了,可使用下面sql来调整OPP的jvm memory参数。调整之后需要重启OPP生效。

sqlUPDATE 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');

系统整体性能考虑

EBS中,OPP主要用来处理XML Publisher生成报表的请求,在11i和R12版本中,OPP使用32位java,所以单个OPP process最多只能使用4G内存(而Oracle建议的值为2G),所以从处理能力方面来看,单个OPP进程是受到很大限制的。在运行比较大的报表,出现outofmemory错误时,单纯增加process和threads已经不能很好解决问题,需要从报表的性能上去考虑。在处理比较小的报表请求时,较大的process和threads参数可以增加系统的吞吐量。

这篇关于oracle 内存 opp,Tuning OPP in EBS Oracle EBS 11iR12的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行