`
xukenetwork
  • 浏览: 74340 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

oracle_sid, instance_name 和service_name 的区别

 
阅读更多

昨天用dbca -silent -responsefile hhu.rsp 创建了一个数据库,其中hhu.rsp里面有这么2个参数设置 

引用

#-------------------------------------------------------- 
# Name          : GDBNAME 
# Datatype      : String 
# Description   : Global database name of the database 
# Valid values  : <db_name>.<db_domain> - when database domain isn't NULL 
#                 <db_name>             - when database domain is NULL 
# Default value : None 
# Mandatory     : Yes 
#--------------------------------------------------------------------- 

GDBNAME = "hhu.us.oracle.com" 

#--------------------------------------------------------------------- 
# Name          : SID 
# Datatype      : String 
# Description   : System identifier (SID) of the database 
# Valid values  : Check Oracle10g Administrator's Guide 
# Default value : <db_name> specified in GDBNAME 
# Mandatory     : No 
#--------------------------------------------------------------------- 

SID = "hhu" 


1、db_name 对应一个数据库(oracle database)的唯一表示,这种对于单个数据库是足够的,但是随着多个数据库构成的分布式数据库的普及,这中命名方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。 

2、db_domain 定义一个数据库所在的域,该域的命名同互联网的“域”没有任何关系,只是数据库管理员为了更好的管理分布式数据库而设计的。 

3、GLOBAL_DBNAME对一个数据库的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain>命令进行修改,然后修改相应参数。 
下面是官方文档的解释,当database service处理一个客户端的请求,监听将尝试该参数值与客户端链接标示符中的service_name 是否一至。 

引用
Use the parameter GLOBAL_DBNAME to identify the database service. 
While processing a client connection request, the listener tries to match the value of this parameter with the value of the SERVICE_NAME parameter in the client connect descriptor. If the client connect descriptor uses the SID parameter, then the listener does not attempt to map the values. This parameter is primarily intended for configurations with Oracle8 release 8.0 or Oracle7 databases (where dynamic service registration is not supported for dedicated servers). This parameter may also be required for use with Oracle9i and Oracle8 database services by some configurations and management tools. 

The value for this parameter is typically obtained from the combination of the DB_NAME and DB_DOMAIN parameters (DB_NAME.DB_DOMAIN) in the initialization parameter file, but the value can also contain any valid name used by clients to identify the service.


4、Instance_name 数据库实例名。用于和操作系统之间的联系,用于对外部连接时使用。在操作系统中要取得与数据库之间的交互,必须使用数据库实例名。例如,要和某一个数据库server连接,就必须知道其数据库实例名,只知道数据库名是没有用的,与数据库名不同,在数据安装或创建数据库之后, 
db_name与instance_name的联系:数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系(一个数据库对应多个实例,同一时间内用户只一个实例相联系,当某一实例出现故障,其它实例自动服务,以保证数据库安全运行) 。 
instance_name参数是ORACLE数据库的参数,此参数可以在参数文件中查询到,而ORACLE_SID参数则是操作系统环境变量,用于和操作系统的交互,在数据库安装好后,oracle_sid被用于定义数据库参数文件的名称。如 :$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora。 

5、service_name 
该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。 

引用
SQL> show parameter instance_name 

NAME      TYPE VALUE 
------------------------------------ ----------- ------------------------------ 
instance_name      string hhu 
SQL> show parameter service 

NAME      TYPE VALUE 
------------------------------------ ----------- ------------------------------ 
service_names      string hhu.us.oracle.com 
SQL> show parameter db_domain 

NAME      TYPE VALUE 
------------------------------------ ----------- ------------------------------ 
db_domain      string us.oracle.com 

Linux下 
[oracle@dagu response]$ env | grep ORACLE 
ORACLE_SID=orc 
ORACLE_BASE=/u01/app/oracle 
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 
分享到:
评论

相关推荐

    数据库名实例名sid的区别

    在ORACLE7、 8数据库中只有数据库名(db_name)和数据库实例名(instance_name)。在ORACLE8i、9i中出现了新的参数,即数据库域名 (db_domain)、服务名(service_name)、以及操作系统环境变量(ORACLE_SID)。这些都存在于...

    Oracle9个_name介绍

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

    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.数据库连接测试脚本

    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的内存结构和进程结构

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

    ORACLE 中的几个重点概念

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

    Oracle 主要配置文件介绍

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

    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常用命令大全.txt

    一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle&gt;svrmgrl SVRMGR&gt;connect internal SVRMGR&gt;startup SVRMGR&gt;quit b、关闭...

    常用ORACLE知识浅析1

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

    Oracle体系结构:内存结构和进程结构-体系架构

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

    orcale常用命令

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

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

    检查Oracle实例状态 ,sid  SQL&lt; select instance_name,host_name,startup_time,status,database_status from v$instance;  2.查看用户和默认表空间的关系。select username, DEFAULT_TABLESPACE from ...

    Oracle9i的init.ora参数中文说明

    mts_service: 说明 : 一个共享服务器参数, 用于指定已在调度程序上注册, 用来建立数据库连接的唯一服务名。如果要在没有调度程序的情况下仍能连接到数据库, 请将该值设置为与例程名相同。此参数自 8.1.3 版起已...

    jdbc连接oracle

     Class.forName("oracle.jdbc.driver.OracleDriver")。newInstance();  String url="jdbc:oracle:thin:@localhost:1521:orcl";  //orcl为数据库的SID  String user="test";  String password="test";  ...

    ora分析脚本

    -i instance# append # to ORACLE_SID -sid &lt;sid&gt; set ORACLE_SID to sid -top # limit some large queries to on # rows - repeat &lt;interval&gt; |forever&gt; Repeat an coomand &lt;count&gt; time. Sleep &lt;interval&gt; ...

    oracle函数大全.doc

    ORACLE函数大全 ________________________________________ 作者:[本站编辑] 来源:[CSDN] 浏览:[ ] SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL&gt; select ascii('A') A,ascii('a') a,...

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL&gt; select instr('oracle traning','ra',1,2) instring from dual; INSTRING --------- 9 6.LENGTH 返回字符串的长度; SQL&gt; select name,length(name),addr,length(addr),sal,length(to_char(sal)) from ....

    JDBC连接各种数据库字符串大全

    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID String user="test"; String password="test"; Connection conn...

Global site tag (gtag.js) - Google Analytics