Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

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

Ошибка ORA-12560: TNS:protocol adapter error — решение в Windows и Linux

Обновлено: 26.08.2026  ·  Официальная база знаний
  • При запуске утилиты sqlplus / as sysdba или при старте Listener возникает ORA-12560: TNS:protocol adapter error (в Windows — TNS-00530: Protocol adapter error).
  • В Windows остановлена служба OracleService<SID>.
  • В Linux не задана переменная окружения ORACLE_SID или ORACLE_HOME.

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

# Linux
export ORACLE_SID=DB1
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

# Windows (CMD)
set ORACLE_SID=DB1

2. Проверка статуса службы в Windows

# Запуск службы инстанса через PowerShell
Start-Service OracleServiceDB1
Start-Service OracleOraDB19Home1TNSListener

3. Проверка прав пользователя в OSDBA группе

# В Linux пользователь должен состоять в группе dba:
usermod -aG dba oracle_user

# В Windows пользователь должен быть в группе ORA_DBA

4. Проверка протокола IPC в sqlnet.ora

Убедитесь, что протокол BEQ (Bequeath) или IPC не заблокирован в настройках клиента.

Практический опыт инженера: В Linux-окружении для автоматической инициализации окружения используйте утилиту . oraenv, прописав ее вызов в ~/.bash_profile пользователя oracle.

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

Почему ORA-12560 возникает при локальном подключении без указания сетевого алиаса?

Локальное подключение (Bequeath connection) пытается связаться с инстансом через разделяемую память IPC. Если ORACLE_SID не задан или служба СУБД выключена, адаптер протокола возвращает ошибку.

Как исправить ORA-12560 в реестре Windows?

Проверьте ключ HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDB19Home1 и убедитесь, что параметр ORACLE_SID имеет корректное значение имени вашей БД.

Может ли антивирус вызвать ORA-12560?

Да, если антивирусное ПО или DLP блокирует низкоуровневые Named Pipes или дескрипторы сокетов процесса oracle.exe в Windows.

Что проверить в Event Viewer Windows при ORA-12560?

Откройте 'Просмотр событий' -> 'Журналы Windows' -> 'Приложение' и найдите события от источника Oracle. Там будет зафиксирован код внутренней ошибки ОС.