Ошибка ORA-12560: TNS:protocol adapter error — решение в Windows и Linux
- При запуске утилиты
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=DB12. Проверка статуса службы в Windows
# Запуск службы инстанса через PowerShell
Start-Service OracleServiceDB1
Start-Service OracleOraDB19Home1TNSListener3. Проверка прав пользователя в OSDBA группе
# В Linux пользователь должен состоять в группе dba:
usermod -aG dba oracle_user
# В Windows пользователь должен быть в группе ORA_DBA4. Проверка протокола IPC в sqlnet.ora
Убедитесь, что протокол BEQ (Bequeath) или IPC не заблокирован в настройках клиента.
Частые вопросы (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. Там будет зафиксирован код внутренней ошибки ОС.