Solved

ORA-12514 and Net configuration assistant

Posted on 2007-03-29
2
1,422 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
  • 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

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.

Join & Write a Comment

Note: this article covers simple compression. Oracle introduced in version 11g release 2 a new feature called Advanced Compression which is not covered here. General principle of Oracle compression Oracle compression is a way of reducing the d…
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

758 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

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now