Database oracle中的实例名称

Database oracle中的实例名称,database,oracle,Database,Oracle,我想了解v$instance和parameter:instance\u name之间的区别。这是指不使用RAC环境或设置的常规Oracle 12c数据库。 我的文件摘录 instance_name=test db_name=r12g1 db_domain=us.<>.com service_names=test.us.<>.com 显示如下: instance_name string test 为什么会有差异? 另外,如果我注意到操作系统中的“pmon”进程列

我想了解v$instance和parameter:instance\u name之间的区别。这是指不使用RAC环境或设置的常规Oracle 12c数据库。

我的文件摘录

instance_name=test
db_name=r12g1
db_domain=us.<>.com
service_names=test.us.<>.com
显示如下:

instance_name   string   test
为什么会有差异?
另外,如果我注意到操作系统中的“pmon”进程列表,它是:ora_pmon\ustrong>r12g1

db_name是数据库的名称。 数据库是一组文件(数据文件、重做日志、控制文件..)

实例名称是您的实例的名称。 一个实例是一组后台进程(SMON、PMON、DBWR等)和一个共享内存段(SGA)

数据库可以由多个实例装载和打开

在本例中,一个数据库有一个实例。
您可以停止db并使用新实例名称(=例如db\U名称)重新启动它。

。连接到插件数据库的容器?使用dba帐户?不,不尝试创建CDB。是,以DBA的身份登录。是。当然,我可以更改实例名称(=db_name)(在关闭db之后)。但这正是我想理解的。如果DB只支持一个实例(不使用RAC),为什么前面提到的实例名称之间存在差异?因为您的配置(pfile)而存在差异。当实例启动时,它读取pfile中的配置(我假定为spfile)。更改配置文件,一切都会正常。那么,实例名称带来了什么区别呢?后台进程仍与SID而不是实例对齐。ORACLE\u SID可能与db\u name不同!oracle sid用于查找参数文件(pfile或spfile)和装载sga。这就是为什么您的bg进程与SID对齐(而不是与db_名称对齐)
show parameter instance_name;
instance_name   string   test