Solved

ODBC connection to Oracle fails with ORA-12571: TNS Packet writer failure (#12571)

Posted on 2006-11-06
8
2,939 Views
Last Modified: 2008-03-17
We have a new XP workstation. All other machines connect just fine. Windows Firewall is disabled. I am doing this as Admin. There are no desktop firewalls installed either. A trace output follows.

ODBC--Call Failed.
[Microsoft][ODBC driver for Oracle][Oracle]ORA-12571: TNS Packet writer failure (#12571)[Microsoft][ODBC Driver Manager]Driver's SQLSetConnectAttr failed IM006 0[Microsoft][ODBC Driver Manager]Driver's SQLSetConntectAttr failed(#0)


--- TRACE CONFIGURATION INFORMATION FOLLOWS --- New trace stream is "C:\orant\DISCVR31\trace.log.trc"
New trace level is 6
--- TRACE CONFIGURATION INFORMATION ENDS ---
nigini: entry
nigini: Count in NI global area now: 1
nigini: Count in NI global area now: 1
nrigbi: entry
nrigbni: entry
nrigbni: Unable to get data from navigation file tnsnav.ora
nrigbni: exit
nrigbi: exit
nigini: exit
niqname: Hst is already an NVstring.
niqname: Inserting CID.
niotns: entry
niotns: niotns: setting up interrupt handler...
niotns: Not trying to enable dead connection detection.
niotns: Calling address: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle80)(ARGV0=oracle80ORCL)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')))(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE)(HOST=X225A)(USER=Administrator))))
nricall: entry
nric2a: entry
nric2a: Getting local community information
nriglp: entry
nriglp: Looking for local addresses setup by nrigla
nriglp: No addresses in the preferred address list
nriglp: exit
nric2a: TNSNAV.ORA is not present. No local communities entry.
nrigla: entry
nrigla: Getting local address information
nrigla: Address list being processed.
nrigla: No community information so all addresses are local
nrigla: exit
nridst: entry
nridst: Resolving address to use to call destination or next hop
nridst: Processing address list.
nridst: No community entries so iterate over address list
nridst: exit
nric2a: This is a local community access
nric2a: exit
nricall: Got routable address information.
nricall: Making call with following address information: (DESCRIPTION=(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE)(HOST=X225A)(USER=Administrator)))(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle80)(ARGV0=oracle80ORCL)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))).
nricdt: entry
nricdt: Calling with outgoing connect data: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle80)(ARGV0=oracle80ORCL)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')))(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE)(HOST=X225A)(USER=Administrator)))).
nscall: connecting...
nlpcaini: entry
nlpcaini: prg =
nlpcaini: arg[0] =
nlpcaini: arg[1] =
nlpcaini: exit
nsmal: 400 bytes at 0x8f13830
nsmal: 1664 bytes at 0x8f0a068
snsbitts_ts: acquired the bit
nsopen: opening transport...
nserror: nsres: id=0, op=65, ns=12560, ns2=0; nt[0]=530, nt[1]=0, nt[2]=0
snsbitts_ts: acquired the bit
nsopen: unable to open transport
snsbitts_ts: acquired the bit
nsmfr: 1664 bytes at 0x8f0a068
nsmfr: 400 bytes at 0x8f13830
nricdt: Call failed.
nricfg: entry
nricfg: exit
nricdt: Call made to destination.
nricdt: Processing address list so continuing.
nricdt: exit
nric2a: entry
nric2a: Getting local community information
nriglp: entry
nriglp: Looking for local addresses setup by nrigla
nriglp: No addresses in the preferred address list
nriglp: exit
nric2a: TNSNAV.ORA is not present. No local communities entry.
nrigla: entry
nrigla: Getting local address information
nrigla: Address list being processed.
nrigla: Processed all addresses in address list. Failed to make contact.
nrigla: exit
nric2a: exit
nricie: entry
nricie: Result descriptor: 12203,12560,530,0.
nricie: Result descriptor: 12203,12560,530,0 from Interchange:
nricie: exit
nricall: Exiting NRICALL with following termination result: -1.
nricall: exit
nioqper:  error from nricall
nioqper:    nr err code: 12203
nioqper:    ns main err code: 12560
nioqper:    ns (2)  err code: 0
nioqper:    nt main err code: 530
nioqper:    nt (2)  err code: 0
nioqper:    nt OS   err code: 0
niqme: entry
niqme:  reporting nr (1) error: (12203) as rdbms err (12203)
niqme: exit
niotns: Couldn't connect, returning 12203
nigtrm: Count in the NI global area is now 0
nrigbd: entry
nrigbd: exit
nigtrm: Count in the NL global area is now 0
0
Comment
Question by:mriozzo
  • 3
  • 3
