转载自:http://blog.csdn.net/li7080301/article/details/32707963
环境信息:
EBS----------------12.1.3
RDBMS-----------11.2.0.3.0
OS-----------Linux 5
Symptoms
最近客户在测试环境做UAT测试,但是所有报表请求报红。错误如下:
REP-0004: 警告: 无法打开用户首选项文件。
REP-3000: 启动 Oracle Toolkit 时发生内部错误。
REP-3000: 启动 Oracle Toolkit 时发生内部错误。
REP-0069: 内部错误
REP-57054: In-process job terminated:Terminated with error:
REP-3000: 启动 Oracle Toolkit 时发生内部错误。
Cause
这个错误是很常见的。基本可以定位原因为DISPLAY设置问题。
客户测试环境时最新克隆的,查了一下$CONTEXT_FILE里display的设置为ebstest:0.0,服务器又没有启用0端口的VNC,所以就直接启动了VNC 0端口,请求还是报红。
export DISPLAY=ebstest:0.0再重启forms,还是出错,很奇怪。
于是跑了一下非报表的请求,请求成功运行完成。为什么所有的报表都不行?
Solution
最后根据note:ID 742122.1中提示,查看了一下应用层$ORACLE_HOME/bin/reports.sh里DISPLAY的值,脚本中DISPLAY为ebsapp:1.0该值为正式环境的设置。
也就是说在clone的时候reports.sh里的DISPLAY没有改变。
note中说明如下:
The issue was found to be caused by the DISPLAY variable used by reports still being set to the source instance and since the server name for the old node is not resolved by DNS, reports is unable to connect to it. The script appsrwrun.sh calls reports.sh, in this file the DISPLAY variable is reset and reports.sh was not updated by cfgclone/autoconfig to a new DISPLAY value.
最后将reports.sh中DISPLAY修改为ebstest:0.0,重启forms,问题解决。。。。