Hi,

im struggling with a listener issue. I have several Oracle/SAP environments i am responsible for. Most of them run fine but on some i get the error: TNS-12541: TNS:no listener. On one of them this occurs quite a lot actually.
So what is the case?
Im running Oracle 10.2.04 on windows 2003, of course the listener is running (DUH). Also the tnsnames.ora sqlnet.ora and listener.ora are defined properly. Most of the cases it is not even causing issues (since it SAP is running on top of it). However some actions do start a process outside the SAP instance, like applying a SAP transport. And on those cases sometimes I get the above mentioned error.
So I got suspicious and started a tnsping in a loop. It turns out the 12541 pops up quite regularly, enough to make me worried. The frequency change from several times a minute to once every couple of minutes.

It doesn’t seems to be an network issue since a ping to wherever always goes fine.
So I turned on tracing (in the listener.ora) on to level ADMIN, turns out there are no trace entries from the failed tnsping. I moved up the level to SUPPORT. Same, no trace entries, there is a time gap on the moments that tnsping fails. The same counts for the listener.log…no logging of the failed occurrences.

Then I added a R3trans –d in the loop. Of course this check also fails every now and then and the following info I find in the sqlnet.log

Fatal NI connect error 12541, connecting to:
(DESCRIPTION=(SDU=32768)(ADDRESS=(COMMUNITY=SAP.WORLD)(PROTOCOL=TCP)(HOST=prd01)(PORT=1527))(CONNECT _DATA=(SID=PRD)(GLOBAL_NAME=PRD.WORLD)(CID=(PROGRAM=I:\usr\sap\PRD\SYS\exe\run\R3trans.exe)(HOST=PRD 01)(USER=prdadm))))

VERSION INFORMATION:
TNS for 64-bit Windows: Version 10.2.0.2.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 10.2.0.2.0 - Production
Time: 15-FEB-2011 12:09:35
Tracing not turned on.
Tns error struct:
ns main err code: 12541
TNS-12541: TNS:no listener
ns secondary err code: 12560
nt main err code: 511
TNS-00511: No listener
nt secondary err code: 61
nt OS err code: 0

See here the related parameter files:

Listener.ora:
################
ADMIN_RESTRICTIONS_LISTENER = on
LISTENER =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = IPC)
(KEY = SID.WORLD)
)
(ADDRESS=
(PROTOCOL = IPC)
(KEY = SID)
)
(ADDRESS =
(COMMUNITY = SAP.WORLD)
(PROTOCOL = TCP)
(HOST = host)
(PORT = 1527)
)
)
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
TRACE_LEVEL_LISTENER = OFF
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SDU = 32768)
(SID_NAME = SID)
(ORACLE_HOME = I:\oracle\SID\102)
)
)

Sqlnet.ora
################
AUTOMATIC_IPC = ON
TRACE_LEVEL_CLIENT = OFF
NAMES.DEFAULT_DOMAIN = WORLD
NAME.DEFAULT_ZONE = WORLD
SQLNET.EXPIRE_TIME = 0
SQLNET.AUTHENTICATION_SERVICES = (NTS)
TCP.NODELAY=YES

Tnsnames.ora
################
PRD.WORLD=
(DESCRIPTION =
(SDU = 32768)
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = SAP.WORLD)
(PROTOCOL = TCP)
(HOST = host)
(PORT = 1527)
)
)
(CONNECT_DATA =
(SID = SID)
(GLOBAL_NAME = SID.WORLD)
)
)

Some things I am wondering about, although I don’t think they are related to the problem:

-should the parameter DEFAULT_SDU_SIZE be defined in the sqlnet.ora as well?
-CONNECT_TIMEOUT_LISTENER is obsolete I read since Oracle 9i?
-AUTOMATIC_IPC is also obsolete?


My next step would be to make a client and server trace (TRACE_LEVEL_CLIENT, TRACE_LEVEL_SERVER in sqlnet.ora)

Im wondering if I should experiment with the following parameters:
SQLNET.INBOUND_CONNECT_TIMEOUT (in sqlnet.ora) (120?)
INBOUND_CONNECT_TIMEOUT_ (in listener.ora) (120?)
QUEUESIZE (in listener.ora) (although I don’t think that would do anything here since it should more solve issues like simultaneous logon of many processes to the database…which is not the case in a SAP environment)


Any ideas/clues? thanks in advance!