D.8 Diagnosing Oracle Reports Bridge Problems

Issues in communication across subnets while using the built-in broadcast mechanism may be related to the Oracle Reports bridge.

problem 1

The Oracle Reports bridge trace file contains the following information:

[2005/12/8 1:45:7:339] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.us.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

Solution 1

The remote Oracle Reports bridge is not running. Start the Oracle Reports bridge, as described in Section 6.2, "Starting and Stopping Oracle Reports Bridge"

Problem 2

[2005/12/8 1:50:34:219] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.us.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

Additionally, the Oracle Reports bridge trace file in the remote subnet (the subnet where Reports Server is located) contains the following information:

[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 ......

Solution 2

Reports Server is not running on the remote subnet. Start Reports Server, as described in Section 6.1, "Starting and Stopping Reports Server"

For comparison, the following sample output shows the Oracle Reports bridge trace for the scenario where the Oracle Reports bridge successfully discovers Reports Server:

[2005/12/8 4:4:6:700] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.us.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.us.oracle.com

Problem 3

Reports Server is running on the remote subnet, Oracle Reports bridges are running on both the subnets and are configured properly, but the Oracle Reports clients are not able to connect to the remote Reports Server.This may be caused by an improper setting of timeout value in the bridge configuration file. In this case, the Oracle Reports bridge in the local subnet (the subnet where the client is located) may time out before the Oracle Reports bridge in the remote subnet can respond.

Solution 3

Increase the timeout value in the Oracle Reports bridge configuration file (rwbridge.conf). For example:

<bridge version="10.1.2" port="14011" timeout="2000">

The Oracle Reports bridge in the local subnet waits for the timeout period to get a response from the Oracle Reports bridge in the remote subnet. The Oracle Reports bridge may time out if the network connectivity is slow.Additionally, increase the timeout value in the network configuration file (rwnetwork.conf) to avoid the timeout of Oracle Reports clients before the Oracle Reports bridge responds. For example:

<multicast channel="228.5.6.7" port="14021" timeout="1000" retry="3"/>

In general, perform the following steps to set the Oracle Reports bridge timeout. It is assumed that both bridges are configured properly.

  1. Set a very high timeout value for the Oracle Reports bridge in the local subnet.

  2. Start both Oracle Reports bridges.

  3. Start Reports Server (in the remote subnet).

  4. In the local subnet, run the rwdiag utility with the following command:

    rwdiag -find server_name

    This command prints the time that the Oracle Reports bridge takes to discover the remote Reports Server. For example:

    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.us.oracle.com
    

    In this example, the Oracle Reports bridge has taken 1181 milliseconds to discover the remote Reports Server.

  5. Estimate the timeout value for the Oracle Reports bridge located in the local subnet as follows:

    timeout = 1181 * 1.3
    

    which is about 1500 milliseconds.

  6. Set the timeout value in the repbrg_bridgename.conf file. For example:

    <bridge version="10.1.2" port="14011" timeout="1500">
    
  7. Confirm that the timeout value in the rwnetwork.conf file complies with the following:

    timeout (in rwnetwork.conf) * retry (in rwnetwork.conf) > timeout (in repbrg_bridgename.conf)
    

    For example:

    timeout (in rwnetwork.conf) * 3 > 1500
    

    Therefore, the value of timeout in rwnetwork.conf should be 1500 or higher

Problem 4

You want to find out which Oracle Reports bridges are configured and running in the subnet.

Solution 4

Use the rwdiag utility to locate all Reports Servers and Oracle Reports bridges. For example, run the following command:

rwdiag -findall

This command generates output similar to the following example:

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.us.oracle.com
C:\>

For more information on the rwdiag utility, refer to Appendix E, "Reports Server and Bridge Diagnostic Utility".