ORA-27101: Shared memory realm does not exist
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 - ProductionNow, 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.
Welcome to our forum for Oracle error: ORA-27101 Add your own message
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'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
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
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.
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.
