Question: I need help with this error:
ORA-12154: TNS: could not resolve service name.
The ORA-12154 is a very common error,
always related to your local copy of the tnsnames.ora file, your listener configuration and
your database name aliases.
Make sure that your listener is listening for
the same service name that you are using.
Your service name might have an alias, so check
for global (world) entries and local entries.
Check your global_name setting with this SQL:
select * from global_name;
The query value should match your init.ora parms for
db_name and db_domain, You can change the
global_name with an ALTER DATABASE command, as
database rename global_name to xxx;
Also see these notes on
configuring your tnsnames.ora file and
troubleshooting network errors.
Steve Callan notes this on the ORA-12154 error:
"One of the
most common errors related to improper configuration
is the "ORA-12154: TNS: could not resolve service
not uncommon for new users of Oracle to spend hours
upon hours trying to figure out what their mistake
is when ORA-12154 appears."
utility notes this on the ORA-12154 error::
$oerr ora 12154
ORA-12154: TNS:could not resolve the connect
Cause: A connection to a
database or other service was requested using a
connect identifier, and the connect identifier
specified could not be resolved into a connect
descriptor using one of the naming methods
For example, if the type of connect
identifier used was a net service name then the net
service name could not be found in a naming method
repository, or the repository could not be located
The following actions may be appropriate:
If you are using local naming
- Make sure that TNSNAMES is listed as
one of the values of the
names.directory_path parameter in the
sqlnet.ora Oracle Net profile.
- Verify that a tnsnames.ora file exists
and is in the proper directory and is
- Check that the net service name used
as the connect identifier exists in the
- Make sure there are no syntax errors
anywhere in the
tnsnames.ora file. Look for
unmatched parentheses or stray characters.
Errors in a
tnsnames.ora file may make it
If you are using directory naming:
- Verify that LDAP is listed as one of
the values of the
sqlnet.ora Oracle Net profile.
- Verify that the LDAP directory server is up
and that it is accessible.
- Verify that the net service name or database
name used as the connect identifier is
configured in the directory.
- Verify that the default context being used
is correct by specifying a fully qualified net
service name or a full LDAP DN as the connect
If you are using EZCONNECT naming:
- Verify that EZCONNECT is
listed as one of the values of the
in the sqlnet.ora Oracle Net profile.
- Make sure the host, port and service name
specified are correct.
- Try enclosing the connect identifier in
quote marks. See the Oracle Net Services
Administrators Guide or the Oracle operating
system specific guide for more information on
NOTE: While there are many
possible causes for the ORA-12154 error, it can also
appear in the stack with a
TNS-03505: failed to resolve name error
indicating a problem occurred prior to the server
Also note the similarities in
numbering and content for
ORA-12514, which is related to the tns listener