Database Name

概述

DB_NAMEINSTANCE_NAME
DB_NAME 数据库名称,也就是数据库的名字标示。这里,数据库里可能有多个实例,比如RAC里的多节点,这多个节点是不同的实例,但是却有相同的名字,他们的 DB_NAME是相同的,但是Instance_name是不同的。DB_NAME会保持在数据文件头里,所以更改DB_NAME不能仅仅修改parameter,还需要用nid 来进行更改,并且更改后还需要手工做些工作,使其生效,一般情况下不建议修改。
DB_NAMEDB_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记录在controlfiledatafile_headerredo中。在建库时,db_name被限制为最长8个字符。db_name还有一个非常重要的作用就是动态注册监听,不管是否指定了service_name,或者说service_name的值是什么,pmon都会使用db_name动态注册监听的。
ORACLE_SID
sid为在host上用sid来标示实例的共享内存的,尽管v$instance中字段 instance_name 看起来是实例名,但是实际上存储的是sid,在winsid不能重复,在unix/linux下只要不同版本的oracle安装在不同的oracle_home下就可以创建相同sid的实例,但是win下不可以,主要是受到windows服务的限制,在服务中不能存在服务名相同的oracle服务(OracleServiceSID)dataguard中建议大家在primarystandby上使用相同的service_names,这样可能便于尽可能的实现透明切换。
DB_DOMAINGLOBAL_NAME
db_domain 的作用主要是用在分布式数据库中,分布式事务的各个数据库应该有db_domain
global_name
是由db_name.db_domain构成的,global_name 的作用主要也是用在Distributed Database中。配置静态监听注册时,需要输入的全局数据库名(GLOBAL_DBNAME )输入什么都可以,只要保证listerner.ora中的GLOBAL_DBNAMEtnsnames.ora中的SERVICE_NAME保持一致就可以。

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

init.ora中有db_nameinstance_nameservice_name
db_name是数据库的名称,在db安装时就已经设置了,它决定了数据库安装文件的位置。
instance_name
是实例名,是数据库运行中名称,默认和db_name是一样的
service_name
应该是指数据库网络连接时的名称,在listener配置中会有所考虑的。这个值也是可以随意改动的,并且还可以有多个值。

listener.ora中有SID_NAMEGLOBAL_DBNAME

这里SID_NAME指数据库的运行的实例名,应该是和instance_name一致

而对于GLOBAL_DBNAMElistener配置的对外网络连接名称,我们在配置tnsname.ora时会考虑这个参数。这个参数可以任意的设置。

tnsname.ora中有SERVICE_NAMESID
对于这里的配置主要要给出要连接的数据库的IP及其连接的实例或服务
在监听配置中我们提到了对外网络连接名称,在这里如果用SERVICE_NAME的话,就需要SERVICE_NAME=(GLOBAL_DBNAME或者service_name这里要求oracle已经注册到了监听器中),对于SID=(instance_name
最后一个是ORACLE_SID参数,这个参数是操作系统中用到的,它是描述我们要默认连接的数据库实例,对于一个机器上有多个实例的情况下,要修改后才能通过 conn / as sysdba连接,因为这里用到了默认的实例名。

你可能感兴趣的:(Database Name)