could this be something as simple as the service name not matching the alias
in tnsnames.ora as the tnsping doesn't actually verify that the service_name
(or sid) is correct, only the login will verify.
I just tested the following
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx)(PORT = 1521))
(SERVICE_NAME = mikea)
bash-2.02$ tnsping mike
TNS Ping Utility for Solaris: Version 18.104.22.168.0 - Production on 16-DEC-2004
(c) Copyright 1997 Oracle Corporation. All rights reserved.
Attempting to contact (ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xx)(PORT=1521))
OK (10 msec)
bash-2.02$ sqlplus mike/mike@(protected)
SQL*Plus: Release 22.214.171.124.0 - Production on Thu Dec 16 11:23:53 2004
(c) Copyright 2000 Oracle Corporation. All rights reserved.
: TNS:listener could not resolve SERVICE_NAME given in connect