Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド 11g リリース 1 (11.1.1) B61375-04 |
|
前 |
次 |
ビルトインのブロードキャスト・メカニズムを使用中に、複数のサブネット間で通信の問題が発生した場合、Oracle Reports Bridgeに関連している可能性があります。
問題1
Oracle Reports Bridgeのトレース・ファイルには、次の情報が含まれます。
[2005/12/8 1:45:7:339] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.oracle.com/130.35.37.76:14011[2005/12/8 1:45:8:340] Debug 50103 (BridgePacketHandler:handleRequestPacket): Gotresponse from remote subnet null[2005/12/8 1:45:8:991] Error 64013 (BridgeConnection:getResponsePacket):Bridge failed to serve the requestjava.net.ConnectException: Connection refused:connect
解決策1
リモートのOracle Reports Bridgeが実行されていません。第6.2項「Oracle Reports Bridgeの起動と停止」の説明に従って、Oracle Reports Bridgeを起動します。
問題2
[2005/12/8 1:50:34:219] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.oracle.com/130.35.37.76:14011[2005/12/8 1:50:34:469] Debug 50103 (NetworkUtility:write): Writing ......[2005/12/8 1:50:34:469] Debug 50103 (NetworkUtility:read): Reading ......[2005/12/8 1:50:35:220] Debug 50103 (BridgePacketHandler:handleRequestPacket): Gotresponse from remote subnet null
さらに、リモート・サブネット(Reports Serverが配置されているサブネット)にあるOracle Reports Bridgeのトレース・ファイルには、次の情報が含まれます。
[2005/12/8 2:36:59:997] Debug 50103 (Multicast:registerReceiver): Packet handlerregistered[2005/12/8 2:37:1:16] Info 65003 (NetworkUtility:getIOR): Request timed out [2005/12/8 2:37:2:19] Info 65003 (NetworkUtility:getIOR): Request timed out[2005/12/8 2:37:3:30] Info 65003 (NetworkUtility:getIOR): Request timed out[2005/12/8 2:37:3:31] Debug 50103 (NetworkUtility:getIOR): No response from serverretuning null ior[2005/12/8 2:37:3:32] Info 50103 (Multicast:registerReceiver): Packet handlerunregistered[2005/12/8 2:37:3:32] Debug 50103 (NetworkUtility:write): Writing ......
解決策2
Reports Serverがリモート・サブネットで実行されていません。第6.1項「Reports Serverの起動と停止」の説明に従って、Reports Serverを起動します。
比較のために、次のサンプル出力で、Oracle Reports BridgeがReports Serverの検出に成功した場合におけるOracle Reports Bridgeのトレースを示します。
[2005/12/8 4:4:6:700] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.oracle.com/130.35.37.76:14011[2005/12/8 4:4:6:950] Debug 50103 (NetworkUtility:write): Writing ......[2005/12/8 4:4:6:950] Debug 50103 (NetworkUtility:read): Reading ......[2005/12/8 4:4:7:932] Error 50103 (BridgeConnection:run): Got response[2005/12/8 4:4:7:942] Debug 50103 (BridgePacketHandler:handleRequestPacket):Got response from remote subnet Response Packet -ServerName = vinCorrelationID = 1134056309492SenderID = ServerName: vinVMID: 7e444dbc56c79b06:f9c40:10809ddbdaf:-8000Duplicate = falseType = FULLAdd. Info = Type = server : Host = usunrao06.oracle.com
問題3
Reports Serverはリモート・サブネット上で実行されており、Oracle Reports Bridgeは両方のサブネット上で実行され正しく構成されていますが、Oracle ReportsクライアントはリモートReports Serverに接続できません。これは、ブリッジ構成ファイルのタイムアウトの設定値が不適切であることが原因となっている場合があります。このような場合、ローカル・サブネット(クライアントが配置されているサブネット)にあるOracle Reports Bridgeは、リモート・サブネットにあるOracle Reports Bridgeが応答する前に、タイムアウトになる場合があります。
解決策3
Oracle Reports Bridge構成ファイル(rwbridge.conf
)のタイムアウト値を大きくします。例:
<bridge version="10.1.2" port="14011" timeout="2000">
ローカル・サブネットにあるOracle Reports Bridgeは、リモート・サブネットにあるOracle Reports Bridgeからのレスポンスを、タイムアウトになるまで待ちます。ネットワークの接続速度が低いと、Oracle Reports Bridgeがタイムアウトになる場合があります。さらに、Oracle Reports Bridgeが応答する前にOracle Reportsクライアントがタイムアウトにならないように、ネットワーク構成ファイル(rwnetwork.conf
)のタイムアウト値を大きくします。例:
<multicast channel="228.5.6.7" port="14021" timeout="1000" retry="3"/>
一般的には、Oracle Reports Bridgeのタイムアウトを設定する場合は、次の手順を実行します。両方のブリッジが正しく構成されていることを前提とします。
ローカル・サブネットにあるOracle Reports Bridgeに、非常に大きなタイムアウト値を設定します。
両方のOracle Reports Bridgeを起動します。
(リモート・サブネットにある)Reports Serverを起動します。
ローカル・サブネットで、次のコマンドを使用してrwdiag
ユーティリティを実行します。
rwdiag -find server_name
このコマンドによって、Oracle Reports BridgeでリモートReports Serverを検出するのに要する時間が出力されます。例:
D:\orawin\reports\conf>rwdiag -find vin Broadcast mechanism used to locate servers ------------------------------------------ Channel address = 228.5.6.7 Channel port = 14021 'vin' found in the network Time taken - 1181 milliseconds Name = vin : Type = server : Host = usunrao06.oracle.com
この例では、Oracle Reports BridgeはリモートReports Serverの検出に1181ミリ秒かかっています。
次のように、ローカル・サブネットにあるOracle Reports Bridgeのタイムアウト値を予測します。
timeout = 1181 * 1.3
これは、約1500ミリ秒になります。
repbrg_bridgename.conf
ファイルにタイムアウト値を設定します。例:
<bridge version="10.1.2" port="14011" timeout="1500">
rwnetwork.conf
ファイルのタイムアウト値が、次の条件に従っているか確認します。
timeout (in rwnetwork.conf) * retry (in rwnetwork.conf) > timeout (in repbrg_bridgename.conf)
例:
timeout (in rwnetwork.conf) * 3 > 1500
したがって、rwnetwork.conf
のtimeoutの値は、1500
以上にする必要があります。
問題4
どのOracle Reports Bridgeが構成されサブネットで実行されているか確認することが必要になる場合もあります。
解決策4
rwdiag
ユーティリティを使用して、すべてのReports ServerとOracle Reports Bridgeを検出します。たとえば、次のようなコマンドを実行します。
rwdiag -findall
このコマンドにより、次の例のような出力が生成されます。
C:\>rwdiag -findall Broadcast mechanism used to locate servers ------------------------------------------ Channel address = 228.5.6.7 Channel port = 14021 (1) Name = bugupdate : Type = server : Host = strep15.idc.oracle.com (2) Name = rep_supadhya-pc_frhome1 : Type = server : Host =supadhya-pc.idc.oracle.com (3) Name = vinod : Type = server : Host = strep10.idc.oracle.com (4) Name = rep_strep10 : Type = server : Host = strep10.idc.oracle.com (5) Name = abc : Type = bridge : Host = strep12.idc.oracle.com (6) Name = rep_stfrm08_frhome1 : Type = server : Host = stfrm08.idc.oracle.com (7) Name = rep_stport79_as101202mid : Type = server : Host =stport79.idc.oracle.com (8) Name = rep_iwinreb20_0508041930_bif : Type = server : Host =iwinreb20.oracle.com C:\>
rwdiagユーティリティの詳細は、付録E「Reports Serverとブリッジの診断ユーティリティ」を参照してください。