Monday, April 6, 2009

ORA - 12514 :TNS the listener could not solve the SERVICE_NAME appearing in the descriptor of connection

If the SERVICE_NAME parameter is used, the methods below will assist you in
successfully implementing it in the TNSNAMES.ORA file:

1. Use the GLOBAL_DBNAME parameter in the LISTENER.ORA for each SID that you
wish to identify as a separate service. Use the value of this parameter as
the value of the SERVICE_NAME parameter. Of course, any changes made to the
LISTENER.ORA to accomplish this will need to be made active by stopping and
then restarting the listener process.

2. Use the values of the parameters existing in the INIT.ORA, namely
SERVICE_NAMES and DB_DOMAIN to ascertain the value of the SERVICE_NAME that
should be used in the TNSNAMES.ORA. The valid construction of this value is
. with the dot "." separating the two INIT.ORA
values. If your SERVICE_NAMES=BIKES and your DB_DOMAIN=COM, then your

3. If you do not have a DB_DOMAIN parameter set in your INIT.ORA, or a
GLOBAL_DBNAME in the LISTENER.ORA, then you can simply use the SERVICE_NAMES
from the INIT.ORA in your TNSNAMES.ORA for parameter SERVICE_NAME.
INIT.ORA contains:
service_names = "UNITY"
db_domain not set

Then Tnsnames.ora entry is:

4. If you have multiple values specified in the SERVICE_NAMES parameter
in the init.ora then use one of them
If SERVICE_NAMES is not set then db_name.db_domain parameters from
INIT.ORA file can be used.

5. If SERVICE_NAMES and DB_DOMAIN is not set in the init.ora or a
in Tnsnames.ora file will be DB_NAME

No comments: