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

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

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

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

Ошибка ORA-01034: ORACLE not available и ORA-27101 в Oracle DB

Обновлено: 26.08.2026 · Официальная документация ↗
  • Ошибка ORA-01034: ORACLE not available в сочетании с ORA-27101: shared memory realm does not exist.
  • Клиентские подключения по сети через Listener завершаются с TNS-12514 / ORA-01034.
  • Экземпляр СУБД не запущен или аварийно завершился из-за нехватки системных ресурсов памяти.

1. Проверка переменных окружения в Linux

Самая распространенная причина ошибки при локальном запуске — неверно заданная переменная $ORACLE_SID или $ORACLE_HOME:

echo $ORACLE_SID
echo $ORACLE_HOME

# Установка корректного окружения (регистрозависимо!)
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

2. Проверка и запуск экземпляра базы данных

sqlplus / as sysdba

-- Если вывелось 'Connected to an idle instance', запустите базу:
STARTUP;

3. Проверка нехватки Shared Memory / HugePages в Linux

Если база не может стартовать и падает в ORA-01034, проверьте параметры ядра ОС в /etc/sysctl.d/99-oracle.conf:

# Максимальный размер сегмента разделяемой памяти (в байтах)
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
vm.nr_hugepages = 16400
sysctl --system

4. Проверка регистрации сервиса в TNS Listener

lsnrctl status

-- Если сервис находится в статусе BLOCKED или отсутствует, зарегистрируйте его принудительно:
ALTER SYSTEM REGISTER;
💡 Практика специалистов: Всегда используйте системную утилиту `oraenv` (`. oraenv`) перед входом в sqlplus под пользователем oracle, чтобы гарантированно инициализировать корректные пути SID и HOME.

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

Почему ORA-01034 возникает при правильном ORACLE_SID?

В Linux переменные окружения чувствительны к регистру. Если база называется 'orcl', а в переменной экспортировано 'ORCL', вы получите ошибку ORA-01034 / ORA-27101.

Что делать, если база падает в ORA-01034 сразу после команды STARTUP?

Проверьте alert.log. Если суммарный размер памяти SGA (sga_target / sga_max_size) превышает физически доступную память или лимит tmpfs/HugePages, Linux OOM Killer уничтожает процесс ядра СУБД.

Как настроить автозапуск базы при ребуте сервера Linux?

Отредактируйте файл /etc/oratab, установив флаг 'Y' в конце строки: orcl:/u01/app/oracle/product/19.0.0/dbhome_1:Y и настройте systemd-юнит или скрипт dbstart.

В чем отличие ORA-01034 от ORA-01033?

ORA-01034 означает, что экземпляр базы данных вообще не запущен (SGA не выделена). ORA-01033 означает, что экземпляр запущен, но находится в процессе инициализации или монтирования.

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