Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

ORA-27101 1С:Предприятие и СУБД

Ошибка ORA-27101: shared memory realm does not exist — решение проблемы

Обновлено: 26.08.2026 · Официальная документация ↗
  • При попытке подключения клиент получает связку ошибок: ORA-01034: ORACLE not available и ORA-27101: shared memory realm does not exist.
  • Экземпляр СУБД выключен или находится в процессе падения.
  • Переменная окружения ORACLE_SID указана с ошибкой в регистре символов (case-sensitive в Linux).

1. Проверка регистра переменной ORACLE_SID в Linux

В Linux имя инстанса чувствительно к регистру букв (например, db1 и DB1 — разные сущности):

echo $ORACLE_SID
ps -ef | grep pmon

2. Запуск экземпляра базы данных

Если процесс PMON отсутствует, подключитесь как SYSDBA и запустите инстанс:

export ORACLE_SID=DB1
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
sqlplus / as sysdba

SQL> STARTUP;

3. Проверка параметров ядра Linux для разделяемой памяти (IPC)

В /etc/sysctl.d/99-oracle-shm.conf:

kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
sysctl --system

4. Проверка прав на бинарник oracle

chmod 6751 $ORACLE_HOME/bin/oracle
💡 Практика специалистов: Если вы подключаетесь через TNS Listener и получаете ORA-27101, проверьте соответствие ORACLE_HOME в listener.ora и фактического каталога инстанса. Несовпадение путей приводит к поиску SGA в неверном пространстве IPC.

Частые вопросы (FAQ)

Что означает термин 'shared memory realm' в Oracle?

Это сегмент разделяемой памяти System V IPC или POSIX Shared Memory, выделенный ядром ОС под структуры System Global Area (SGA) конкретного экземпляра Oracle.

Почему ORA-27101 возникает, если база запущена?

Пользователь подключился с другим значением ORACLE_HOME или ORACLE_SID. Клиент пытается подключиться к сегменту памяти с другим хэш-ключом IPC, которого нет в системе.

Как посмотреть существующие сегменты разделяемой памяти в ОС?

Выполните команду ipcs -m или ipcs -u в терминале Linux.

Зачем нужны права 6751 (SUID) на файл bin/oracle?

Бит SUID необходим, чтобы обычные пользовательские процессы могли переключаться в контекст пользователя oracle и подключаться к общим сегментам памяти SGA.

Полезные материалы
Рекомендуем