Solved

Oracle Connection Problems

Posted on 2001-07-12
3
1,017 Views
Last Modified: 2007-11-27
We've installed Oracle 8i for Windows NT in an
Ethernet-tcp/ip network, on a Dell 6450
PowerEdge Server, and are attempting to
connect to it using the Net8 assistant, from a
client PC. We've ensured that the service name,
protocol, etc are set up correctly, and we can
connect to the database from the database
server using SQL*PLUS.

From the client Net8 assistant, we keep getting
the error ORA-12560 - TNS:protocol adapter
error.

When I turn on the trace on the TNS Listener
running on the Server, it shows that the request
is arriving, and it attempts to process it, but
has some kind of failure creating a process to
respond to the request. It isn't obvious to me
what the error is, looking at the trace file
(attached below). If anyone can give some suggestions,
they would be welcome - thanks very much.

Jim Giles


Trace File:


TNSLSNR for 32-bit Windows: Version 8.1.5.0.0 - Production on 12-JUL-01 18:48:58

(c) Copyright 1998 Oracle Corporation.  All rights reserved.


--- TRACE CONFIGURATION INFORMATION FOLLOWS ---
New trace stream is "D:\Oracle\Ora81\network\trace\listener.trc"
New trace level is 4
--- TRACE CONFIGURATION INFORMATION ENDS ---
nsinherit: doing connect handshake...
nlpcaini: No process parameters set
nsinherit: inheriting the connection...
nsopen: opening transport...
nsopen: transport is open
nsnainit: inf->nsinfflg[0]: 0xd inf->nsinfflg[1]: 0xd
nsopen: global context check-in (to slot 0) complete
nscon: doing connect handshake...
nscon: got NSPTCN packet
nscon: discarding connect data (94 bytes)
nsinherit: connection inherited
nsinherit: connected
nsglldprm: Resolved "CONNECT_TIMEOUT_LISTENER" to: 10
nsglldprm: Resolved "STARTUP_WAIT_TIME_LISTENER" to: 0
nsgllsn: Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))(PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS)))
nsopen: opening transport...
nsopen: transport is open
nsopen: global context check-in (to slot 1) complete
nsopen: opening transport...
nsopen: transport is open
nsopen: global context check-in (to slot 2) complete
nsgllsn: Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=d2_its_a)(PORT=1521))(PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS)))
nttbnd2addr: port resolved to 1521
nttbnd2addr: looking up IP addr for host: d2_its_a
nttcnp: Validnode Table IN use; err 0x0
nsopen: opening transport...
nttcnp: Validnode Table IN use; err 0x0
nttcnp: getting sockname
nsopen: transport is open
nsopen: global context check-in (to slot 3) complete
nscon: sending NSPTAC packet
nscon: sending 504 bytes connect data
nsdo: 504 bytes to NS buffer
nscon: doing connect handshake...
nscon: nsctxinf[0]=0xd, [1]=0xc
nsconbrok: asking transport to enable NTOBROKEN
nsnainconn: inf->nsinfflg[0]: 0xd inf->nsinfflg[1]: 0xc
nsopen: opening transport...
nsopen: transport is open
nsnainit: inf->nsinfflg[0]: 0xd inf->nsinfflg[1]: 0xd
nsopen: global context check-in (to slot 4) complete
nsanswer: deferring connect attempt; at stage 2
nsevdansw: exit
nsevdansw: exit
nscon: doing connect handshake...
nscon: got NSPTCN packet
nsevdansw: exit
nsevdansw: exit
nsevdansw: exit
nscon: sending NSPTAC packet
nscon: sending 376 bytes connect data
nsdo: 376 bytes to NS buffer
nscon: doing connect handshake...
nscon: nsctxinf[0]=0xd, [1]=0xc
nsdo: 745 bytes to NS buffer
nstimarmed: no timer allocated
nsclose: closing transport
nsclose: global context check-out (from slot 4) complete
tnslsnr: connect string inst->lcxd[0]: (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc))
tnslsnr: connect string inst->lcxd[1]: (ADDRESS=(PROTOCOL=tcp)(HOST=d2_its_a.d2_its)(PORT=1521))
nncpmlf_make_local_addrfile: construction of local names file failed
nncpmsf_make_sys_addrfile: system names file is D:\Oracle\Ora81\network\admin\tnsnames.ora
nsopen: opening transport...
nttcnp: Validnode Table IN use; err 0x0
nttcnp: getting sockname
nttcnr: waiting to accept a connection.
nttvlser: valid node check on incoming node 127.0.0.1
nttvlser: Accepted Entry: 127.0.0.1
nsopen: transport is open
nsnainit: inf->nsinfflg[0]: 0xd inf->nsinfflg[1]: 0xd
nsopen: global context check-in (to slot 4) complete
nsanswer: deferring connect attempt; at stage 2
nsevdansw: exit
nsevdansw: exit
nsopen: opening transport...
nttcnp: Validnode Table IN use; err 0x0
nttcnp: getting sockname
nttcnr: waiting to accept a connection.
nttvlser: valid node check on incoming node 127.0.0.1
nttvlser: Accepted Entry: 127.0.0.1
nsopen: transport is open
nsnainit: inf->nsinfflg[0]: 0xd inf->nsinfflg[1]: 0xd
nsopen: global context check-in (to slot 5) complete
nsanswer: deferring connect attempt; at stage 2
nscon: doing connect handshake...
nscon: got NSPTCN packet
nsevdansw: exit
nsevdansw: exit
nsevdansw: exit
nsevdansw: exit
nsevdrcvreq: recving connect data
nsdo: 449 bytes from NS buffer
nsevdansw: exit
nsevdansw: exit
nscon: doing connect handshake...
nscon: got NSPTCN packet
nsevdansw: exit
nsevdansw: exit
nsevdansw: exit
nsevdrcvreq: recving connect data
nsdo: 479 bytes from NS buffer
nsevdansw: exit
nsevdansw: exit
nsgcssr: Creating new handler.
nscon: sending NSPTAC packet
nscon: doing connect handshake...
nscon: nsctxinf[0]=0xd, [1]=0x9
nsconbrok: asking transport to enable NTOBROKEN
tnslsnr: connect string inst->lcxd[0]: (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc))
tnslsnr: connect string inst->lcxd[1]: (ADDRESS=(PROTOCOL=tcp)(HOST=d2_its_a.d2_its)(PORT=1521))
nsevdansw: exit
nsgcssr: Creating new handler.
nscon: sending NSPTAC packet
nscon: doing connect handshake...
nscon: nsctxinf[0]=0xd, [1]=0x9
nsconbrok: asking transport to enable NTOBROKEN
tnslsnr: connect string inst->lcxd[0]: (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc))
tnslsnr: connect string inst->lcxd[1]: (ADDRESS=(PROTOCOL=tcp)(HOST=d2_its_a.d2_its)(PORT=1521))
nsopen: opening transport...
nttcnp: Validnode Table IN use; err 0x0
nttcnp: getting sockname
nttcnr: waiting to accept a connection.
nttvlser: valid node check on incoming node 156.75.22.43
nttvlser: Accepted Entry: 156.75.22.43
nsopen: transport is open
nsnainit: inf->nsinfflg[0]: 0xd inf->nsinfflg[1]: 0xd
nsopen: global context check-in (to slot 6) complete
nsanswer: deferring connect attempt; at stage 2
nsevdansw: exit
nsevdansw: exit
nscon: doing connect handshake...
nscon: got NSPTCN packet
nsevdansw: exit
nsevdansw: exit
nsevdansw: exit
nsbeqaddr: connecting...
nsbeqaddr: doing connect handshake...
nsbequeath: doing connect handshake...
nsbequeath: REDIR="(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.1)(PORT=1088))"
nsbeqaddr: handshake is complete; redirecting
nscon: sending NSPTRD packet
nstimarmed: no timer allocated
nsclose: closing transport
nsclose: global context check-out (from slot 6) complete
nsbeqaddr: connect handshake is complete
tnslsnr: connect string inst->lcxd[0]: (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc))
tnslsnr: connect string inst->lcxd[1]: (ADDRESS=(PROTOCOL=tcp)(HOST=d2_its_a.d2_its)(PORT=1521))
0
Comment
Question by:jimgiles
3 Comments
 
