Solved

ORA-12514 and Net configuration assistant

Posted on 2007-03-29
2
1,446 Views
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.
0
Comment
Question by:PsychoDazey
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
2 Comments
 
LVL 4

Expert Comment

by:marper
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 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = myserv)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = V817)        #Change SERVICE_NAME to SID OR
#     (SERVICE_NAME = V817.DOMAIN) #Correct SERVICE_NAME - include DB_DOMAIN
    )
  )


0
 
LVL 4

Accepted Solution

by:
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:

ttIsql
Command> connect
"dsn=myDSN;uid=scott;pwd=tiger;passthrough=3";
Command> SELECT * FROM DUAL;
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.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

How to Unravel a Tricky Query Introduction If you browse through the Oracle zones or any of the other database-related zones you'll come across some complicated solutions and sometimes you'll just have to wonder how anyone came up with them.  …
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
This video shows how to recover a database from a user managed backup

749 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