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

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

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

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

Ошибка ORA-12514: TNS:listener does not currently know of service requested

Обновлено: 26.08.2026 · Официальная документация ↗
  • Подключение к СУБД завершается ошибкой ORA-12514: TNS:listener does not currently know of service requested in connect descriptor.
  • В выводе lsnrctl status отсутствует запрашиваемый Service Name или PDB.
  • Ошибка часто возникает сразу после перезапуска базы данных до момента завершения динамической регистрации сервисов.

1. Проверка списка сервисов, зарегистрированных в Listener

lsnrctl status
lsnrctl services

2. Принудительная динамическая регистрация из SQL*Plus

sqlplus / as sysdba
ALTER SYSTEM REGISTER;

3. Проверка статуса Pluggable Database (PDB)

Если используется архитектура Multitenant (CDB/PDB), убедитесь, что PDB открыта в режиме READ WRITE:

SELECT name, open_mode FROM v$pdbs; 
-- Если PDB в статусе MOUNTED:
ALTER PLUGGABLE DATABASE orclpdb OPEN;

4. Настройка статической регистрации в listener.ora

Для гарантированной доступности сервиса даже при закрытой базе настройте listener.ora:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orclpdb.corp.local)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
      (SID_NAME = DB1)
    )
  )
lsnrctl reload
💡 Практика специалистов: Всегда прописывайте хотя бы один статический SID_DESC в listener.ora для административного инстанса, чтобы иметь возможность подключиться к базе через сеть при ее нахождении в состоянии MOUNT/NOMOUNT.

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

Почему после ребута сервера БД ошибка ORA-12514 держится 1-2 минуты, а потом исчезает?

Фоновый процесс регистрации (LREG в 12c-19c или PMON в 11g) отправляет данные о сервисах в Listener с периодичностью раз в 60 секунд. Команда ALTER SYSTEM REGISTER ускоряет этот процесс.

В чем разница между SID и SERVICE_NAME?

SID — уникальный идентификатор инстанса на сервере. SERVICE_NAME — логическое имя сервиса (или PDB), к которому подключаются клиенты. Современные клиенты должны использовать SERVICE_NAME.

Как сделать, чтобы PDB автоматически открывалась при старте CDB?

Выполните команду сохранения состояния: ALTER PLUGGABLE DATABASE ALL SAVE STATE;

Что означает статус 'BLOCKED' или 'UNKNOWN' в lsnrctl status?

UNKNOWN означает статическую регистрацию из listener.ora. BLOCKED означает, что инстанс находится в режиме монтирования или восстановления и не принимает пользовательские подключения.

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