ORA-27101: shared memory realm does not exist
My case. Database was available for users. When I try shutdown Oracle database I receive below error:
SQL> shu immediate ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux-x86_64 Error: 2: No such file or directory Additional information: 4376 Additional information: -1209981049 Process ID: 0 Session ID: 0 Serial number: 0
Solutions
To resolve this issue with ORA-27101, You should be sure that ORACLE_HOME and ORACLE_SID are correct.
At the beginning we should check how the environment is currently set on the oracle user:
[oracle@hostname~] env |grep -i ora USER=oracle ORACLE_SID=SID ORACLE_BASE=/oracle/SID MAIL=/var/spool/mail/oracle PATH=/oracle/SID/19/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin PWD=/home/oracle HOME=/home/oracle LOGNAME=oracle ORACLE_HOME=/oracle/SID/19
Now check the environment used by the running database:
[oracle@hostname ~] ps -ef |grep smon oracle 8634 1 0 May09 ? 00:01:00 ora_smon_SID oracle 50057 32870 0 21:20 pts/1 00:00:00 grep --color=auto smon [oracle@hostname ~]
[oracle@hostname ~] sudo strings /proc/8634/environ | grep ORA ORACLE_BASE=/oracle/SID ORACLE_HOME=/oracle/SID/19.0.0 ORACLE_SID=SID ORA_NET2_DESC=179,187 ORACLE_SPAWNED_PROCESS=1 [oracle@hostname ~]
You see difference between oracle user environment and running database environment. This is the reason why the database cannot be disabled and You see error: ORA-27101: shared memory realm does not exist.
To correct, simply execute:
[oracle@hostname ~] export ORACLE_HOME=/oracle/SID/19.0.0
Now database will be shutdown without any problems.