วันอังคารที่ 2 มิถุนายน พ.ศ. 2552

REP-51002: Bind To Reports Server Failed and Exception 50125: "Network is unreachable" With Multicasting

  Doc ID: 577958.1 Type: PROBLEM
  Modified Date : 18-AUG-2008 Status: PUBLISHED

In this Document
  Symptoms
  Changes
  Cause
  Solution
     Additional Information
  References


Applies to:

Oracle Reports Developer - Version: 10.1.2.0.2
This problem can occur on any platform.

Symptoms

Reports Server 10.1.2.0.2
There is just one NIC (networking card) setup in this box
Linux x86 release 4.5

nslookup <hostname.domain> is working fine

HTTP listener is working: http://hostname.domain:7778
WebCache listener is working, too: http://hostname.domain:7777

Trying to execute a simple url like getserverinfo, showjobs or a simple test.rdf report displays REP-51002 in the web browser:

Exception 51002 (): Bind to Reports Server <rep_server_name> failed

Per rwservlet.trc, there is a "Network is unreachable" error message before generic REP-51002:

Exception 50125 (java.io.IOException: Network is unreachable
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:611)
at oracle.reports.comm.Multicast.send(Multicast.java:261)
at oracle.reports.comm.Multicast.send(Multicast.java:251)
at
oracle.reports.comm.NetworkUtility.getResponsePacket(NetworkUtility.java:257)
at oracle.reports.comm.NetworkUtility.getIOR(NetworkUtility.java:172)
at oracle.reports.comm.NetworkUtility.getIOR(NetworkUtility.java:231)
at oracle.reports.server.RWServer.startServer(RWServer.java:840)
at oracle.reports.server.RWServer.run(RWServer.java:287)
at java.lang.Thread.run(Thread.java:534)
): Internal error java.io.IOException: Network is unreachable
..
Exception 51002 (): Bind to Reports Server rep_apps_oracleas1 failed
oracle.reports.RWException: IDL:oracle/reports/RWException:1.0
at oracle.reports.utility.Utility.newRWException(Utility.java:756

Per rwdiag.sh -findAll, broadcast mechanism (multicast) is used to locate servers, and it is displaying REP-50503 because the in-process reports server is not recognized:

$rwdiag.sh -findAll

Broadcast mechanism used to locate servers
------------------------------------------
Channel address = 228.5.6.7
Channel port = 14021

REP-50503 No server found in the network
--------------------------------------------

Per ipm.log same "Network is unreachable" error was reported in other layers intermittently like WebCache,  HTTP Server and OC4J_BI_Forms:

08/05/17 22:59:26 [4] [libopmnwc] Process Ping Failed: WebCache~WebCache~WebCache~1 (2106982428:18120) [Network is unreachable]
...
08/05/18 17:10:34 [4] [libopmnohs] Process Ping Failed:HTTP_Server~HTTP_Server~HTTP_Server~1
(427819100:14938) [Network is unreachable]
08/05/18 17:10:34 [3] [libopmnoc4j] Could not connect to socket while pinging an OC4J process
08/05/18 17:10:34 [4] [libopmnoc4j] Process Ping Failed: OC4J~OC4J_BI_Forms~default_island~1
(427819104:14941)
08/05/18 17:10:34 [4] Job 0 33428 result: ias_admin.app.oracle.com~OC4J~OC4J_BI_Forms~default_island~427819104:14941
Status: Alive
Operation: internal (Network is unreachable)

Those layers are working fine, and the error there was reported once and later, the status of those layers indicated they started successfully:

http://<hostname.domain>:<port_for_http>
and
http://<hostname.domain>:<port_for_WebCache>

OC4J_BI_Forms is alive and Forms by itself is working fine, inclusive:

http://<hostname.domain>:<port>/forms/lservlet
http://<hostname.domain>:<port>/forms/frmservlet

Changes

Brand new installation of 10.1.2.0.2 base release.
The midtier software has been installed in two different ORACLE_HOMES  in the same machine and both fail with same REP-51002 error message.

Cause

The default broadcast mechanism is not working as expected.

Solution

A) Verify if your Default Gateway at networking level is configured for the NIC. The Default Gateway information could be displayed executing 'netstat -anr'.