8 Comments
 
LVL 65

Expert Comment

by:rockiroads
ID: 17881861
read this site, http://www.cryer.co.uk/brian/oracle/ORA12571.htm it reports the following


Possible causes and remedies:
With Oracle 8.0.4 onwards, this error may indicate that the database is in the process of being shut down.

This error has been observed when there was a loose cable connection to the SCSI disk array (on an Oracle Parallel Server system). Related errors were also subsequently noted in the NT event log.

If this is the cause then the remedy is to check all the cable connections. Do this by hand rather then visually, since a cable not being firmly in place could cause the problem.

Daniel Haller Strahm has reported that this problem can also be caused by an IP address conflict (Oracle 9.0.1). Windows will normally log an IP conflict in the event log and show a pop up alert - but only if it detects the conflict.

Check that no other computer on the network has the same IP address as the machine on which the problem has been reported.

Robert Wells has reported seeing this error when reinstalling Oracle 9.2.0.1 on Windows 2000. He says it got 46% through configuring the database before this error arose. The solution was to edit the sqlnet.ora file (locations on different systems will vary, but in this case was at D:/Data/ora920/network/admin/sqlnet.ora) and change the line:

SQLNET.AUTHENTICATION_SERVICES= (NTS)
into

SQLNET.AUTHENTICATION_SERVICES= (NONE)
after saving the updated file, he was able to hit the retry button on the install and the creation of the database succeeded.
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 17881882
Do u have a metalink account? Look at Note 112589.1.

The suggestion is to modify the registry. Fire up REGEDIT and go to HKEY_LOCAL_MACHINESOFTWAREORACLE. Then add EPC_DISABLED and set the value to TRUE.

Another thing you can try is to change your SQLNET.ORA file to have the following line:

SQLNET.AUTHENTICATION_SERVICES = (NONE)



expertanswers website (sample of above) http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci1054737,00.html also says this

This can happen if the number of connections on a Windows server results in the total memory for the Oracle main thread exceeding the memory limitations for a single process (2 gigabytes with normal settings, 3 gigabytes with 3gt set). If you haven't set 3gt yet, do a lookup on MetaLink, or drop me an email, and see how to increase your memory size. If you have 3gt, look at using AWE memory windowing to move the database block buffers out of the lower memory and freeing it up for PGA (process) memory

0
 

Author Comment

by:mriozzo
ID: 17882250
I have already tried the SQLNET.AUTHENTICATION_SERVICES= (NONE) suggestion as well as adding the registry key. Same exact error.

If it helps:

C:\orant\BIN>tnsping
'tnsping' is not recognized as an internal or external command, operable program or batch file.

C:\orant\BIN>PATH
PATH=C:\orant\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem

Notice below, on a working installation the IP addresses is showing and connecting properly:

