How to solve ORA-12560:TNS:protocol adapter error?
884659Apr 21 2012 — edited Apr 22 2012I'm trying to use sqlplus on Windows 2008 R2 which is installed on VirtualBox to access an Oracle 11gR2 database on Red Hat Linux.
I'm sure that the database on Red Hat Linux is up and tnsnames.ora is a copy from another machine which is used by another application to connect to the same Oracle database.
When I run sqlplus, I got the ORA-12560: TNS:protocol adapter error.
sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES = (NTS)
Both sqlnet.ora and tnsnames.ora are located in c:\app\administrator\product\11.2.0\client64\network\admin folder.
The registry ORACL_HOME has c:\app\administrator\product\11.2.0\client64.
echo %ORACLE_HOME% incommand window returns %ORACLE_HOME%
echo %ORACL_SID% in command window returns %ORACLE_SID%
If I set ORACLE_HOME to another folder, I will get the following error:
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
So, I believe the ORACLE_HOME in registry has the correct value.
I have also tried set ORACLE_SID to the service name listed in tnsnames.ora but sqlplus still returns the ORA-12560:TNS:protocol adapter error.
For unknown reason, the value of ORACLE_HOME and ORACLE_SID I set by using set command will not persist after I close the command window that I set the values.