Share |

ORA-27101: Shared memory realm does not exist

Shared memory realm is not available on the system.
One of the reasons is that there was not enough memory available to create a shared memory segment.

If this is the case the alert.log file should contains a message indicating this.

On Unix this might be indicating that some kernel parameters are set too low (SHMMAX, SEMMNI, ...).
A previous shared segment that was not cleaned up correctly might also exist.
Check with you Unix engineer for possible causes/fixes.

Some useful Unix commands can be: ipcs -s, ipcrm -s, kmtune -q, ...

Another possibility is that the init.ora or spfile is missing, thus disallowing the database from starting up.

Also, if you are sure the database is running, there might be a problem with automatic instance registration.
With automatic instance registration, you have to add the LOCAL_LISTENER variable to the spfile.

First we are going to see if the listener was configured corrrectly.
tnsping dbm001

TNS Ping Utility for Linux: Version 11.1.0.7.0 - Production on 24-NOV-2008

Copyright (c) 1997, 2008, Oracle.  All rights reserved.

Used parameter files:
/oracle/product/11.1.0/db_1/network/admin/sqlnet.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DBM001)))
OK (0 msec)

The listener seems to be working fine.

Now, let's make a connection:
sqlplus system@dbm001

SQL*Plus: Release 11.1.0.7.0 - Production on Mon Nov 24

Copyright (c) 1982, 2008, Oracle.  All rights reserved.

Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0

We couldn't make a remote connection (hence the @DBM001), but as you can see, the database is running:
Enter user-name: / as sysdba

Connected to:
Oracle Database 11g Release 11.1.0.7.0 - Production

SQL> show parameter local_listener;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string


The value for LOCAL_LISTENER is missing, so automatic instance registration is not taking place, and instance DBM001 will not be known to the listener.
The listener is trying to get to the DBM001 instance, but it cannot find it, because it is not registered with the listener.
This results in ORA-27101: shared memory realm does not exist

We can correct this by setting the LOCAL_LISTENER parameter:
SQL> alter system set local_listener='(ADDRESS =(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)(SID=DBM001))';

System altered.

SQL> alter system register;

System altered.


SQL> exit
Disconnected from Oracle Database 11g Release 11.1.0.7.0 - Production

Now, let's try to make a new remote connection:

sqlplus system@dbm001

SQL*Plus: Release 11.1.0.7.0 - Production on Mon Nov 24

Copyright (c) 1982, 2008, Oracle.  All rights reserved.

Enter password:

Connected to:
Oracle Database 11g Release 11.1.0.7.0 - Production


Now we can make a successful remote connection.
 Was this information helpful?  Yes No
If it was not helpful, please take some time to explain why. This is not to ask questions, you can do so in the forum.

Welcome to our forum for Oracle error: ORA-27101 Add your own message



[oracle@xxx bin]$ sqlplus

SQL*Plus: Release 10.2.0.1.0

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Enter user-name: / as sysdba
Connected to an idle instance.

SQL> startup
ORA-44410: XE edition single instance violation error


SQL*Plus: Release 10.2.0.1.0

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Enter user-name: test/test
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory

ipcs

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x880f3334 98307 oracle 640 134221824 13

------ Semaphore Arrays --------
key semid owner perms nsems
0x0f9b5efc 557068 oracle 640 44
0x92d30344 2949133 oracle 640 44

------ Message Queues --------
key msqid owner perms used-bytes messages

[oracle@id91197 bin]$ sysresv

IPC Resources for ORACLE_SID "XE" :
Shared Memory
ID KEY
No shared memory segments used
Semaphores:
ID KEY
2949133 0x92d30344
Oracle Instance not alive for sid "XE"

--> 2 Semaphores detected by ipcs, but only one detected by sysresv

ipcrm -s 557068

sqlplus /

SQL*Plus: Release 10.2.0.1.0

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Enter user-name: as sysdba
Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 134217728 bytes
Fixed Size 1257620 bytes
Variable Size 58724204 bytes
Database Buffers 71303168 bytes
Redo Buffers 2932736 bytes
Database mounted.
Database opened.


sysresv

IPC Resources for ORACLE_SID "XE" :
Shared Memory:
ID KEY
557059 0x679eb6dc
Semaphores:
ID KEY
3244044 0x92d30344
Oracle Instance alive for sid "XE"

ipcs

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x679eb6dc 557059 oracle 640 134221824 13

------ Semaphore Arrays --------
key semid owner perms nsems
0x92d30344 3244044 oracle 640 44

------ Message Queues --------
key msqid owner perms used-bytes messages
 
I HAVE ORACLE 10G INSTALLED ON UNIX SERVER. IT HAS TWO DATABASES. CURRENTLY ONLY ONE IS BEING USED.ALL WORKS FINE BUT SUDDENLY IN MID OF OPERATIONS BEING PERFORMED ON DATABSE SUDDENLY IT THROWS THE ERROR : ORACLE NOT AVAILABLE, SHERD MEMORY REALM DOES NOT EXIST. BUT AFTER SOMETIME IT STARTS AUTOMATICALLY. ANY REASON WHY DOES IT HAPPEN SO?
You need to check your alert.log file, this might contain additional messages as why this happens
 
ORA-27101: Shared memory realm does not exist, after restarting the system this problem has been occured.
 

I've been working with Oracle for over 10 years and have been stumped in the last month by a "lightweight" XE install.  Our application had all sorts of problems connecting, tried your "alter system set local_listener" suggestion above, and bingo, we are good to go.  I have never seen this solution, thank you very much for the pointer, I have it saved in stone!

 

When I Login in oracle9i SQL * Plus i get a msg "Shared Memory Realm Does not exit how can i get ride this problem  ???????

 

 

when connecting with connect string it show this problem

Enter user-name: singh@rathore
Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory


make sure your database instance is registered with the listener

 

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

 

how to fix this error

 

I have oracle 8 i version in my system sometime it will give me an error that "Oracle not availabel" after I login in sqlplus that givem me an error






ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

 






Your database goes down for some reason. 

Follow the steps in this note. Check your alert.log file for more info

Add your message

 Please provide your personal info 



 Please ask your message as briefly and clear as possible 

 Spam Protection 
Validation Code: b38ptvct4ej53terf


Ask Your Question

If you need more information about this particular error message, you can leave a forum message.

We are replying to this message whenever we have some spare time, so please do not consider this as a private 'solve my critical issue asap' service.

Should you need professional Oracle Assistance to make your project a success, please have a look at our consultancy services.


Spam Protection

In order to prevent automatic generation of messages, we are asking for a validation code. This code is unique and is generated every time a new message is asked.

If you do not enter the validation correctly, your message will not be recorded.


Forum Rules

Please be polite, do not USE ALL UPPERCASE, no insults, violance or any other threats.