--- TRACE CONFIGURATION INFORMATION FOLLOWS ---
New trace stream is "C:\orant\DISCVR31\trace.log.trc"
New trace level is 6
--- TRACE CONFIGURATION INFORMATION ENDS ---
nigini: entry
nigini: Count in NI global area now: 1
nigini: Count in NI global area now: 1
nrigbi: entry
nrigbni: entry
nrigbni: Unable to get data from navigation file tnsnav.ora
nrigbni: exit
nrigbi: exit
nigini: exit
niqname: Using nnfsn2a() to build connect descriptor for (possibly remote) database.
nnftboot: entry
nnftboot: exit
nnfoboot: entry
nnfoboot: exit
nnfhboot: entry
nnfhboot: exit
nncpmlf_make_local_addrfile: construction of local names file failed
nncpmsf_make_sys_addrfile: system names file is C:\orant\NET80\admin\tnsnames.ora
nncpcin_maybe_init: first request sent to name server will have ID 333
nncpcin_maybe_init: initial retry timeout for all name servers is 1500 csecs
nncpcin_maybe_init: max request retries per name server is 1
nngsnad_new_stream_addr: "(ADDRESS=(PROTOCOL=TCP)(HOST=131.107.2.199)(PORT=1521))"
nngsini_init_streams: initializing stream subsystem, cache size is 10
nngtini_init_msg: initializing PDU subsystem, initial pool size is 2
nncpcin_maybe_init: default name server domain is world
nnfun2a: entry
nnftqnm: entry
nnfcagmd: entry
nnfcagmd: Attribute name a.smd is a predefined meta type, syntax is 4.
nnfcagmd: exit
nncpldf_load_addrfile: initial load of names file C:\orant\NET80\admin\tnsnames.ora
nncpldf_load_addrfile: success
nnftqnm: Using tnsnames.ora address (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 131.107.2.199)(PORT = 1521)) (CONNECT_DATA = (SID = ORCL))) for name ncm_ss.world
nnfcraa: entry
nnftans: entry
nnfcran: entry
nnfcran: 64 rrs requested, 1 remaining, 1 total
nnfcran: exit
nnfotrv1: entry
nnfotrv1: translated "ncm_ss.world" to (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 131.107.2.199)(PORT = 1521)) (CONNECT_DATA = (SID = ORCL)))
nngsfad_free_stream_addr: "(ADDRESS=(PROTOCOL=TCP)(HOST=131.107.2.199)(PORT=1521))"
nngsdei_deinit_streams: deinit
nngscls_close_stream: UID 0 not established, ignored
nngscls_close_stream: UID 0 not established, ignored
nngscls_close_stream: UID 0 not established, ignored
nngscls_close_stream: UID 0 not established, ignored
nngscls_close_stream: UID 0 not established, ignored
nngscls_close_stream: UID 0 not established, ignored
nngscls_close_stream: UID 0 not established, ignored
nngscls_close_stream: UID 0 not established, ignored
nngscls_close_stream: UID 0 not established, ignored
nngscls_close_stream: UID 0 not established, ignored
niotns: entry
niotns: niotns: setting up interrupt handler...
niotns: Not trying to enable dead connection detection.
niotns: Calling address: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=131.107.2.199)(PORT=1521))(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=C:\orant\DISCVR31\DIS31USR.EXE)(HOST=X236)(USER=jgimprich))))
nricall: entry
nric2a: entry
nric2a: Getting local community information
nriglp: entry
nriglp: Looking for local addresses setup by nrigla
nriglp: No addresses in the preferred address list
nriglp: exit
nric2a: TNSNAV.ORA is not present. No local communities entry.
nrigla: entry
nrigla: Getting local address information
nrigla: Simple address...
nrigla: No community component so just use straight address
nrigla: exit
nridst: entry
nridst: Resolving address to use to call destination or next hop
nridst: Found destination address
nridst: Local address
nridst: Local destination community found
nridst: exit
nric2a: This is a local community access
nric2a: exit
nricall: Got routable address information.
nricall: Making call with following address information: (DESCRIPTION=(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=C:\orant\DISCVR31\DIS31USR.EXE)(HOST=X236)(USER=jgimprich)))(ADDRESS=(PROTOCOL=TCP)(HOST=131.107.2.199)(PORT=1521))).
nricdt: entry
nricdt: Calling with outgoing connect data: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=131.107.2.199)(PORT=1521))(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=C:\orant\DISCVR31\DIS31USR.EXE)(HOST=X236)(USER=jgimprich)))).
nscall: connecting...
nttbnd2addr: entry
nttbnd2addr: port resolved to 1521
nttbnd2addr: using host IP address: 131.107.2.199
nttbnd2addr: exit
nsmal: 400 bytes at 0x259084c
nsmal: 1664 bytes at 0x25901c8
nsopen: opening transport...
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 
LVL 65

Expert Comment

by:rockiroads
ID: 17882378
So can u run Oracle find by itself? SQL Plus is okay? Is your TNSNames entry setup correctly? remember it has to have a .WORLD on the end of the name

If not, then it could be something wrong with your oracle setup or envrionment


looking at the logs, in particular

Unable to get data from navigation file tnsnav.ora

this may be a clue.

So I had a dig around and found this http://www.experts-exchange.com/Databases/Oracle/Q_21491108.html
may not be applicable but may help.

0
 

Author Comment

by:mriozzo
ID: 17882631
Well LISTENER.ORA on the desktop is empty and init.ora should not have to be changed as all other workstations are connecting.

Something still appears to be blocking or redirecting the connection attempt.
0
 

Author Comment

by:mriozzo
ID: 17956280
Well I knew I should've tried this but I didn't think I had to since it was a new installation. I ran WinSock XP Fix and all was well. I'm guessing the McAfee Personal Firewall uninstaller didn't quite clean the registry the way it should've and port 1521 was being blocked.

Thanks to all for the suggestions.

0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 18260671
PAQed with points refunded (500)

Computer101
EE Admin
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

758 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

23 Experts available now in Live!

Get 1:1 Help Now