ORA-12514 and Net configuration assistant

Posted on 2007-03-29
Last Modified: 2013-12-19
I am using Oracle 10g on Windows server 2003.  I installed the 10g client on a different pc on the network and used the Net Configuration Assistant/Local Net Service Name Configuration tool to configuration the netservice names.  Each time I configured a name it would blow up because it is trying to use the system account and the password is wrong.  If I change the login to sysman with the correct password it succeeds.  I then try to schedule a job to run and get a ORA-12514 error.  if I check the net configuration assistant the login is changed back to system.
Another weird piece of the puzzle is if I try to log on to a database through Enterprise Manager from the remote server as sysdba it says Insufficient privileges.  If I log on as normal it works.  If I go to database server and log on with the same credentials I can connect as sysdba....PLEASE HELP!  I cannot for the life of me figure out what is going on.  Its like the remote server is trying to resolve my credentials locally.
Question by:PsychoDazey
  • 2

Expert Comment

ID: 18823550
Check if the connect string in the client TNSNAMES.ORA file contains the
'SERVICE_NAME' parameter - if so, verifiy that it corresponds exactly to the
target database's SERVICE_NAMES INIT.ORA parameter value including DB_DOMAIN,
if configured. To check the value, run:

  SQL> show parameter service_names

If you continue to receive ORA-12514, ensure the Database has successfully
registered with the Listener. To check the value, run:

  LSNRCTL> status <listener-name>

If you continue to receive ORA-12514, you may attempt to workaround the error
by modifying the client TNSNAMES.ORA service name to use '(SID=...)', rather
than '(SERVICE_NAME=...)'. Doing so reverts back to traditional referencing of
hard-coded Database SIDs from the SID_LIST_LISTENER section of the LISTENER.ORA.
This should avoid the error.

Following is an example TNSNAMES.ORA that would result in error:

V817 =
      (ADDRESS = (PROTOCOL = TCP)(HOST = myserv)(PORT = 1521))
      (SERVICE_NAME = V817)        #Change SERVICE_NAME to SID OR
#     (SERVICE_NAME = V817.DOMAIN) #Correct SERVICE_NAME - include DB_DOMAIN


Accepted Solution

marper earned 500 total points
ID: 18823582
If you receive an OCI error ORA-12514 indicating “could not resolve service name”:

• Use the Oracle TNSPING utility to verify that the service can be reached.

• Ensure that the OracleID set in your DSN definition matches the Oracle Service Name for the Oracle instance that contains the tables to cache in TimesTen.

• Ensure that there is a service name defined. If it is a Windows Oracle client, use Oracle Net Configuration Assistant to configure a service name. In Oracle Net Configuration Assistant, navigate to Oracle Net Configuration -> Local -> Service Naming, select your Oracle server and confirm that there is a service name or an SID that identifies the Oracle server. If you add or modify a service name, you may need to reboot.

Check the cache agent user name and password on Oracle with SQLPlus to make sure this service name works. For example,

%sqlplus scott/tiger@OracleHost

where scott is the cache agent ID, tiger is the cache agent PWD, and OracleHost is the OracleID specified in your DSN definition.

Note: Your cache agent account may be different from your regular Oracle user account. See “Create Oracle users and set privileges” for details.

• Ensure that there is only one copy of tnsnames.ora on your TimesTen machine. Also check the permission on tnsnames.ora.

• If you are running TimesTen on a UNIX system, check that the ORACLE_HOME environment variable points to your Oracle_installation directory.

For example, ORACLE_HOME=/products/oracle10g

• If you are using an Oracle 9.0.x client on Windows, you may discover that the cache agent is not be able to start even when the OracleID connection attribute is set correctly. To verify the OracleID is set correctly, use ttIsql to issue a query to Oracle using PassThrough=3 connection Setting. For example:

Command> connect
1 row found.

If the connection succeeds, your OracleID is set correctly and the problem is that you are using a 9.0.x version of the Oracle client. This problem can be resolved by upgrading to a Oracle 9.2.x client.

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Oracle RAC 12c 8 73
Bash Script to Analyze Oracle Schemas 11 106
'G_F01' is not a procedure or is undefined 3 25
SQL2016 to ORACLE11G linked-server 6 15
Article by: Swadhin
From the Oracle SQL Reference ( we are told that a join is a query that combines rows from two or more tables, views, or materialized views. This article provides a glimps…
This post first appeared at Oracleinaction  ( Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
This video shows how to Export data from an Oracle database using the Original Export Utility.  The corresponding Import utility, which works the same way is referenced, but not demonstrated.

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question