Что может быть не так: ping работает нормально, но tnsping работает с перебоями

У нас есть Oracle 10g, работающий на Windows Server 2003. На компьютере, на котором запущено приложение, использующее эту базу данных, несколько недель назад внезапно начались проблемы с подключением. Сегодня мы запустили автоматические обновления для Windows Server, и проблема только усугубилась. Я понимаю, что этой информации недостаточно для диагностики проблемы, но, возможно, вы можете указать мне правильное направление со следующим более конкретным сценарием:

С этой машины мы можем без проблем пропинговать сервер, и, находясь физически близко и в интранете, вы получаете очень быстрый возврат.

Однако, когда мы запускаем tnsping, я видел 3 разных результата в течение нескольких минут друг от друга.

  1. Tnsping возвращается очень хорошо и в разумные сроки
  2. tnsping возвращается, но только через очень долгое время (несколько секунд)
  3. tnsping приводит к ошибке адаптера протокола ora-12560

В то же время я могу без проблем запустить сервер со своей машины.

Может кто-то указать мне верное направление?

6 ответов

Я бы попробовал проверить следующее:

  • сделать трассировку с сервера приложений и с вашего компьютера, чтобы проверить, нет ли чего-то ненормального
  • проверьте tnsping с другой машины и попытайтесь определить шаблон
  • попробуйте сниффер tcp/ip, чтобы увидеть, что происходит на обоих концах соединения
  • привлечь поддержку оракула

Перед вызовом Oracle я бы создал файл трассировки для случая Fail.

TNSPING.TRACE_LEVEL

Цель

Используйте параметр TNSPING.TRACE_LEVEL, чтобы включить или отключить трассировку утилиты TNSPING.

По умолчанию

от

Значения * off: без вывода трассировки * user: для информации трассировки пользователя * admin: для информации трассировки администрирования * support: для информации трассировки службы поддержки Oracle

пример

TNSPING.TRACE_LEVEL= админ

Прежде чем привлекать оракула к этой проблеме, обратитесь за помощью к администратору сети для следующего теста. Сначала включите подробное ведение журнала в базе данных в слушателе. Включите вход в систему клиента через sqlnet. Перейдите к машине, которая имеет проблемы с tnsping, попросите администратора сети запустить сетевой инструмент для отслеживания tcp-пакетов оттуда. Выполните tnsping и посмотрите, какой пакет отправляется, какой поиск DNS выполняется, какой маршрут идет. В базе данных посмотрите, действительно ли слушатель получает пинг от клиента. Если нет, то посмотрите, где по сети к базе данных проблема. Это разрешение сервера имен? Это плохой сетевой кабель, плохой порт коммутатора и т. Д. Ваш сетевой администратор - ваш лучший друг для решения этой проблемы. Сделайте тот же тест через sqlplus с простым подключением и посмотрите, что клиент регистрирует.

Чтобы устранить проблемы DNS из уравнения, укажите IP-адрес хоста в файле TNSNAMES.ora для вашего соединения вместо имени хоста. Вы используете DHCP?

Вы устранили проблему с оборудованием - пробовали ли вы другой сетевой адаптер?

Убедитесь, что в сети нет другого компьютера с таким же IP-адресом. Один из методов - отключить компьютер от сети и посмотреть, можно ли по-прежнему пропинговать его. Если вы можете, то это проблема.

Если на сервере нет настройки доменного имени на DNS-сервере, добавьте его IP-адрес и имя в файл хоста на сервере; это (сервер не может найти себя в DNS), как известно, вызывает тайм-ауты tns.

Другие вопросы по тегам