我正在尝试了解办公室中的oracle数据库环境。
在我办公室的Oracle SQL开发人员中,有多个连接使用相同的端口和主机,但使用不同的服务。
从oracle文档中,我已经读过:
端口: 这是数据库的侦听器端口。 Oracle数据库的默认端口是1521。 服务名称:这是数据库的网络服务名称。选择SID或服务名称。
是否意味着服务/数据库实例在不同的端口上运行,但是具有到外部连接的公共侦听器端口?
答案 0 :(得分:2)
每个数据库都有一个不同的SID(服务ID)和服务名称。 SID是较旧的,已弃用的命名方法,现在是服务名称的推荐命名方法。
拥有一个侦听器和多个数据库是很常见的。监听器有一个配置文件,告诉它它知道哪些数据库。
如果在客户端主机上使用本机Oracle客户端,则会有一个TNSnames.ora文件,其中列出了可以连接到的每个数据库以及侦听与DB连接的侦听器。或者,您可以使用其他连接类型,例如JDBC,列出相同的细节;服务名称,主机和端口。
因此,要从客户端连接到数据库,您可以告诉连接软件(oracle客户端,您的定制应用程序等)通过监听器连接到数据库。
从客户端到侦听器建立连接,然后侦听器将该连接传递给DB,并为该连接指定端口号。但是只发布了侦听器端口,只需要知道侦听器端口。