DB_NAME&TANCE_NAME&DB_UNIQUE_NAME&ORACLE_SID&GLOBAL_NAME&DB_DOMAIN&SERVICE_NAME

DB_NAME && INSTANCE_NAME && DB_UNIQUE_NAME && ORACLE_SID && GLOBAL_NAME && DB_DOMAIN && SERVICE_NAME概述

============================================================
DB_NAME与INSTANCE_NAME
============================================================
DB_NAME 数据库名称,也就是数据库的名字标示。这里,数据库里可能
有多个实例,比如RAC里的多节点,这多个节点是不同的实例,但是却
有相同的名字,他们的 DB_NAME是相同的,但是Instance_name是不同的。
DB_NAME会保持在数据文件头里,所以更改DB_NAME不能仅仅修改parameter,
还需要用nid来进行更改,并且更改后还需要手工做些工作,使其生效,
一般情况下不建议修改。

============================================================
DB_NAME与DB_UNIQUE_NAME
============================================================
DB_UNIQUE_NAME
这在另一个HA的应用,Dataguard会经常提及的,和DB_NAME
不一样的作用,在DG里,要求物理DG,主从库都有一样的DB_NAME,虽然他们
和RAC不一样,并不是同一个库。这里是数据库的唯一名字。但是他们的
DB_UNIQUE_NAME是不一样的,用以进行不同的标示。DB_UNQUIE_NAME的会影
响到Service_names,也会影响到动态监听的时候的service_name。
 
DB_NAME
db_name是数据库的名字,oracle本身可能是比较有用的,对我们而言没有什么
太多的用处,db_name记录在controlfile,datafile_header,redo中。在建库
时,db_name被限制为最长8个字符。db_name还有一个非常重要的作用就是动态
注册监听,不管是否指定了service_name,或者说service_name的值是什么,
pmon都会使用db_name动态注册监听的。

ORACLE_SID
sid为在host上用sid来标示实例的共享内存的,尽管v$instance中字段
instance_name看起来是实例名,但是实际上存储的是sid,在win下sid不能重复,
在unix/linux下只要不同版本的oracle安装在不同的oracle_home下就可以创建相
同sid的实例,但是win下不可以,主要是受到windows服务的限制,在服务中不能
存在服务名相同的oracle服务(OracleServiceSID)。dataguard中建议大家在
primary,standby上使用相同的service_names,这样可能便于尽可能的实现透明
切换。

===========================================================
DB_DOMAIN与GLOBAL_NAME
===========================================================
db_domain的作用主要是用在分布式数据库中,分布式事务的各个数据库应该有
db_domain global_name是由db_name.db_domain构成的,global_name的作用主
要也是用在Distributed Database中。配置静态监听注册时,需要输入的全局
数据库名(GLOBAL_DBNAME )输入什么都可以,只要保证listerner.ora中的
GLOBAL_DBNAME和tnsnames.ora中的SERVICE_NAME保持一致就可以。

DB_UNIQUE_NAME
DB_UNIQUE_NAME是10g的参数,在配置dataguard环境时必须为处于dg环境中每个
db设置一个唯一值,在没有DB_UNIQUE_NAME参数之前,在同一台机器上搭建dg时
必须使用参数LOCK_NAME_SPACE在standby参数文件中,10g有了参数
db_unique_name,LOCK_NAME_SPACE已经被废弃。

在配置文件中的情况:
在init.ora中有db_name,instance_name,service_name
db_name是数据库的名称,在db安装时就已经设置了,它决定了数据库安装文件的
位置。 instance_name是实例名,是数据库运行中名称,默认和db_name是一样的
service_name应该是指数据库网络连接时的名称,在listener配置中会有所考虑的。
这个值也是可以随意改动的,并且还可以有多个值。
*************************************************************** 
在listener.ora中有SID_NAME,GLOBAL_DBNAME
这里SID_NAME指数据库的运行的实例名,应该是和instance_name一致
而对于GLOBAL_DBNAME是listener配置的对外网络连接名称,我们在配置
tnsname.ora时会考虑这个参数。这个参数可以任意的设置。
***************************************************************
在tnsname.ora中有SERVICE_NAME,SID
对于这里的配置主要要给出要连接的数据库的IP及其连接的实例或服务
在监听配置中我们提到了对外网络连接名称,在这里如果用SERVICE_NAME的话,
就需要SERVICE_NAME=(GLOBAL_DBNAME或者service_name这里要求oracle已经
注册到了监听器中),对于SID=(instance_name)
最后一个是ORACLE_SID参数,这个参数是操作系统中用到的,它是描述我们要默认
连接的数据库实例,对于一个机器上有多个实例的情况下,要修改后才能通过
conn /as sysdba连接,因为这里用到了默认的实例名。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29500582/viewspace-1314299/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29500582/viewspace-1314299/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值