-
Tnsping error
DBAs,
I was trying to use enterprise manager console 10g to manage my databases. But I always get the ORA-12541 TNS :no listener error.
The listener is running actually.
Then I used tnsping to see if I can access it. Also get the same error. My listener on sever is running on port 1627. But from the output of tnsping, the system automatically changed the port from 1527 to 1521, Please see the output from the tnsping
tnsping ECQ2
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-JUN-2
007 16:48:44
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
C:\oracle\product\10.2.0\client\network\admin\sqlnet.ora
Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=ECQ2.ges.xxxxx
.com))(ADDRESS=(PROTOCOL=TCP)(HOST=155.64.210.140)(PORT=1521)))
TNS-12541: TNS:no listener
Why did it use hostname adapter to resolve this? Why did it change the port to the default 1521?
The listener.ora on server is as follows:
=============================================================
SID_LIST_ECQ2 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ECQ2.GES.XXXXX.COM)
(ORACLE_HOME = /ECQ2/oh/1020)
(SID_NAME = ECQ2)
)
)
ECQ2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ecq2.ges.xxxxx.com)(PORT = 1527))
)
)
====================================================================
The sqlnet.ora on my client is
=================================================================
SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
=====================================================================
The tnsnames.ora on my client is
=======================================================
ECQ2_ecq2.ges.xxxxx.com =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ecq2.ges.xxxxx.com)(PORT = 1527))
)
(CONNECT_DATA =
(SID = ECQ2)
(SERVER = DEDICATED)
)
)
===========================================================
Thanks,
Lily
-
In my case, our SID is ECQ2, the global name is ECQ2.GES.XXXXX.COM
the alias for the server is the same,
It seems that it got confused.
So how can I solve this without changing the sid and the server alias?
Lily
-
You might got another tnsnames.ora file which still pointing to 1521 port. Search for a tnsnames.ora file and change the port.
-
Thanks for the reply.
No, I don't have another copy of tnsnames.ora. Actually yesterday I also
thought about this.
From the output of tnsping, we can see
Used HOSTNAME adapter to resolve the alias
But it should use the TNSNAME to resolve the alias.
Here, as I mentioned before that we use the same ecq2 as the SID and
the alias of the unix box. This might confuse the tnsping utility.
But how can I fix this?
Lily
-
one possibility, see your Host Name and Connect string, both are same Just change your connect string name and try again.
-
in listener.ora,
specify listener description first.
ECQ2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ecq2.ges.xxxxx.com)(PORT = 1527))
)
)
SID_LIST_ECQ2 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ECQ2.GES.XXXXX.COM)
(ORACLE_HOME = /ECQ2/oh/1020)
(SID_NAME = ECQ2)
)
)
And also try specifying ip adress rather than hostname in your tns entry in your tnsnames.ora file.