Further to what steve said, when Oracle Home environment variable is pointing to incorrect/another Oracle Home - you might see the below error
C:\oracle\ora112\bin> sqlplus /nolog
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly
You can undestand that oracle call interface would get intialize to the environment which is setted to your ORACLE_SID, perhaps internally it would get verified with existence of instance availability.
As the semaphores /shared memory segments doesn't get initialize with oracle_sid, so it would certainly reflect idle instance.