报错日志:
[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' ;