全部。
我在谷歌搜索过这个主题,有几个信息,但这让我更加困惑..
一开始我以为SID是“数据库”而不是“实例”的唯一键,必须与“DB_NAME”匹配。
然而,在一篇文章中,它说 SID 不需要匹配数据库名称、全局名称、唯一名称和实例名称.. 与一些实际配置。在另一篇文章中,它说 SID 是数据库名称 + 实例号的组合。
据我所知,
实例是正在运行的服务器 ORACLE 进程,其中包含 SGA。
数据库只是存储用户应用程序数据的存储。当实例运行时,它访问数据库,挂载控制文件,打开数据文件和重做日志。
如果上述评论是正确的,我认为 SID 必须是数据库,并且.. 可能是 DB_NAME..
现在我混淆了数据库、实例、SID 和 DB_NAME。
谢谢你的阅读。。
是的。它是磁盘上文件(数据文件、控制文件、重做日志、临时文件、块更改跟踪文件等)的集合。
是的。Instance是进程+SGA的集合。
通常一个实例属于一个数据库,但一个 RAC 数据库可以在多个节点上有多个实例。
db_name
是数据库的名称。它也存储在数据库文件和 pfile/spfile 中。SID
通过名称标识实例。可以通过设置instance_name
参数来改变。它不存储在数据库文件中,仅存储在 pfile/spfile 中。(请注意,它不是严格唯一的标识符,多个实例可以存在于同名的同一服务器上,从不同的 Oracle Home 运行)。SID (instance_name)
默认为db_name
.如果是集群数据库,
SID (instance_name)
默认为db_name + instance_number
.在上述之上,
SID (instance_name)
可以通过设置instance_name
为自定义值进行更改。