Как вы используете telnet для проверки соединения с Oracle? - PullRequest
8 голосов
/ 18 апреля 2009

Я пытался заставить sqlplus подключиться к Oracle с моего компьютера с OS X. Я задал еще один вопрос об этом здесь .

Один человек предложил мне попробовать telnet. Посмотрев справочную страницу, я попробовал:

[ ethan@gir ~ ]$ telnet DBHOST:1521
Trying xxx.xxx.xxx.xxx...
telnet: connect to address xxx.xxx.xxx.xxx: Operation timed out
telnet: Unable to connect to remote host

Кроме того ...

[ ethan@gir ~ ]$ telnet DBHOST 1521

... с тем же результатом.

Я не уверен, как интерпретировать эти результаты. Похоже, что вы ожидаете в любом случае. Ты бы этого не сделал ...

$ ssh some_mysql_host:3306

Чем отличается telnet от Oracle?

Или, может быть, я не понял, что они имели в виду.

Если бы кто-нибудь мог помочь мне понять, как использовать telnet для проверки соединения с Oracle, я был бы благодарен.

Ответы [ 5 ]

10 голосов
/ 18 апреля 2009

Они предлагают использовать telnet просто потому, что это один из самых простых клиентов TCP / IP и потому, что он установлен почти везде. Это просто простой способ проверить из командной строки, действительно ли вы можете установить соединение TCP / IP с какой-либо конкретной службой.

Кроме того, на многих IP-протоколах на основе ASCII очень просто взаимодействовать с сервером, проверяя его работу, вводя команды и просматривая ответы - я сам делал это много раз с серверами SMTP.

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

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

Другой распространенный ответ - «Отказ в соединении». Это означает, что хост работает, но на указанном порту нет службы, работающей.

7 голосов
/ 18 апреля 2009

В основном, когда вы указываете номер порта, например,

Telnet myserver 1521

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

3 голосов
/ 18 апреля 2009

Ваша попытка подключиться к dbhost 1521 через telnet с «тайм-аутом соединения» означает, что либо ваше разрешение имени хоста для «dbhost» дает вам неправильный ответ, либо хост отключен, либо у вас проблемы с сетью.

Если бы оракул работал, вы бы получили соединение. На самом деле вы не сможете сделать что-либо с ним, но это подтвердит, что оракул был включен и слушал.

1 голос
/ 14 ноября 2012

Экземпляр Oracle не подключен из других систем, хотя он подключен из localhost, я думаю, что порт не открыт, и он показывает проблему для порта telnet 1521 из другой системы.

0 голосов
/ 20 апреля 2009

Почему бы не сделать это «правильным» способом? Telnet к некоторому произвольному сетевому порту не даст вам правильную информацию, если база данных и ее слушатель работают правильно.

Просто установите программное обеспечение oracle instantclient и используйте мастер настройки.

...