Oracle中的所有数据库实例或服务是否都具有相同的侦听器端口?

时间:2015-03-07 09:33:55

标签: oracle oracle11g oracle-sqldeveloper

我正在尝试了解办公室中的oracle数据库环境。

在我办公室的Oracle SQL开发人员中,有多个连接使用相同的端口和主机,但使用不同的服务。

enter image description here

从oracle文档中,我已经读过:

  

端口: 这是数据库的侦听器端口。 Oracle数据库的默认端口是1521。   服务名称:这是数据库的网络服务名称。选择SID或服务名称。

是否意味着服务/数据库实例在不同的端口上运行,但是具有到外部连接的公共侦听器端口?

1 个答案:

答案 0 :(得分:2)

每个数据库都有一个不同的SID(服务ID)和服务名称。 SID是较旧的,已弃用的命名方法,现在是服务名称的推荐命名方法。

拥有一个侦听器和多个数据库是很常见的。监听器有一个配置文件,告诉它它知道哪些数据库。

如果在客户端主机上使用本机Oracle客户端,则会有一个TNSnames.ora文件,其中列出了可以连接到的每个数据库以及侦听与DB连接的侦听器。或者,您可以使用其他连接类型,例如JDBC,列出相同的细节;服务名称,主机和端口。

因此,要从客户端连接到数据库,您可以告诉连接软件(oracle客户端,您的定制应用程序等)通过监听器连接到数据库。

从客户端到侦听器建立连接,然后侦听器将该连接传递给DB,并为该连接指定端口号。但是只发布了侦听器端口,只需要知道侦听器端口。