I recently installed Oracle 10g on my desktop (WinXP,1.0 processor,512 MB RAM)
It installed O.K. but I have only been able to log in and use it once. Every time since then it gives me the folllowing error message:
"ORA-12560 error. TNS protocol adapter error"
I am using the correct host string and I haven't changed the password and anyway I don't think it is a problem with the password as it gives a different error message for that. Could it be that my system is too slow? The minimum requirments for 10g are 500 MB of RAM and 200 Ghz processor so that is unlikely.
I have checked Services under Administrative Tools in the Control Panel and mostly everything I need under Oracle is on "Automatic" and "Started".
I also looked up the Oracle standard error messages.
It gave this for the error message in question:
"TNS-12560 TNSrotocol adapter error
Cause: A generic protocol adapter error occurred.
Action: Check addresses used for proper protocol specification. Before reporting this error, look at the error stack and check for lower level transport errors.For further details, turn on tracing and re-execute the operation. Turn off tracing when the operation is complete."
Just to clarify, when you launch SQL*Plus from the DOS command prompt and issue the command CONNECT SYS/PWD AS SYSDBA does it return ORA-12560? If so, then it is probably NOT a networking problem as this type of connection bypasses the Oracle Net and does a bequeath.
In your registry under HKLM/Software/Oracle/YourHome, you can optionally create the key ORACLE_SID as a string value and set it to the value of your DB_NAME parameter found in your init.ora file. However, if you are launching SQL*Plus from the DOS prompt then you need to either (1) set ORACLE_SID at the DOS prompt or (2) set ORACLE_SID as a global environment variable in your system properties (i.e., right click on My Computer, select properties, click on Advanced, click on Environment ...) This is because SQL*Plus from the DOS prompt won't read ORACLE_SID from the Oracle Home registry folders, only from the global registry folders. SQL*Plus for Windows, on the other hand, will read ORACLE_SID from the Oracle Home folders.
The most common cause of ORA-12560 is the Windows service not being started. But, as you noted, the service is listed as Started in the control panel.
Surprisingly, a major cause of the ORA-12560 on Windows is from malformed PFILE key in your registry. Look at HKLM/software/oracle/yourhome. See all the keys for your database? Delete the key ORA_yoursid_PFILE. Recreate the key as a "string value" and enter the full path and file name of your init.ora file. Do not put quotes around the value - the registry editor will do that, and if you wind up with two sets of single quotes you will get ORA-12560.
If you are using a Windows client operating system such as Windows 2000 Professional, and your computer is part of a domain using Active Directory authenticated user accounts, then you can suffer greatly. You should create a dedicated user account on the local machine, not a domain user, and install all Oracle software as that user (just like they do on Unix.) The user must be a member of the local Administrator's group, and depending on the options you are using should also have "logon as batch job" and "logon as service" granted via the Local Policy Editor in your Control Panel. If you have domain authentication and do not perform the above steps, then you need to edit sqlnet.ora and reset the authentication_services from (NTS) to (NONE) and then always specify the SYS user's password at connect time.