orawin.info

Niall's Oracle Pages – Oracle Opinion since 2004

Archive for July 7th, 2011

Operating System Interaction

without comments

The excellent Madrid from the otn forums has a nice post here on a particular listener error caused by not following the install instructions precisely. I thought that I’d dig in a little further to illustrate the interplay between the O/S and our wonderful C program that is oracle.exe

The message Hector got was

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=echo.world)(PORT=15
21)))
TNS-12535: TNS:operation timed out
TNS-12560: TNS:protocol adapter error
TNS-00505: Operation timed out
32-bit Windows Error: 60: Unknown error

 

what has happened here is that our program (oracle.exe) has made an o/s call and got an o/s error message that it doesn’t know about. That doesn’t mean that the code is undocumented though. You can find the Windows system error codes at this useful page on MSDN. Here you will find that error 60 means

ERROR_BAD_REM_ADAP – The adaptor is not capable.

Which is a pretty clear indication that there is a network adapter issue. What is slightly more surprising is the error message shown in the trace file. The relevant output is


2011-07-05 15:09:59.249389 : nsc2addr:(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=echo.oracle.com)(PORT=1521)))
2011-07-05 15:09:59.249561 : snlinGetAddrInfo:getaddrinfo() failed with error 11001

The initial line is the Oracle Net  function to extract a host address from the net service name the second line is the actual failure, However the return code 11001 corresponds to a windows socket error in name resolution

The main point to make here is that where Oracle calls os functions and gets unexpected results, then it maybe time to dig into the os calls. MSDN is a great resource for this as is the Windows Internals book.

 

 

Possibly Related Posts:

Written by Niall Litchfield

July 7th, 2011 at 2:57 pm

Posted in Uncategorized

Tagged with , ,