`
xukenetwork
  • 浏览: 77841 次
  • 性别: 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 
分享到:
评论

相关推荐

    oracle_DB_NAME,INSATNCE_NAME,ORACLE_SID区别

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

    oracle10G_数据库名、实例名、ORACLE_SID_及创建数据

    若`ORACLE_SID`与`instance_name`的值不一致,则可能会出现错误提示,如: - 在Unix平台:“ORACLE not available” - 在Windows平台:“TNS:protocol adapter error” **3.3 设置方法** 通常情况下,`ORACLE_SID`...

    ORACLE_SID

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

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

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

    ORACLE_SID[参照].pdf

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

    详解数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名[参考].pdf

    在深入了解Oracle数据库的管理及维护过程中,理解数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名和服务名等核心概念至关重要。这些概念不仅对于数据库的日常管理十分重要,而且在遇到故障排除时更是不可或...

    oracle中的全局数据库名称和sid的区别

    Oracle 中的全局数据库名称和 SID 的区别 Oracle 中的全局数据库名称和SID是两个不同的概念,分别用于标识数据库和实例。数据库名(DB_NAME)是用于区分数据的内部标识,是以二进制方式存储于数据库控制文件中的...

    数据库名实例名sid的区别

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

    oracle_resource.rar_oracle_oracle_resource

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

    学习记录日志ORACLE.doc

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

    oracle概念详解

    - ORACLE_SID必须与INSTANCE_NAME保持一致,否则会出现连接错误。 **作用:** - 通过设置ORACLE_SID,可以在操作系统层面上指定要启动的Oracle实例。 **注意事项:** - ORACLE_SID与INSTANCE_NAME不一致会导致连接...

    Oracle9个_name介绍

    ### Oracle中的九个_Name参数详解 #### 一、db_name:数据库名称 ...特别是`db_name`、`instance_name`、`service_name`和`listener`等参数,在日常管理和维护中使用频率较高,是必须掌握的核心概念。

    oracle实例名,服务名等概念区别与联系

    且 ORACLE_SID 必须与 instance_name 的值一致,否则,你将会收到一个错误,在 unix 平台,是“ORACLE not available”,在 winnt 平台,是“TNS:协议适配器错误”。 查询当前数据库实例名方法: 1. select ...

    如何修改oracle sid名称.txt

    - 查找`instance_name`参数,并将其值更改为新的SID。 ```plaintext instance_name='&lt;new_sid&gt;' ``` #### 步骤四:创建新的口令文件 4. **创建口令文件**: - 运行`orapwd`命令以创建与新SID关联的新口令文件...

    Oracle的基础概念.doc

    本文将深入探讨Oracle数据库中的几个关键概念,包括`DB_NAME`、`INSTANCE_NAME`、`ORACLE_SID`、`GLOBAL_NAME`、`DB_DOMAIN`、`SERVICE_NAME`以及`NET_SERVICE_NAME`,帮助读者全面理解这些概念及其在Oracle数据库...

    Oracle_TNS浅析.doc

    - 数据库必须设置`INSTANCE_NAME`和`SERVICE_NAME`参数。 - 监听器应采用默认的TCP协议并使用1521端口进行监听。 - 如果使用了其他通讯协议或监听端口,则需要通过`LOCAL_LISTENER`参数明确指定当前使用的监听器...

    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_DBA_常用SQL语句

    Oracle DBA(数据库管理员)在日常工作中经常需要使用SQL语句来管理数据库,包括监控、优化和解决问题。以下是一些常用的Oracle SQL语句,涵盖了表空间、回滚段、控制文件、日志文件、会话信息、字符集、查询优化器...

Global site tag (gtag.js) - Google Analytics