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

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

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

Ошибка ORA-12170: TNS:Connect timeout occurred — траблшутинг сети

Обновлено: 26.08.2026  ·  Официальная база знаний
  • Клиент долго ожидает ответа от сервера и падает с ошибкой ORA-12170: TNS:Connect timeout occurred.
  • Команда tnsping зависает и возвращает TNS-12535: TNS:operation timed out.
  • Сетевые пакеты TCP SYN блокируются межсетевым экраном (Firewall / Security Group).

1. Проверка доступности порта 1521 через TCP/Telnet

# С клиента
nc -zvw3 db-server-ip 1521
# Или через PowerShell
Test-NetConnection -ComputerName db-server-ip -Port 1521

2. Проверка статуса локального фаервола на сервере БД

# RHEL / Rocky Linux
firewall-cmd --permanent --add-port=1521/tcp && firewall-cmd --reload

# Ubuntu (UFW)
ufw allow 1521/tcp

3. Проверка прослушивания сокета процессом Listener

ss -tulpn | grep 1521

4. Тюнинг сетевых таймаутов в sqlnet.ora

Добавьте на клиенте и сервере в sqlnet.ora:

TCP.CONNECT_TIMEOUT = 10
SQLNET.INBOUND_CONNECT_TIMEOUT = 60
Практический опыт инженера: Если сервер приложений 1С и Oracle разделены облачными сетями (AWS/Azure/VK Cloud), убедитесь, что в Security Groups открыт входящий трафик на порт 1521 для подсети кластера 1С.

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

В чем разница между ORA-12170 и ORA-12541 (No listener)?

ORA-12541 возникает, когда сервер доступен и быстро отвечает пакетом TCP RST (порт закрыт). ORA-12170 означает, что сервер вообще не отвечает (пакеты молча отбрасываются фаерволом Drop/Timeout).

Может ли перегрузка процессора сервера вызвать ORA-12170?

Да, если очередь входящих TCP-соединений (listen backlog) переполнена из-за 100% утилизации CPU, новые клиенты будут отваливаться по Connect Timeout.

Как увеличить размер очереди входящих соединений Listener?

В файле listener.ora укажите параметр QUEUESIZE: (ADDRESS=(PROTOCOL=TCP)(HOST=db-srv)(PORT=1521)(QUEUESIZE=100)).

Влияет ли MTU на появление спорадических ошибок ORA-12170?

Да, несоответствие MTU (Jumbo Frames) на пути между сервером приложений и СУБД приводит к потере фрагментированных пакетов и зависанию TCP-хендшейка.