Example of not configured Gateway (it is displayed with 0's):

$ netstat -anr

Kernel IP routing table
Destination    Gateway   Genmask       Flags MSS Window irtt   Iface
##.###.###.#   0.0.0.0     255.255.0.0   U       0       0            0      eth0
10.10.10.0      0.0.0.0     255.255.0.0   U       0       0            0      eth0

For more details about configuring your Default Gateway, please consult your network administrator.

B) If the same error continues after setting your Default Gateway, follow the suggestions indicated in  Note 337619.1 "How to Switch Between Multicast and NamingService in Reports 10.1.2". Remember to backup OH/reports/conf/rwnetwork.conf file before applying the changes.

1) Make sure your hostname is the correct one configured at networking level and used when your middle tier software was installed. In the following example our hostname is myhost.oracle.com:

$ ping myhost.oracle.com
$ nslookup myhost.oracle.com:
$ nslookup <ip-address>

2) Disable multicast tag commenting it  adding "<!--" at the beginning and "-->" at the end of the tag
Enable namingService deleting "<!--" at the beginning and "-->" at the end of the tag

Change FROM:

<discoveryService>
<multicast channel="228.5.6.7" port="14021" timeout="1000" retry="3"/>
<!--namingService name="Cos" host="%NAMING_HOST%" port="%NAMING_PORT%"/-->
</discoveryService>

TO:

<discoveryService>
<!--multicast channel="228.5.6.7" port="14021" timeout="1000" retry="3"/-->
<namingService name="Cos" host="myhost.oracle.com" port="14021"/>
</discoveryService>

The default ports are usually 14021 or 14022. Make sure the port that namingService is using is open in case you have a firewall or something in between and it is not in use.

3) Start the naming service manually using the port you configured in rwnetwork.conf,

$ namingservice.sh 14021 &

$ ps -ef | grep namingservice

3) You can test if your switch to namingService is working fine before starting up the middle tier, inclusive. It should indicating Naming service is used to locate the repservers:

rwdiag.sh -findall

Naming service used to locate servers
-------------------------------------
Naming Server host = localhost
Naming Server port = 14021

REP-50503 No server found in the network

If you do not startup your middle tier or your reports server yet, it will display REP-50503.

4) Startup you midtier again to startup your in-process reports server and test:

$ opmnctl startall

Reports Server should execute the report successfully now:

http://myhost.oracle.com:7778/reports/rwservlet?report=test.rdf&destype=cache&desformat=html
or
$ORACLE_HOME/bin/rwclient.sh server=<repserver_name> report=test.rdf destype=FILE desname=/tmp/test.pdf desformat=pdf

Additional Information

By default, namingService has to be started manually. If you confirmed namingService is working in your environment, you can integrate namingService with OPMN later. You need to review if you are using in-process reports server or standalone before integrating namingService.

Review it executing the following url:

http://hostname:port/reports/rwservlet/getserverinfo?server=<repserver_name>

It will indicate if your reports server is a standalone or an in-process.

a) For in-process reports server use:

Note 393222.1 "How to Configure opmn to Start namingservice Before OC4J_BI_Forms"


b) For standalone reports servers:

Note 367567.1 "How To Integrate Naming Service With OPMN?"

References

Note 337619.1 - How to Switch Between Multicast and NamingService in Reports 10.1.2
Note 337621.1 - Report Calls Fail with Rep-51002 in Reports Version 10.1.2 With Multicasting
Note 367567.1 - How To Integrate Naming Service With OPMN?
Note 393222.1 - How to Configure opmn to Start namingservice Before OC4J_BI_Forms

Keywords

MULTICAST ; ORACLE.REPORTS.RWEXCEPTION ; JAVA.IO.IOEXCEPTION ; 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น