`
jzhua2006
  • 浏览: 304541 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle INSTANCE_NAME的含义及作用

 
阅读更多

1.2.5 INSTANCE_NAME的含义及作用
作为Oracle数据库的重要组成部分INSTANCE也存在一个参数标识:INSTANCE_NAME。
INSTANCE_NAME是Oracle数据库的一个参数,在参数文件中定义,用于标识数据库实例的名称,其缺省值通常就是ORACLE_SID,但是不同的实例可以有相同的实例名。通过简单的参数文件复制,我们就可以在同一台服务器上创建多个具有相同INSTANCE_NAME的实例。
首先确认当前的参数文件:

bash-2.03$ cd $ORACLE_HOME/dbs
bash-2.03$ ls initeygle.ora 
initeygle.ora

复制参数文件,更改名称:

bash-2.03$ cp initeygle.ora initjulia.ora
 

接下来通过导入新的ORACLE_SID就可以启动新的实例:

bash-2.03$ export ORACLE_SID=julia
bash-2.03$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Fri Feb 16 10:34:00 2007
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to an idle instance.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area  303532408 bytes
Fixed Size                   731512 bytes
Variable Size             184549376 bytes
Database Buffers          117440512 bytes
Redo Buffers                 811008 bytes

现在ORACLE_SID为julia的实例已经启动,操作系统上的进程以julia名称标记:

bash-2.03$ ps -ef|grep pmon
oracle   12396     1  0 16:30 ?        00:00:00 ora_pmon_julia
oracle   16201     1  0 18:13 ?        00:00:00 ora_pmon_eygle
oracle   16256 16219  0 18:14 pts/1    00:00:00 grep pmon

但是新实例的instance_name仍然是eygle:

SQL> show parameter instance_name
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- -----------------------
instance_name                        string                 eygle


总结一下,ORACLE_SID在这里用于标示进程,而instance_name则用来标示实例,两者可以具有不同的名称。
此外Oracle的监听器(listener)配置文件中的SID_NAME就是来自instance_name参数,监听器通过instance_name才能确定需要将连接请求注册到哪一个实例上。通常listener.ora文件中SID_NAME相关设置类似如下示例:

SID_LIST_LISTENER =
(SID_DESC =
(GLOBAL_DBNAME = eygle)
(ORACLE_HOME = /opt/oracle/product/9.2.0)
(SID_NAME = eygle) 
)

 

 

 

/////////////////////////////////////////////////

/////////////////////////////////////////////////

///////////////////////////////////////////////////

 

    呵呵,自学oracle快2个月了,还是一些基本概念没搞清楚。今天无意看了资料,再结合以前所遇见的情况,操作,总算把标题的一些概念搞清楚了。

数据库名  

    数据库名是用于区分数据库的一个内部标识,是以二进制方式存储在数据库控制文件中的参数。数据库创建之后不能再修改这个参数。数据库创建后,它被写入数据库参数文件pfile或Spfile中。格式如下:

...

db_name="orcl"

db_domain=dbcenter.toys.com

instance_name=orcl

service_names=orcl.dbcenter.toys.com

...

 

数据库实例名

    数据库实例是操作数据库的实体,用户通过实例与数据库交互。实例名用来标识这个数据库实例。数据库创建后,实例名可以被修改。也在数据库参数文件pfile或Spfile中。格式如下:

...

instance_name=orcl

service_names=orcl.dbcenter.toys.com

...

    数据库名与实例名可以相同。一个数据库对应一个实例的情况下设置成相同的便于标识数据库。但是在8i,9i的并行服务器中,数据库与实例不存在一一对应关系,而是一对多关系,一个数据库对应多个实例。不过一个用户只能与一个实例相连。(这里才让人恍然大悟,实例名与数据库名的区别就很容易理解了)

 

数据库域名

    在分布式数据库系统中,不同版本的数据库服务器之间,不论运行的操作系统是unix或是windows,各服务器之间都可以通过数据库链路进行远程复制,数据库域名主要用于oracle分布式环境中的复制。举例说明如:
全国交通运政系统的分布式数据库,其中:
福建节点: fj.jtyz
福建厦门节点: xm.fj.jtyz
江西: jx.jtyz
江西上饶:sr.jx.jtyz
这就是数据库域名。
数据库域名在存在于参数文件中,他的参数是db_domain.

 

操作系统环境变量(ORACLE_SID)

    数据库实例名有时使用实例名(Instance_name),有时使用ORACLE_SID。这两个都是数据库实例名,不易区分。实际上,instance_name参数是ORACLE数据库的参数,可以再初始化参数文件中查询到,而ORACLE_SID参数则是操作系统的环境变量。

(点击图片更清晰)

    在多个实例的服务器中,ORACLE通过ORACLE_SID决定启动哪个实例。一般,如果服务器只有一个实例,ORACLE_SID的值和实例的名称以及数据库名称相同。

举例:在CMD中输入sqlplus/nolog

          再输入connect / as sysdba;

那么:2个数据库实例,它怎么知道选择哪一个呢?

其中就是我设置的环境变量起了作用。

分享到:
评论

相关推荐

    oracle service_name参数

    ### Oracle Service_Name 参数详解 #### 一、概述 在Oracle数据库管理中,`service_name`是一个重要的参数,它用于标识数据库实例所提供的服务名称。通过设置正确的`service_name`,可以确保客户端应用程序能够...

    oracle_DB_NAME,INSATNCE_NAME,ORACLE_SID区别

    Oracle 中有三个重要的概念:DB_NAME、INSTANCE_NAME 和 ORACLE_SID,它们都是 Oracle 数据库的重要组成部分,了解它们的区别和作用非常重要。 DB_NAME DB_NAME 是数据库的名称,也就是数据库的名字标识。在 ...

    数据库oracle rac 修改db_unique_name参数

    Oracle RAC 修改 db_unique_name 参数 在 Oracle RAC 环境中,db_unique_name 参数是一个非常重要的参数,它决定了数据库的唯一标识。在某些情况下,我们需要修改 db_unique_name 参数,以便满足特定的需求。本文将...

    Oracle9个_name介绍

    - **定义**:`instance_name`参数表示Oracle实例的名称。 - **用途**:主要用于动态注册监听器,帮助区分不同的Oracle实例。 - **示例**:通过查看参数`instance_name`可以了解到当前实例的名称,这有助于在多实例...

    Oracle9.2_SYS_CONTEXT函数的用法

    ### Oracle9.2_SYS_CONTEXT函数详解 在Oracle数据库系统中,`SYS_CONTEXT`函数...在Oracle9.2及后续版本中,熟练掌握`SYS_CONTEXT`函数的使用方法对于任何希望充分利用Oracle数据库强大功能的用户来说都是至关重要的。

    oracle_instance.zip

    在给定的压缩包文件"oracle_instance.zip"中,包含了两个重要的组件:`instantclient-basic-windows.x64-11.2.0.4.0`和`instantclient-sqlplus-windows.x64-11.2.0.4.0`,这两个文件都是针对64位Windows系统的。...

    oracle_resource.rar_oracle_oracle_resource

    "oracle_resource.rar_oracle_oracle_resource"这个主题聚焦于找出Oracle数据库中最消耗系统资源的任务或SQL语句。通过对资源占用进行深入分析,我们可以识别性能瓶颈,进而采取针对性的优化措施。 资源占用查询....

    oracle数据库迁移实例01

    ### Oracle数据库迁移实例01:Windows环境下通过镜像文件实现db_name与instance_name不一致的迁移 #### 环境概述 本案例介绍了一个特定场景下的Oracle数据库迁移过程,涉及的环境包括: - **源数据库**:Oracle 9.2...

    数据库名实例名sid的区别

    在Oracle数据库系统中,数据库名(DB_NAME)、实例名(INSTANCE_NAME)以及操作系统环境变量(ORACLE_SID)是区分和管理数据库的关键概念。这些参数在不同的Oracle版本中有不同的作用和重要性。 首先,数据库名(DB...

    ORACLE_SID[参照].pdf

    - **一致性要求**:ORACLE_SID的值应该与`instance_name`一致,如果不一致,可能会导致Oracle服务不可用或错误。 **重要性**: - **环境变量**:ORACLE_SID作为一个环境变量,在操作系统层面标识Oracle实例。 - **...

    ORACLE_SID_实例名_数据库名_讲解

    且 ORACLE_SID 必须与 instance_name 的值一致,否则,你将会收到一个错误,在 unix 平台,是“ORACLE not available”,在 winnt 平台,是“ORA-01092”错误。 数据库域名是指一个数据库的域名,可以用来标识一个...

    Oracle的基础概念.doc

    包括`DB_NAME`、`INSTANCE_NAME`、`ORACLE_SID`、`GLOBAL_NAME`、`DB_DOMAIN`、`SERVICE_NAME`以及`NET_SERVICE_NAME`,帮助读者全面理解这些概念及其在Oracle数据库环境中的作用。 #### DB_NAME:数据库命名 `DB_...

    获取 ORACLE_HOME

    SELECT value FROM v$parameter WHERE name = 'instance_name'; ``` 结果中的值可能会包含ORACLE_HOME的一部分信息。 4. **文件搜索**:如果你知道Oracle的一些关键文件名,如`tnsnames.ora`或`listener.ora`,...

    ORACLE_SID

    通常情况下,实例名就是`ORACLE_SID`的值(即`INSTANCE_NAME=$ORACLE_SID`)。但在某些情况下,实例名可以与`ORACLE_SID`不同,只需在初始化参数文件中显式指定`INSTANCE_NAME`参数的值即可。 ##### 2.1 功能与作用...

    学习记录日志ORACLE.doc

    虽然ORACLE_SID与instance_name在概念上相似,但它们之间有区别:instance_name是Oracle数据库的内部参数,而ORACLE_SID是操作系统层面的标识。在Windows系统中,ORACLE_SID还需要在注册表中设置,并且必须与...

    linux下的Oracle数据库安装,卸载和静默安装

    instance_name=orcl db_name=orcl sga_target=500M sga_max_size=500M job_queue_processes=10 undo_management=auto undo_tablespace=undotbs audit_file_dest=$ORACLE_BASE/admin/orcl/adump background_dump_dest...

    oracle概念详解

    - **INSTANCE_NAME**是Oracle数据库参数,用于数据库内部管理。 --- #### 三、ORACLE_SID (System Identifier) **定义:** ORACLE_SID是系统标识符,作为一个环境变量用于操作系统层面与Oracle实例进行交互。 **...

Global site tag (gtag.js) - Google Analytics