一、环境
1. DB1 : 10g, Redhat linux AS3.0
IP : 192.168.0.14
2. AS1 : win2003, iAS10 with form&report only
IP: 192.168.0.16
fmx and rep : c:\geo
iAS Home : c:\oracle\ias
report server : rep_test03, rep10g
3. AS2 : win2000, iAS10 with form&report only
IP : 192.168.0.43
fmx and rep : c:\geo
report server : rep_load
二、步骤
我计划测试两种方式,一种是两个report server 在同一台机器, 另一种方式为两个分别在不同的机器上.
首先,测试在同一台机器的情况, 采用第二台机器AS1
1. 创建两个report service, 在命令行方式下分别运行
c:\oracle\ias>rwserver -install rep16_1.cluster1
c:\oracle\ias>rwserver -install rep16_2.cluster1
Oracle 询问是否创建该服务,确认. 在“服务”里, 启动这两个服务,oracle 会自动在
1<oraclehome>\reports\conf下创建rep16_1.cluster1.conf 和rep16_2.cluster1.conf两个文件。
21.1 修改这两个文件, 添加两个环境
3<environment id="UTF8">
4<envvariable name="NLS_LANG" value="AMERICAN_AMERICA.UTF8"></envvariable>
5</environment>
6<environment id="zhs">
7<envvariable name="NLS_LANG" value="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"></envvariable>
8</environment>
91.2 添加诸如报表路径,临时目录, 默认环境ID
10<engine callbacktimeout="60000" class="oracle.reports.engine.EngineImpl" englife="50" id="rwEng" initengine="1" maxengine="1" maxidle="30" minengine="0">
11<property name="sourceDir" value="c:\geo;C:\WINDOWS\Fonts"></property>
12<property name="tempDir" value="c:\geo"></property>
13<property name="defaultEnvId" value="zhs"></property>
14<!--property name="sourceDir" value="your reports source directory"/-->
15<!--property name="tempDir" value="your reports temp directory"/-->
16<!--property name="keepConnection" value="yes"/-->
17</engine>
18
192\. 创建供这两个report service单独使用的public key 和private key 文件。在命令行下运行
20c:\oracle\ias\reports\jlib>rwgenkey pub.key priv.key
21Oracle 在当前目录c:\oracle\ias\reports\jlib创建了两个key文件.
22
233\. 在report service的.conf文件里包含这两个key,
24<connection idletimeout="15" maxconnect="20">
25<orbclient id="RWClient" publickeyfile="clientpub.key"></orbclient>
26<!--cluster publicKeyFile="serverpub.key" privateKeyFile="serverpri.key"/-->
27<cluster privatekeyfile="C:\Oracle\ias\reports\jlib\priv.key" publickeyfile="C:\Oracle\ias\reports\jlib\pub.key"></cluster>
28</connection>
29
304\. 重新启动两个report service.
31
32
335\. 在应用里对原来report server的请求改为对cluster1的请求.
34serverURL仍旧使用原有的/report/rwservlet
35
366\. 测试报表, 报错,
37http://192.168.0.16/reports/rwservlet/showjobs?server=rep16_1.cluster1 和
38http://192.168.0.16/reports/rwservlet/showjobs?server=rep16_2.cluster1
39发现报表实际上是完成了, 可惜, 没有拿到</oraclehome>