并发管理器opp错误举例2

简介: 报错日志:[6/25/14 12:44:43 PM] [main] Starting GSF service with concurrent process id = 521892.

报错日志:

[6/25/14 12:44:43 PM] [main] Starting GSF service with concurrent process id = 521892.
[6/25/14 12:44:43 PM] [main] Initialization Parameters: oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5
[6/25/14 12:44:43 PM] [Thread-31] Service thread starting up.
[6/25/14 12:44:43 PM] [Thread-32] Service thread starting up.
[6/25/14 12:44:45 PM] [OPPServiceThread0] Post-processing request 19365616.
[6/25/14 12:44:45 PM] [521892:RT19365616] Executing post-processing actions for request 19365616.
[6/25/14 12:44:45 PM] [521892:RT19365616] Starting XML Publisher post-processing action.
[6/25/14 12:44:45 PM] [521892:RT19365616] 
Template code: CSTCRACC
Template app:  BOM
Language:      zh

Territory:     CN
Output type:   RTF
[6/25/14 12:44:45 PM] [UNEXPECTED] [521892:RT19365616] java.sql.SQLException: Exhausted Resultset
at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:1224)
at oracle.apps.fnd.cp.util.CpUtil.getCanonicalLocalNode(CpUtil.java:127)
at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:244)
at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:176)


可以看到是一个java异常,参考oracle文档:

Output Post Processor Fails Due to java.sql.SQLException: Exhausted Resultset (文档 ID 740529.1)

In this Document
Symptoms
Cause
Solution
References
APPLIES TO:

BI Publisher (formerly XML Publisher) - Version 12.0 to 12.1 [Release 12.0 to 12.1]
Information in this document applies to any platform.
Oracle XML Publisher - Version: 11.5.0 to 11.5.10.2
Oracle XML Publisher - Version: 12.0.0 to 12.0.4
EXECUTABLE:XDOREPPB - Generate PDF from XML output and given template

Checked for relevance on 10-MAR-2013


SYMPTOMS

XML Publisher related concurrent request are failing with the following error in the request log file:

...
+------------- 1) PUBLISH -------------+
Beginning post-processing of request 661465 on node AS31 at 29-SEP-2008 17:17:42.
Post-processing of request 661465 failed at 29-SEP-2008 17:17:42 with the error message:
One or more post-processing actions failed. Consult the OPP service log for details.
+--------------------------------------+
...
 
The Output Post Processor (OPP) log file can be determine as per the instructions from Note 364547.1 Troubleshooting Oracle XML Publisher for Oracle Applications. Within this log file the following error is found:

...
[9/29/08 5:17:42 PM] [107442:RT661465] Executing post-processing actions for request 661465.
[9/29/08 5:17:42 PM] [107442:RT661465] Starting XML Publisher post-processing action.
[9/29/08 5:17:42 PM] [107442:RT661465] 
Template code: ARXUNAJR
Template app:  AR
Language:      en
Territory:     US
Output type:   PDF
[9/29/08 5:17:42 PM] [UNEXPECTED] [107442:RT661465] java.sql.SQLException: Exhausted Resultset
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:382)
at oracle.apps.fnd.cp.util.CpUtil.getCanonicalLocalNode(CpUtil.java:127)
at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:210)
at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:172)

[9/29/08 5:17:42 PM] [107442:RT661465] Completed post-processing actions for request 661465.
...
It can occur on any XML Publisher related report that makes use of the Output Post Processor and it does reproduce at will by simply running such a concurrent request.

CAUSE

The root cause of the problem is an incorrect network setup on the concurrent processing tier. The java stack shows that an unexpected error occurred within the getCanonicalLocalNode() method, part of the CpUtil.java source file. This method is responsible for returning the node name from FND_NODES that matches the local node name which is determined by the following java code:


93  ...
94  try {
95 
96  localNode = InetAddress.getLocalHost().getHostName().toUpperCase();
97 
98  ...


Subsequently, the localNode variable is part of the conditional clause of a SELECT statement on the FND_NODES table.

In some cases, the IP address of the server is resolved to two different hostnames due to the DNS server configuration.

myhost.oracle.com which is returned by the command line utility 'hostname' and myhost as shown by 'uname -a'
myotherhost.oracle.com which is returned by requesting the hostname from the DNS server based upon the server IP address (e.g. nslookup)
The hostname named myhost is registered in FND_NODES whereas myotherhost is not registered within the application.

SOLUTION

The network configuration needs to be corrected in such a way that the Oracle E-Business Suite and more in specific, the Output Post Processor is capable of resolving the correct hostname of the server on which it is running on. A network administrator my need to be consulted in order to resolve the issue.

NOTE:

It's found that there is a difference in the nodename returned by Java program & OS tools (uname-a/hostname).  Please perform the following to validate this:

1. cd $JAVA_TOP

2. Create PrintHostName.java and save below content
-------------save as PrintHostName.java --------------
import java.net.*;
import java.util.*;

public class PrintHostName
{
        public static void main(String[] args) throws Exception
        {
                System.out.println("OPP Host addr: " + InetAddress.getLocalHost().getHostName().toUpperCase());  //
}
}

-------------save as PrintHostName.java --------------

3. javac PrintHostName.java

4. java PrintHostName

5. The output in step 4 should match below:

$hostname

$uname -a

SQL> select UPPER(SUBSTR(node_name,1,DECODE(INSTR(node_name,'.'), 0, LENGTH(node_name), INSTR(node_name,'.') -1 ))),node_name from fnd_nodes  
where NVL(node_mode, 'O') = 'O'  ;


相关文章
|
9月前
|
自然语言处理 算法 数据库
简述数据库执行查询请求的过程
当数据库接收到查询请求后,首先需要对查询语句进行解析。这个过程包括词法分析和语法分析,将查询语句转化为内部数据结构,以便后续处理。
122 0
避免list的并发修改异常的几种方式
避免list的并发修改异常的几种方式
|
存储 API C#
C#多线程(15):任务基础③
任务基础一共三篇,本篇是第三篇,之后开始学习异步编程、并发、异步I/O的知识。 本篇会继续讲述 Task 的一些 API 和常用的操作。
138 0
|
小程序 JavaScript DataX
小程序 — 实现左滑删除效果②
前言:这章我们为movable-view添加点击事件,完善左滑效果。 GitHub:https://github.com/Ewall1106/miniProgramDemo 1、 拖动事件 (1)在上一章中,我们给movable-view绑定了一个...
1188 0
|
Web App开发 容器
小程序 — 实现左滑删除效果①
前言:实现这个效果有几种方式,大家可以看看这篇文章从京东购物,印象笔记看小程序左滑交互的实现,而我们就使用最新的方案,就是用movable-view来实现左滑删除的效果。
2866 0
|
数据库 网络架构