`
jzhua2006
  • 浏览: 300733 次
  • 性别: 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个数据库实例,它怎么知道选择哪一个呢?

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

分享到:
评论

相关推荐

    Oracle9个_name介绍

    本文比较系统地介绍了Oracle中的9个name,如db_name,global_dbname,db_unique_name,instance_name,SID, service_name等参数。

    数据库名实例名sid的区别

    数据库名(DB_NAME)、实例名(Instance_name)、以及操作系统环境变量(ORACLE_SID) 在ORACLE7、 8数据库中只有数据库名(db_name)和数据库实例名(instance_name)。在ORACLE8i、9i中出现了新的参数,即数据库域名 (db_...

    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网络基础

    3.db_name、dbid、db_unique_name、db_domain、global_name、oracle_sid、instance_name、service_name介绍 4.修改db_name、db_unique_name、instance_name、instance_name 5.数据库连接测试脚本

    Oracle的内存结构和进程结构

    实例在操作系统中用ORACLE_SID来标识,在Oracle中用参数INSTANCE_NAME来标识, 它们两个的值是相同的。数据库启动时,系统首先在服务器内存中分配系统全局区(SGA), 构成了Oracle的内存结构,然后启动若干个...

    ORACLE9i_优化设计与系统调整

    §3.4.11 数据库实例名(INSTANCE_NAME) 74 §3.4.12 许可的最大会话数(LICENSE_MAX_SESSIONS) 74 §3.4.13 许可的最大用户数(LICENSE_MAX_USERS) 74 §3.4.14 许可的会话警告(LICENSE_SESSIONS_WARNING) 75 ...

    ORACLE 中的几个重点概念

    数据库名(DB_NAME)、数据库实例名(INSTANCE_NAME)、操作系统环境变量ORACLE_SID、数据库服务名(SERVICE_NAME)、数据库域名(DB_DOMAIN)以及全局数据库名(GLOBAL_DB_NAME)是几个使用Oracle数据库容易混淆的...

    oracle 更改数据库名的方法

    如何修改数据库名(db_name)及实例名(Instance_name or Service_name) Nid是Oracle从9iR2开始提供的工具,可以用来更改数据库名称,而无需通过之前重建控制文件等繁琐方式。 nid是自带的工具,在oracle_home/bin目录...

    oracle数据库迁移实例01

    windows环境下, db_name和instance_name都不相同的情况下的数据库迁移. 通过镜像文件实现.

    最全的oracle常用命令大全.txt

    ORACLE instance started. 2、在双机环境下 要想启动或关闭ORACLE系统必须首先切换到root用户,如下 su - root a、启动ORACLE系统 hareg -y oracle b、关闭ORACLE系统 hareg -n oracle Oracle数据库有哪几种...

    常用ORACLE知识浅析1

    DB_NAME:数据库名,建库的时候起的名字INSTANCE_NAME:实例名,一般与数据库名相同,也可以不同(常见于RAC)ORACLE_SID:操作系统层面

    oracle rac日常基本维护命令

    , instance_name inst_name , parallel , status , database_status db_status , active_state state , host_name host FROM gv$instance ORDER BY inst_id; INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE...

    oracle非归档不停机迁移数据的方法—expdp/impdp

    select instance_name,host_name,startup_time,status,database_status from v$instance;  2.查看用户和默认表空间的关系。select username, DEFAULT_TABLESPACE from dba_users;  3.切换到你需要导出的...

    Oracle 主要配置文件介绍

    以下是一些主要参 数的说明 1 实例的数据库名称 db_name = "cams" 2 实例名称 instance_name = cams 3 数据库控制文件的名称和位置 control_files = ("/u02/app/oracle/oradata/cams/...

    Oracle数据库基本常用命令汇总

    2、ORACLE数据库的计算机的主机名,ORACLE数据库的实例名及ORACLE数据库管理系统的版本信息SELECT host_name, instance_name, version FROM v$instance; 3、为了知道oracle数据库版本的一些特殊信息select * from v$...

    Oracle事例

    select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper(\'&table_name\') select c.constraint_name,c.constraint_type,cc.column_name...

    orcale常用命令

    ORACLE instance started. 2、在双机环境下 要想启动或关闭ORACLE系统必须首先切换到root用户,如下 su - root a、启动ORACLE系统 hareg -y oracle b、关闭ORACLE系统 hareg -n oracle Oracle数据库有哪几种...

    OraGlance:一个轻量级的 oracle 性能监控工具-开源

    将 gv_$instance 上的选择授予 $USER_NAME; 将 gv_$statname 上的选择授予 $USER_NAME; 将 gv_$sysstat 上的选择授予 $USER_NAME; 将 gv_$osstat 上的选择授予 $USER_NAME; 将 gv_$dlm_misc 上的选择授予 $USER...

    Oracle 数据库客户端

    Oracle 数据库客户端 在D:/instantclient_11_2目录下新建目录network,在network目录下再新建admin目录,在admin目录下新建文件tnsnames.ora,使用文本编辑器打开写入如下内容: MWDB= (DESCRIPTION = (ADDRESS_LIST = ...

    数据库管理系统检查命令清单.docx

    select instance_name from v$instance; Mysql 数据库管理系统检查命令清单全 共2页,当前为第2页。数据库管理系统检查命令清单全文共2页,当前为第2页。Mysql数据管理系统测评检查命令 数据库管理系统检查命令清单...

Global site tag (gtag.js) - Google Analytics