Try to comment the line
SQLNET.AUTHENTICATION_SERV
in sqlnet.ora
or set it so
SQLNET.AUTHENTICATION_SERV
Main Topics
Browse All TopicsHi,
I get this message when I try to connect to an Oracle databse. (Oracle version: 8i)
The listener.ora and the tnsnames.ora seem OK, tnsping works.
What is the problem? when i restart oracle services everything seems okay. But i want a permanent solution.
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
If it all works when you restart the database service, then its probably working because the database has reregistered itself with the listener, and you are connecting via this service.
This would tend to suggest that your original service is not working/connectable.
When everything is working fine, do a
lsnrctl services
lsnrctl status
you will probably see two services for each database, one (the default one) with all the successful connections, and the one manually specified with none.
If tnsping is working, then you are hitting the listener correctly which is a good start. The next stage of the connection is for the listener to determine which database to connect you to, and this is where its going pear shaped.
Post your listener.ora and tnsnames.ora, and we'll advise further.
HTH
Bob
Here's my listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = lags0015)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = e:\apps\oracle)
(PROGRAM = extproc)
)
)
and my tnsnames is
podium=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = comp3)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = odr)
)
)
Your listener knows where to listen (port and protocol) as specified in the LISTENER= part.
However if it receives a request, and the database hasnt registered itself, it wont know what to do with it.
Try changing this portion of your listener.ora to explicity name the instance (static registration)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = e:\apps\oracle)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = e:\apps\oracle)
(SID_NAME = odr)
)
)
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 ) ) Explanation ----------- ORA-12514 occurs when attempting to connect to a Database using MTS Shared connections when the Database is configured to automatically register with the Oracle Net Listener (i.e. Automatic Instance Registration, SERVICE_NAMES), but the Database and/or MTS Dispatchers have failed to regsiter with the Listener.
Look at the connect string in the tnsnames.ora file that OEM 2.0.4 is using. The "CONNECT_DATA" parameter uses "SERVICE_NAME" not "SID".
You need to change the SERVICE_NAME to SID.
The tnsnames.ora is using the SERVICE_NAME instead of SID. This is an 815 sqlnet parameter and the OEM 2.0.4 is based off of Oracle 8.0.4. The 8.0.4 uses SID in tnsnames.
Business Accounts
Answer for Membership
by: catchmeifuwantPosted on 2004-07-09 at 02:18:12ID: 11509887
Try :
SET ORACLE_SID=<SID>
lsnrctl start
This happens when the Oracle_Sid environment variable is not set !