Mental Note: Connected to an idle instance.

If you use and abuse of “sqlplus / as SYSDBA” to establish a connection to database as SYSDBA you may find this odd issue:

oracle@phoenix ~]$ sqlplus / as SYSDBA
..
Connected to an idle instance.

 

Since you have pretty sure that instance is up and running (confirmed using for example UNIX ps command or srvctl status database), something might be wrong with your environment variables.

[oracle@phoenix ~]$ srvctl status database -d fenix
Database is running.
[oracle@phoenix ~]$ env | grep ORACLE_
ORACLE_SID=fenix
ORACLE_DUMP=/u01/app/oracle/diag/rdbms/
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1/

 

The trick here is verify if the value of ORACLE_HOME that Oracle use to start is _exactly_ the same as your $ORACLE_HOME environment variable:

[oracle@phoenix ~]$ ps -ef | grep pmon
oracle 6459 1 0 Oct15 ? 00:00:13 asm_pmon_+ASM
oracle 6524 1 0 Oct15 ? 00:00:15 ora_pmon_fenix
[oracle@phoenix ~]$ ps e -f 6524 > pmon.out
[oracle@phoenix ~]$ cat pmon.out
UID PID PPID C STIME TTY STAT TIME CMD
oracle 6524 1 0 Oct15 ? Ss 0:15 ora_pmon_fenix ... LOGNAME=oracle UPSTART_JOB=rc
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
CRS_LIMIT_STACK=2048 ORACLE_SID=fenix ..

 

As you can see, ORACLE_HOME variable is not exactly the same as your environment variable $ORACLE_HOME and the difference is only a char “/” in the end. It seems that sqlplus can’t handle this and not accept any difference.
The workaround is to change your environment variable and remove the “/” char.

Advertisements

One thought on “Mental Note: Connected to an idle instance.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s