LVL 1

Accepted Solution

by:
selvamsm earned 50 total points
ID: 6279658
Hi,
    You can try the follwing to narrow down the search so that we can pinpoint where the problem is

   1) change all machine names to it's corresponding ip address.

  2)Use TNSPING service_name from client to check whether
it can able to reach the listener

  3)On the trace on the client so that u can able to see where it is getting disconnected

  What i hope is almost this type of problem arises in the host name resolution only.So change the name in the tnsnames.ora and the listener.ora file to ip address.

  One more thing is that it seems u'r using the MTS server
so in the init.ora file explicitly represent the number of dispatchers to TCP protocol and in that specify the host.

MTS_DISPATCHERS = "(PROTOCOL=TCP)(DISPATCHER=1)(HOST=ip address)"

  Hope this will help u.If not send me the client trace also so that we can pinpoint where the problem is.

thanks
m.s.m.kumar


0
 
LVL 1

Expert Comment

by:lamija
ID: 6291230
0
 

Author Comment

by:jimgiles
ID: 6315620
To m.s.m.kumar:

Thanks for your answer. The problem was caused by the
fact that each server in the cluster has dual NICs.
Specifying the IP address in the Net8 setup for the
remote machines solved the problem.

Although I actually was helped by a previous comment to
a similar question on OTC, your answer is correct and
helpful.

Jim
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video shows how to Export data from an Oracle database using the Datapump Export Utility.  The corresponding Datapump Import utility is also discussed and demonstrated.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now