【问题标题】:Instance_name in oracleoracle中的instance_name
【发布时间】:2014-07-23 21:03:22
【问题描述】:

我想了解 v$instance 和 parameter:instance_name 的区别。这是参考常规 Oracle 12c 数据库不使用 RAC 环境或设置。

我的 pfile 摘录

instance_name=test
db_name=r12g1
db_domain=us.<>.com
service_names=test.us.<>.com

当我查询为:

select INSTANCE_NUMBER, INSTANCE_NAME, HOST_NAME, STATUS from v$instance;

1 r12g1 <machine name> OPEN

鉴于:

show parameter instance_name;

显示为:

instance_name   string   test

为什么会有差异? 另外,如果我注意到操作系统中的“pmon”进程列表,它是:ora_pmon_r12g1

【问题讨论】:

  • 有趣。连接到插件数据库的容器?使用 dba 帐户?
  • 不,不尝试创建 CDB。是的,以 DBA 身份登录。

标签: database oracle


【解决方案1】:

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

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

一个数据库可以被许多实例装载和打开。

在您的情况下,您有一个数据库的一个实例。 您可以停止 db 并使用新的 instance_name(例如 =db_name)重新启动它

【讨论】:

  • 是的。当然,我可以更改实例名称(=db_name)(关闭数据库后)。但这就是我想了解的。如果数据库只支持一个实例(不使用 RAC),为什么上面提到的实例名称之间存在差异?
  • 由于您的配置(pfile)存在差异。当实例启动时,它会读取 pfile 中的配置(我假设是 spfile)。更改您的配置文件,一切都会好的。
  • 那么,实例名带来了什么不同呢?后台进程仍然与 SID 而非实例对齐。
  • ORACLE_SID 可能与 db_name 不同! oracle sid 用于查找参数文件(pfile 或 spfile)并挂载 sga。这就是为什么您的 bg 进程与 SID(而不是 db_name)对齐的原因
猜你喜欢
  • 2012-08-11
  • 2020-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-31
  • 1970-01-01
  • 2019-10-20
  • 2018-09-02
相关资源
最近更新 更多