Страницы

Поиск по вопросам

пятница, 28 февраля 2020 г.

Ошибка после установки на Ubuntu ORA-27101: shared memory realm does not exist

#база_данных #ubuntu #oracle #установка #oracle11g


SQL*PLUS выдаёт ошибку:


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


При старте БД:

sudo service oracle-xe start
Starting Oracle Net Listener.
Starting Oracle Database 11g Express Edition instance.
Failed to start Oracle Net Listener using /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr
and Oracle Express Database using /u01/app/oracle/product/11.2.0/xe/bin/sqlplus.


Ставила по этой инструкции.
Но пропустила шаг: 

sudo rm -rf /dev/shm
sudo mkdir /dev/shm 


потому, что при простой замене имени каталога /dev/shm у меня пропал интернет. Просто
так удалять системные файлы, боязно. Теперь не могу удалить /dev/shm, т.к. он занят.
    


Ответы

Ответ 1



Сообщение об ошибке: ORA-27101: shared memory realm does not exist означает, что процесс (обычно Listener, sqlplus) не может подсоединиться к System Global Area (SGA). В основном это вызывают две причины: SGA действительно не существует, так как инстанция БД не стартовала. Стартуйте инстанцию БД под пользователeм oracle: $ echo startup|sqlplus / as sysdba Shared memory segment Id для подключения к SGA генерируется из значений переменных окружения: $ORACLE_SID + $ORACLE_HOME. Если эти значения не соответствуют тем, которые были использованы при запуске инстанции БД, то будет выше указанная ошибка, так как такого сегмента не существует. Проверьте переменные окружения: env | egrep -i "oracle_(sid|home)" Значения $ORACLE_SID + $ORACLE_HOME, которые были использованы при установке хранятся в /etc/oratab и устанавливаются так: export ORACLE_SID=orcl; . oraenv Например, если попытаться установить вручную и при этом ошибиться: $ echo exit|sqlplus -l user/pass Connected to: Oracle Database 11g Release 11.2.0.1.0 - Production $ ORACLE_HOME=$ORACLE_HOME/; test -d $ORACLE_HOME && echo "directory exists" # ------^ directory exists Всё хорошо, директория существует и sqlplus из неё будет вызываться, но незначащий слэш даст при подсчёте shmid другое значение: $ echo exit|sqlplus -l user/pass ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux Error: 2: No such file or directory

Комментариев нет:

Отправить комментарий