cancel
Showing results for 
Search instead for 
Did you mean: 

Socket error on receive message on MDM 7.1 Console

Former Member
0 Kudos

Greetings -

This may be a simple question, but I couldn't find a solution, so here goes:

I have a new install for MDM:

OS: B.11.31 U ia64 (HP Unix)

MDM: 7.1.0.5

DB: Oracle 10.2.0.4

MDM Console Client : 7.1.0.5.92

I have MDM server and database on same server. When I go to connect to the server

and create a repository for the first time, I get the message "Socket error on receive".

This happens when I go to set my DBMS Settngs as well ...

I didn't see that on my Suse Linux 10 install.

I am looking at the logs, but I don't see what / why the initial call does not go through to the

database to set up connection. I have also put in fake SYSTEM / Password in the settings

and I get the same message. It seems that it doesn't get to the point where it authenticates

to the database(??).

I do have a core file. If I do a 'strings' on the core file, it appears that there is a connection

trying to happen. In the nohup.out file, I see this:

[[excerpt]]

[[INFO]] <MDM/Servers/MDS/MDSCommon/XCSGlobalFunctions.cpp:410> "User authentication method: Repository"

ConnectionAcceptor::ConnectionAcceptor(): bind() failed with errno=0x000000E2 'Address already in use'

Trying again for 120 seconds

[/excerpt]

Though this could be a misleading message ...

Few question:

  • How can I determine how to trace / see how the Console is trying to connect to the

MDM server / database?

  • How can I figure out what address this is talking about?

Is this just a vague error or should I be looking somewhere specific for troubleshooting?

Please advise!

Thanks!

-s

Edited by: Shaunn Johnson on Nov 12, 2010 9:20 PM

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Everyone -

We have a solution, however, it introduces a lot of new things that will require some

investigation. Before I go to that level, let me tell you what we did to resolve:

Recap:

Our MDM installation is on a shared OS (HP Unix) environment. It is not virtual. In short,

we have one large server and multiple application that have their own logical IP Addresses

and hostnames.

When trying to connect from the MDM console (laptop/workstation/etc), through the application

(MDM server) to the database (on the HP Unix system) and create a repository, this is where we

see the 'Socket on receive' error.

Solution:

As per SAP "Note 1264660 - MDM on HP-UX IA crash when used with Oracle 10.2.0.4 client",

part of the problem is because of how Oracle binds to a specific socket. By itself, that

solution did not work. This effects the server side, too. The next steps to fix this were to:

  • extract the SAP OCL10264.SAR files in the shared client directory (/oracle/client/10x_64/instantclient)

  • backup the library files from the server-level area of Oracle (/oracle/<SID>/102_64/lib)

  • stop Oracle, the listener and MDM

  • copy the SAP OCI files (as noted in 1264660) to the /oracle/<SID>/102_64/lib directory also

  • verify the Oracle environment variables

  • restart all systems and services (Oracle, MDM, listener)

Of course, your oracle library paths will vary. Check your LD_LIBRARY_PATH for that location.

We also learned that if we set the LD_LIBRARY_PATH environment variable to where the

oracle client library files were (client side), things should work. We did try that, but it did

not work. At least, we tried it once and started to test other things (including our solution).

Feel free to try that option and update this thread.

Our solution was to copy those files directly into our server path and try again.

Thanks to everyone who took time to look at this!

-s

Former Member
0 Kudos

Hi Johnson,

As per given details, Problem could be as follows

1. Server Problem i.e. make sure MDM and DBMS server should be up and running

2. Network Problem i.e. from client(for e.g. MDM User through MDM GUI) connectivity to MDM server make sure 59950 port open for MDM server and repository port from 2000 to 9999

Note : for more details refer MDM Install and configuration Guide but require SMP Login

Refer follwoing link

https://websmp106.sap-ag.de/~sapidb/011000358700001668492008E

Thanks,

Jignesh Patel

Former Member
0 Kudos

Hi -

I just sent SAP more information.

The MDS and DB server has been running.

As for the ports, they have been manually entered in profile so that I can verify the following:

  • On the OS, execute 'lsof' and see the port bound to the server name

  • Mount the server via the MDM Console

  • See the servers running in the MDM Management Console

  • Review the logs that states that the server is running on port '59950' (the default)

  • Connect to database from command line on the server

  • Connect to database from remote workstation via 'sqlplus' (have to update my

local tnsnames ...)

I also updated the Oracle clients as per SAP note 1264660 - (MDM on HP-UX IA crash when used with

Oracle 10.2.0.4 client) replacing our current oracle client libraries with the HPUX version.

I still get the socket error.

But I'm still trying to find out if there is another way to trace from the workstation to the server

to verify?

Example - in the SAP MDM Management Console, if you look in the section 'Access Points', I can see

'i p address', 'port', 'protocol', 'process name', 'active' session. My IP does show that I'm connected to

the server. There are others as well.

Does this verify that there is network connectivity from my (or any other location) to the MDM systems?

I mean, if I can see the services running from the Console and Management Console ... doesn't that

suggest that the network may not be a problem?

Thoughts?

Former Member
0 Kudos

Hi Johnson,

if I can see the services running from the Console and Management Console ... doesn't thatsuggest that the network may not be a problem?

No, it doesn't mean network problem resolve it's depend upon network request timeout

i would suggest if there is no problem from network and port side then just check MDS.ini file Inactive Client Timeout Minutes option this function is basically for Number. Minutes of inactivity to allow from a client (MDM application, API, service, etc.) before the MDM Server starts sending ping packets to the client. Used to clean up dead connections on networks which kill inactive sockets. If the connection is alive, the pings succeed and nothing else happens. If the connection is dead, the ping attempts ultimately fail and the network informs the MDM Server that the connection is dead. Default is 0 (disabled). See also Client Ping Timeout Minutes

Note: if you make any changes to MDS.ini file need to restart MDS server and load repository

Thanks,

Jignesh Patel

Edited by: jignesh patel on Nov 15, 2010 2:44 PM

Former Member
0 Kudos

Team -

SAP is telling me to reinstall everything and update them if I see an error during the installation.

Something that was interesting was that SAP said that since the ports were not initially in the

profiles, that the installation failed (although it completed with 'successfully installed' message).

How could I know if the installation was successful otherwise (other than 'Does MDM run?').

Probably a rhetorical question, but if the logs says successful and the services are running

and there are no errors in the logs (other than SLD) - how can I be sure?

I will reinstall and update this thread. Stay tuned.

Thanks!

--