9

我一直在尝试让 sqlplus 从我的 OS X 机器连接到 Oracle。我在这里问了另一个问题。

一个人建议我尝试 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 的连接,我将不胜感激。

4

5 回答 5

11

他们提议使用telnet仅仅是因为它是最简单的 TCP/IP 客户端之一,而且它几乎安装在任何地方。这只是一种从命令行检查您是否真的能够与任何特定服务建立 TCP/IP 连接的简单方法。

此外,在许多基于 ASCII 的 IP 协议上,它可以直接与服务器进行实际交互,通过输入命令并查看响应来检查其工作情况——我自己已经用 SMTP 服务器做过很多次了。

在您的情况下,当您超时时,整个主机都已关闭,或者防火墙阻止了对该特定主机或服务的访问。如果您可以使用 a 访问服务器,ping则后者更有可能。

还有一个外部机会,您的名称解析实际上将您带到了错误的主机,但您应该能够通过查看telnet它试图连接的 IP 地址来确认这一点。

另一个常见的响应是“连接被拒绝”。这意味着主机已启动,但指定端口上没有运行任何服务。

于 2009-04-17T22:46:40.270 回答
7

基本上当您指定端口号时,例如

Telnet myserver 1521

它将尝试连接到该端口上的机器。如果您看到任何返回的数据或什至是空白控制台,则它已连接。如果您收到无法连接的消息,则表明机器未在该端口上侦听或防火墙阻止了连接。

于 2009-04-17T22:29:11.247 回答
3

您尝试 telnet 到 dbhost 1521 时出现“无法连接”并超时,这表明您的“dbhost”主机名解析给了您错误的答案,或者该主机处于脱机、关闭或您的网络问题。

如果 oracle 工作正常,您将获得连接。你真的不能用它任何事情,但它会确认 oracle 已经启动并正在监听。

于 2009-04-17T22:28:48.847 回答
1

Oracle 实例没有从其他系统连接,当它从 连接时localhost,我认为端口没有打开,它显示telnet 1521从其他系统的端口有问题。

于 2012-11-14T07:47:19.700 回答
-6

为什么不以“正确”的方式去做呢?如果数据库及其监听器工作正常,Telnet 到某个任意网络端口不会为您提供正确的信息。

只需安装 oracle instantclient软件并使用配置向导。

于 2009-04-20T08:50:22.453 回答