Section 1: Overview
Oracle Forms and Reports 10.1.2.x as used by Oracle E-Business Suite Release 12 are components of Oracle Application Server 10.1.2. The latest version in Oracle E-Business Suite Release 12 is Oracle Reports version 10.1.2.3.In Oracle E-Business Suite Release 12, all reports are submitted online through the concurrent manager, as there is no standalone reports server.
When a customer submits a report through the concurrent request screen, the
$INST_TOP/ora/10.1.2/bin/appsrwrun.sh
script is called. This script
sets Oracle Application specific settings required for running the report,
executes $ORACLE_HOME/bin/reports.sh
to set the reports
environment, and then calls 10.1.2 $ORACLE_HOME/bin/rwrun
to
execute the report.Reports (rdf files) are placed under
$PROD_TOP/reports/US
in
Release 12. The Oracle Reports user exits available in Oracle E-Business Suite
are found in $FND_TOP/bin/fndrwxit.so
(or
fndrwxit.sl
).In UNIX, we have an environment variable
REPORTS_DEFAULT_DISPLAY
(defined under 10.1.2 $ORACLE_HOME/bin/reports.sh
). This tells
reports to use DISPLAY of a third party like XVFB,VNC or to use headless
operations available in JDK on 10.1.2 ORACLE_HOME.
REPORTS_DEFAULT_DISPLAY=YES
means DISPLAY is not needed and the report is
able to use headless operations from JDK for operations that need graphical or
image generation work.REPORTS_DEFAULT_DISPLAY=NO
means DISPLAY is needed and the
report depends on the DISPLAY parameter set correctly to the third party
XVNC/XVBF displays. REPORTS_DEFAULT_DISPLAY=NO
is set for AIX
only.REPORTS_SERVER_CONFDIR
is used to specify where the
rwbuilder.conf
file will reside. This can be set to a directory
that the user running the reports can write. The rwbuilder.conf
file will be copied into this directory and used by the reports executables.
This variable is set to $INST_TOP/ora/10.1.2/reports/conf
in APPS
instance.Section 2: How to Debug Report Issues
2.1 Steps to Run a Report from Command Line2.2 Further Debugging
When you receive a report issue, you must first assess whether the issue stems from the reports layer or is a concurrent program issue. To figure this out, you need to run a report from the command line.
2.1 Steps to Run a Report from Command Line
Take the following steps to run a report from the command line.- Enable trace in the report so the command used to submit it will appear in
the log file.
- Log in to Oracle Applications as a user who has system administrator
responsibilities.
- As system administrator, navigate to the Define Concurrent Program Screen
and query the report.
- Check the box next to Enable Trace.
- Save the record.
- Log in to Oracle Applications as a user who has system administrator
responsibilities.
- Switch responsibilities and submit the concurrent request to run the
report.
- You will get full reports command in concurrent program log file.
- Log into the middle tier and source the environment.
- Now run the command from the command line after adding userid=userid/password with this command.
opatch lsinventory
command.2.2 Further Debugging
If all patches have been properly applied in the customer's instance and the customer is still receiving this error, it may be a new issue. Review the following points for further debugging:- 2.2.1:
- As the reports temp file is created here, check to make sure enough space is available for reports temp file creation in this directory.
- The reports cache file is created in this directory. Check
$INST_TOP/ora/10.1.2/reports/conf/rwbuilder.conf
file forREPORTS_CACHE
directory path. Enough space should be available for reports cache file creation in this directory. - Please follow My Oracle Support Knowledge Document 1812.1, TECH: Getting a Stack Trace from a CORE file on Unix, for generating stacktrace from reports core file.
- Verify whether all reports one-off patches have been applied in the
customer's instance and all post-installation steps are executed properly if
they are still receiving errors when dealing with a large volume of
data.
You can also check the size of reports temp and cache file with the following commands in Linux (during reports execution).lsof|grep <reports process id>|grep dat
lsof|grep <reports process id>|grep cache)
- Under the system administrator responsibility, navigate to the Define
Concurrent Programs form (Concurrent -> Program -> Define).
- Query the reports by entering the reports name in the program field.
- Check 'Enable Trace' in the request section and save the record.
- Submit the concurrent request to run the reports. DB trace file will be
generated under
USER_DUMP_DEST
. Check the trace file with the string*CR<concurrent_request_id>*
in this directory (for example,-txkr12d2_ora_17752_SYSADMIN_CR40362585.trc
). You can runtkprof TRACE_FILE_NAME
to generate thetkprof
output from this trace file.
df -kh
output of $REPORTS_TMP
df -kh
output of
$INST_TOP/logs/ora/10.1.2/reports/cache
ls -ltr
10.1.2 $ORACLE_HOME/bin/reports.sh
.
You must verify whether customer has the latest reports.sh
under
$ORACLE_HOME/bin
. We have seen some report issues where the
customer has an old reports.sh
file in 10.1.2
$ORACLE_HOME/bin
which will set the wrong
LD_LIBRARY_PATH
.2.2.5:Review the strace output of reports command. You can take strace output of reports command with the following command (you need to run the report from command line here):
strace -o reports .out -f <entire reports
command with userid/password>
2.2.7:Customers often cite a crash when they are running reports containing a large volume of data. Currently, there is no limitation on the reports temp file size and output file size, provided that the customer has applied all reports one-off patches from My Oracle Support Knowledge Document 437878.1, Upgrading OracleAS 10g Forms and Reports in Oracle E-Business Suite Release 12, and
CA_FILEIO_64
is defined to YES in the
customer's instance (already included in template fix 9413844). rwfpngposition
' when number of pages in report output
exceeds 65535 and the report uses page numbering format "m of N". There is no
fix for this issue yet. Respective product teams need to change their page
numbering format to "m" to avoid such issues. The customer may be hit by this
also while running a report with a large volume of data. We need to contact
owner of the rdf file to modify the page numbering format.2.2.9:You can increase the heap size in jvmOptions in
$INST_TOP/ora/10.1.2/reports/conf/rwbuilder.conf
to check the
reports execution with more jvm memory.Change the following lines:
<engine id="rwEng"
class="oracle.reports.engine.EngineImpl"
initEngine="1" maxEngine="1"
minEngine="0" engLife="50" maxIdle="30"
callbackTimeOut="60000">
<engine id="rwEng"
class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1"
minEngine="0" engLife="50"
maxIdle="30"
callbackTimeOut="60000"
jvmOptions="-Xms512m -Xmx512m">
-java.lang.OutOfMemoryError.
2.2.10:You may need to review the reports trace for debugging a report issue. Enabling reports tracing generates a text file that describes the series of steps completed during the execution of the reports. Tracing can be set to capture all events or just specific types of events.
Under the system administrator responsibility, navigate to the Define Concurrent Programs form.
From here, click on Concurrent -> Program -> Define.
Query the report by entering the report name in the Program field.
Check 'Enable Trace' in the 'Request' section. Enter your trace options in the 'Options' field in the 'Executable' section using the format:
TRACEOPTS=< >TRACEFILE=< >
TRACEMODE=< >
The following table is a list of possible trace options:
Trace Options | Description |
---|---|
TRACE_ALL |
Log all possible trace information in the trace file (default option). |
TRACE_APP |
Log trace information on all the reports objects in the trace file. |
TRACE_BRK |
List all breakpoints in the trace file. |
TRACE_DBG |
Log debug information. |
TRACE_DST |
List distribution lists in the trace file. |
TRACE_ERR |
List error messages and warnings in the trace file. |
TRACE_EXC |
List Reports Server exceptions. |
TRACE_INF |
Dumps any information not covered by the other options. |
TRACE_LOG |
Duplicate log information in your trace file. |
TRACE_PLS |
Log trace information on all the PL/SQL objects in the trace file. |
TRACE_PRF |
Log performance statistics in the trace file. |
TRACE_SQL |
Log trace information on all the SQL in the trace file (includes binds). |
TRACE_STA |
Provide server and engine state information. |
TRACE_TMS |
Enter a timestamp for each entry in the trace file. |
TRACE_WRN |
List server warning messages. |
TRACEOPTS=(TRACE_APP, TRACE_PRF) |
To use multiple options, list options in parentheses. |
TRACEFILE=Any valid file name including the full path to
the file |
Specify the report trace file name. |
TRACEMODE=TRACE_APPEND |
Add the new information to the end of the file. |
TRACEMODE=TRACE_REPLACE |
Overwrite the file. |
TRACEOPTS=< >TRACEFILE=< >
TRACEMODE=<> |
Collect reports trace file by adding tracing options to the end of the reports command line. |
Note: You will receive the following
exception in the reports trace file:
Exception 50125 (org.omg.CORBA.OBJ_ADAPTER: vmcid: SUN minor
code: 202 completed: Maybe
at
com.sun.corba.se.internal.corba.ORB.disconnect(Unknown Source)
at
oracle.reports.server.ConnectionManager.release(ConnectionManager.java:183)
at
oracle.reports.server.ConnectionImpl.disconnect(ConnectionImpl.java:660)
at
oracle.reports.client.ReportRunner.releaseConnection(ReportRunner.java:333)
at
oracle.reports.definition.RWServerInProcess.release(RWServerInProcess.java:368)
at
oracle.reports.definition.RWServerInProcess.showProgress(RWServerInProcess.java:360)
at
oracle.reports.definition.RWServerInProcess.run(RWServerInProcess.java:198)
):
Internal error org.omg.CORBA.OBJ_ADAPTER: vmcid: SUN minor code: 202 completed:
Maybe
This is not an error message. This exception is found
in all reports trace files. This can be ignored while analyzing the report trace
files.You can also apply Patch 5659594 in 10.1.2 ORACLE_HOME.With this patch you will
not see these warning messages in reports trace file. 2.2.11:If you want to check the values of environment variables during reports execution, you need to run
modify appsrwrun.sh
. To do so, add env>
/tmp/envvalues.out
just before -exec $ORACLE_HOME/bin/rwrun
"$@"
command in
$INST_TOP/ora/10.1.2/bin/appsrwrun.sh
.You can also modify
appsrwrun.sh
to take strace output of the report command if your
customer does not feel comfortable with running the report from command line or
if the report is executed from some product executable file. For that you need
to modify appsrwrun.sh
with the following:
exec strace -o /tmp/strace.out -f
$ORACLE_HOME/bin/rwrun "$@"
- 2.2.13:
- Customer may get -
JVMCI161: FATAL ERROR in native method :Wrong method ID used to invoke a Java method
error in AIX while executing report.Customer needs to upgrade jdk to 1.6/1.7 in 10.1.2 ORACLE_HOME for this issue. - Reports-idleTimeout is set to 90000
Long running reports-idleTimeout is set to 90000 in$INST_TOP/ora/10.1.2/reports/conf/rwbuilder.conf
, allowing you to run reports that takes up to 90000 minutes.
- Cache Directory Cleaning
In Oracle E-Business Suite, report cache files are cleared automatically after report execution is completed if<property name="cacheSize" value="0"/>
and<property name="noVoidedOutputError" value="yes"/>
are inrwbuilder.conf
and if Patch 14374587 is applied in10.1.2 ORACLE_HOME
.
JVMCI161: FATAL ERROR in native method error in AIX
Note: Concerning the rwconverter issue, note
that if you need to try manual recompilation while debugging rwconverter issue,
you need to set
DE_DISABLE_PLS_512=0
before executing rwconverter.
During compilation through adadmin
, this variable is set by ad
scripts. During reports execution through the concurrent program,
appsrwrun.sh
takes care of this environment variable.
No comments:
Post a Comment