一、环境
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 会自动在<oraclehome>\reports\conf下创建rep16_1.cluster1.conf 和rep16_2.cluster1.conf两个文件。
1.1 修改这两个文件, 添加两个环境
<environment id=”utf8″>
<envvariable name=”nls_lang” value=”american_america.utf8″/>
</environment>
<environment id=”zhs”>
<envvariable name=”nls_lang” value=”simplified chinese_china.zhs16gbk”/>
</environment>
1.2 添加诸如报表路径,临时目录, 默认环境id
<engine id=”rweng” class=”oracle.reports.engine.engineimpl” initengine=”1″
maxengine=”1″ minengine=”0″ englife=”50″ maxidle=”30″ callbacktimeout=”60000″>
<property name=”sourcedir” value=”c:\geo;c:\windows\fonts”/>
<property name=”tempdir” value=”c:\geo”/>
<property name=”defaultenvid” value=”zhs”/>
<!–property name=”sourcedir” value=”your reports source directory”/–>
<!–property name=”tempdir” value=”your reports temp directory”/–>
<!–property name=”keepconnection” value=”yes”/–>
</engine>
2. 创建供这两个report service单独使用的public key 和private key 文件。在命令行下运行
c:\oracle\ias\reports\jlib>rwgenkey pub.key priv.key
oracle 在当前目录c:\oracle\ias\reports\jlib创建了两个key文件.
3. 在report service的.conf文件里包含这两个key,
<connection maxconnect=”20″ idletimeout=”15″>
<orbclient id=”rwclient” publickeyfile=”clientpub.key”/>
<!–cluster publickeyfile=”serverpub.key” privatekeyfile=”serverpri.key”/–>
<cluster publickeyfile=”c:\oracle\ias\reports\jlib\pub.key” privatekeyfile=”c:\oracle\ias\reports\jlib\priv.key”/>
</connection>
4. 重新启动两个report service.
5. 在应用里对原来report server的请求改为对cluster1的请求.
serverurl仍旧使用原有的/report/rwservlet
6. 测试报表, 报错,
http://192.168.0.16/reports/rwservlet/showjobs?server=rep16_1.cluster1 和
http://192.168.0.16/reports/rwservlet/showjobs?server=rep16_2.cluster1
发现报表实际上是完成了, 可惜, 没有拿到
