0

In human language: What is the difference between: TNS, SID and a Listener? Thanks!

4

3 回答 3

2

SID aka ORACLE_SID标识运行数据库实例的进程。它是一种物理标识符。RAC 数据库通常有多个实例,并且可以使用多个 ORACLE_SID。SID 可用于连接到指定的数据库实例。如果该实例关闭,则连接失败。

SERVICE_NAME是客户端可以连接的逻辑标识符,而不是连接到 SID。特别是在 RAC 数据库中,可能会发生服务仅在数据库实例的子集上运行的情况。使用服务时,应用程序不需要知道在哪个 ORACLE_SID 上提供了所请求的服务。此外,使用服务,您可以通过在维护期间禁用服务来限制对数据库的访问。ORACLE_SID 始终可用,只能置于受限模式,限制对完整实例的所有访问。当应用程序使用服务时,只要至少有一个实例为 service_name 提供服务,与该服务的连接就会成功。

TNS Tranparent Network Substrate,一种位置透明和协议无关的网络技术。位置透明度是通过使用服务和数据库中同义词和数据库链接的组合来实现的。

于 2013-11-05T11:00:36.080 回答
2

SID:站点标识符:数据库的唯一名称。+/- 数据库实例,在该实例上运行多个数据库。

服务名称:实例的别名 (SID)

TNS:透明网络底层:Oracle 依靠 TNS 在 Oracle 数据库之间提供网络连接,而不管底层协议如何。这是一种用户透明的预言机网络技术。

于 2013-11-05T08:06:35.813 回答
-1

这 3 个在 Oracle 术语中是完全不同的东西: - 透明网络基板 (TNS) 是一种 Oracle 网络技术,它在 Oracle 数据库和 Oracle 客户端之间提供通用网络连接,而与底层协议(TCP 等)无关 - SID - Oracle 系统标识符表示特定主机上的 Oracle 数据库实例的唯一名称。独立数据库有一个 SID,它通常但不一定与数据库名称相同。在 RAC 数据库中,每个数据库实例都有自己的 SID。- 侦听器 - 侦听传入客户端连接请求并管理到数据库的网络流量的进程。

于 2013-10-29T15:44:21.423 回答