SID 与 Oracle tnsnames.ora 中的服务名称有何不同

2021-12-06 00:00:00 service database sid oracle administration

为什么我需要两个?当我必须使用一种或另一种时?

Why do I need two of them? When I have to use one or another?

推荐答案

引用 @DAC

简而言之:SID = 的唯一名称您的数据库,ServiceName = 使用的别名连接时

In short: SID = the unique name of your DB, ServiceName = the alias used when connecting

不完全正确.SID = INSTANCE 的唯一名称(例如在机器上运行的 oracle 进程).Oracle 将数据库"视为成为文件.

Not strictly true. SID = unique name of the INSTANCE (eg the oracle process running on the machine). Oracle considers the "Database" to be the files.

服务名称 = 实例(或多个实例)的别名.这样做的主要目的是,如果您正在运行一个集群,客户端可以说将我连接到 SALES.acme.com",DBA 可以即时更改实例的数量可用于 SALES.acme.com 请求,甚至将 SALES.acme.com 移动到完全不同的数据库,而无需客户端更改任何设置.

Service Name = alias to an INSTANCE (or many instances). The main purpose of this is if you are running a cluster, the client can say "connect me to SALES.acme.com", the DBA can on the fly change the number of instances which are available to SALES.acme.com requests, or even move SALES.acme.com to a completely different database without the client needing to change any settings.

相关文章