Strange error: TNS-12564: TNS:connection refused

9,172 views
Skip to first unread message

Allen

unread,
Oct 19, 2006, 3:34:52 PM10/19/06
to ORACLE_DBA_EXPERTS
Hi All

I joined the group to meet you experts, not because I think I am one of
the experts.
Here it is:

I ran into an error from my application server.
The server log said, ORA-12500: TNS:listener failed to start a
dedicated server process.
I checked the Internet and got to know it indicated something wrong
with the listener.

>From sqlnet.log, I got the following:
>>>
VERSION INFORMATION:
TNS for IBM/AIX RISC System/6000: Version 9.2.0.1.0 - Production
TCP/IP NT Protocol Adapter for IBM/AIX RISC System/6000: Version
9.2.0.1.0 - Production
Time: 18-OCT-2006 15:49:29
Tracing not turned on.
Tns error struct:
nr err code: 0
ns main err code: 12564
TNS-12564: TNS:connection refused
TNS-12564: TNS:connection refused
ns secondary err code: 0
ns secondary err code: 0
nt main err code: 0
nt main err code: 0
nt secondary err code: 0
nt secondary err code: 0
TNS-12564: TNS:connection refused
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
>>>

The error repeated several times as well as the connection strings.

The strange is that I ran Oracle 10g client on my App server.
The version info says 10.1.0.3.0 from Sqlplus:
>>>
SQL*Plus: Release 10.1.0.3.0 - Production on Thu Oct 19 14:20:15 2006

Copyright (c) 1982, 2004, Oracle. All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - 64bit
Production
With the Partitioning and Data Mining options
>>>

I had a previouse Oracle client/server installed, which was 9.2.0.5.0
as shown from tnsping
>>>
TNS Ping Utility for IBM/AIX RISC System/6000: Version 9.2.0.5.0 -
Production on 19-OCT-2006 14:07:24

Copyright (c) 1997 Oracle Corporation. All rights reserved.
>>>

Somehow, the sqlnet.log gave me a different version info 9.2.0.1.0 as
shown before.
Can anyone shed some light on this matter?

Thanks a lot.
Allen

cargal_01

unread,
Oct 19, 2006, 3:53:45 PM10/19/06
to ORACLE_DBA_EXPERTS
Not too much info, but let me share a couple of ideas:

Have you tried lsnrctl status? To verify version, log and status of the
listener.
Have you verified, by checking your Home Selector, what is the Oracle
Home you are actually running under.
What is the first BIN directory in your PATH?

Actually, it came out to 3. Oh well, Hope it helps.

Allen

unread,
Oct 19, 2006, 4:25:44 PM10/19/06
to ORACLE_DBA_EXPERTS
Thanks for your reply.

I have not checked the lsnrctl status. Because my DBA is not in today.
:).
The Oracle home was verified, and pointing to 10g.

The first BIN directory is /bin.

By the way the App server is running on AIX 5.2 ML 6.

Thanks again for you time.
Allen

cargal_01

unread,
Oct 20, 2006, 7:39:30 AM10/20/06
to ORACLE_DBA_EXPERTS
I hope that when he comes in, he can check it, realize that it's down,
re-boots it, and all will be fine.

On the other hand, what I meant was to do, "echo $PATH" (No quotes), in
UNIX or "path"(no quotes) in WINDOWS and see if the ORACLE_HOME
directory appears in there.

Allen

unread,
Oct 20, 2006, 10:53:01 AM10/20/06
to ORACLE_DBA_EXPERTS
Thanks again for your following up with me.

Actually the Oracle DB was not down. The user who reported the problem
tried again with her operation,
then it finished properly.
It seemed just one time failure when trying to make the connection.

I checked the $PATH, the ORACLE_HOME was there.
When the sqlplus version was obtained, it was invoked from a random
folder,
which showed the Oracle executables were available.

Any other ideas about the issue?
Thanks and have a great weekend.

Sachin Arora

unread,
Oct 25, 2006, 4:01:01 AM10/25/06
to ORACLE_DB...@googlegroups.com
may be u were looking for wrong sqlnet.log.
looks like ur issue of listner not able to  start a
dedicated server process is different from your sqlnet issue.
 
The issue of server process could be due to memory unavailibilty ..
and that is why retrying solved the issue

ExpertDba

unread,
Oct 30, 2006, 11:04:03 AM10/30/06
to ORACLE_DBA_EXPERTS
Also What does your listener log say?
It would be a good idea for your DBA to handle the issue.After all what
is he paid for?
regards,
Channesh

ExpertDba

unread,
Oct 30, 2006, 11:00:13 AM10/30/06
to ORACLE_DBA_EXPERTS
Allen,
>>>>>>>>>>>
Quote Tom Kyte:
The ORA-12500 -- it could be caused by hitting the listener too fast,
faster then the OPERATING system itself can deal with. If you are
using dedicated
server configurations on unix for example, each connection is a unix
fork/exec.
If you overload the OS, it won't be able to spawn any new processes.
Its not
really that you hit the LISTENER too fast in this case, more that the
OS is
physically out of resources or is taking so long to get these resources
in place
that we time out. How fast is too fast -- thats a function of your OS,
the
amount of ram, how many cpu's you have, how fast they are, what else is
going on
on the box, etc etc etc...
>>>>>>>>>>>

PS: There are a series of checks that you can do before you arrive at
the above solution.

Start from here:
Oracle04$ oerr ora 12500
12500, 00000, "TNS:listener failed to start a dedicated server process"
// *Cause: The process of starting up a dedicated server process
failed.
// The executable could not be found or the environment may be set up
// incorrectly.
// *Action: Turn on tracing at the ADMIN level and reexecute the
operation.
// Verify that the ORACLE Server executable is present and has execute
// permissions enabled. Ensure that the ORACLE environment is specified
// correctly in LISTENER.ORA. The Oracle Protocol Adapter that is being
// called may not be installed on the local hard drive. Please check
that
// the correct Protocol Adapter are successfully linked.
// If error persists, contact Oracle Customer Support.

Check env variable settings.Env variable settings check includes:
$ echo $ORACLE_HOME
$ echo $ORACLE_SID
$ echo $LD_LIBRARY_PATH
$ echo $PATH
$ echo $TNS_ADMIN --- optional(some cases this is not set.if not o/p
comes.NP!.But if it gives an o/p..check to see that it vomits the right
value)
-- all the obove MUST be set right!!!!

1> Have you tried $tnsping <sid_name> from a remote client or as the
mid-tier user? . What is the o/p you got?

2> Have you tried $lsnrctl status <listener_name> ? What was the o/p
here?

3> Is your PROCESSES parameter set to an appropriately high value to
accomodate the number of users etc pounding the DB?
---if it is good enough considering the number of users etc that
access your DB; there are chances that your application that connects
to the DB seem to have some connexion leaks etc(for egs: opens a cursor
and not closes it).

4> Have you tried bouncing the listener?

5> Verify the Oracle version, SQLNet version, and patched OS are all
compatible.

6> It wouldnt be a bad idea to skim through the alert logfile too.

7> If it is not a production box(where downtime wouldnt bother you
much> ...go ahead and bounce all services ..starting from DB LSNR,DB
and then the mid-tier.

regards,
Channesh

Reply all
Reply to author
Forward
0 new messages