`

Oracle中db_name/service_name/sid三者的关系和作用

阅读更多
db_name是一个实在的物理名称。service_name时带有域名的,因为如果两个数据库不再同一个域可以有相同的名称。而sid是数据库的实例名称,它是有SGA和后台进程组成。一个数据库只有一个db_name但是可以有两个实例。每个实例各有自己的SGA和后台进程。

Db_name:对一个数据库(Oracle database)的唯一标识。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和Db_domain两个参数用’.’连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。Db_name参数只能由字母、数字、’_’、’#’、’$’组成,而且最多8个字符。

Db_domain:定义一个数据库所在的域,该域的命名同互联网的’域’没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。当然为了管理方便,可以将其等于互联网的域。

Global_name:对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain>命令进行修改,然后修改相应参数。

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

Instance_name:数据库实例名。用于和操作系统之间的联系,用于对外部连接时使用。在操作系统中要取得与数据库之间的交互,必须使用数据库实例名。例如,要和某一个数据库server连接,就必须知道其数据库实例名,只知道数据库名是没有用的,与数据库名不同,在数据安装或创建数据库之后,实例名可以被修改。数据库名与实例名之间的关系一般是一一对应关系,有一个数据库名就有一个实例名,如果在一个服务器中创建两个数据库,则有两个数据库名,两个数据库实例名,用两个标识确定一个数据库,用户和实例相连接。 但在8i、9i的并行服务器结构中,数据库与实例之间不存在一一对应关系,而是一对多关系,(一个数据库对应多个实例,同一时间内用户只一个实例相联系,当某一实例出现故障,其它实例自动服务,以保证数据库安全运行。)

Oracle_SID:操作系统环境变量。在实际中,对于数据库实例名的描述有时使用实例名(instance_name)参数,有时使用ORACLE_SID参数。这两个都是数据库实例名,它们有什么区别呢?(经常弄混)

(ORACLE_SID)
OS<---------------->; ORACLE 数据库 <--------(Instance_name(实例名))

上例表示实例名instance_name、ORACLE_SID与数据库及操作系统之间的关系,虽然这里列出的两个参数都是数据库实例名,但instance_name参数是ORACLE数据库的参数,此参数可以在参数文件中查询到,而ORACLE_SID参数则是操作系统环境变量。
操作系统环境变量ORACLE_SID用于和操作系统交互。也就是说,在操作系统中要想得到实例名,就必须使用ORACLE_SID。此参数与ORACLE_BASE、ORACLE_HOME等用法相同。在数据库安装之后,ORACLE_SID被用于定义数据库参数文件的名称。如:

分享到:
评论

相关推荐

    修改oracle_sid和db_name名字

    修改oracle_sid和db_name名字,不错的东西,欢迎下载了。

    oracle_DB_NAME,INSATNCE_NAME,ORACLE_SID区别

    介绍oracle_DB_NAME,INSATNCE_NAME,ORACLE_SID区别

    oracle 使用命令创建oracle数据库

    1 、确定数据库的sid 和db_name  \u3000sid='hsj'  db_name='hsj'  2、设置环境变量env ORACLE_BASE=/u01/app ORACLE_HOME=$ORACLE_BASE/oracle ORACLE_SID=hsj PATH=$ORACLE_HOEM/bin:$PATH; LD_...

    linux下的Oracle数据库安装,卸载和静默安装

    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_BASE/admin...

    Oracle9个_name介绍

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

    [整理]修改oracle实例名&#40;sid&#41;和数据库名&#40;db_name&#41;.doc

    [整理]修改oracle实例名&#40;sid&#41;和数据库名&#40;db_name&#41;

    linux系统给oracle数据库增加新的实例.pdf

    5、建监听 cd $ORACLE_BASE/product/10.2.0/db_1/network/admin vim listener.ora 增加节点: (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /oracle/app/product/10.2.0/db) (SID_NAME = orcl) ) 重启监听 ...

    数据库名实例名sid的区别

    数据库名(DB_NAME)、实例名...在ORACLE8i、9i中出现了新的参数,即数据库域名 (db_domain)、服务名(service_name)、以及操作系统环境变量(ORACLE_SID)。这些都存在于同一个数据库中的标识,用于 区分不同数据库的参数。

    linux系统给oracle数据库增加新的实例(1).pdf

    5、建监听 cd $ORACLE_BASE/product/10.2.0/db_1/network/admin vim listener.ora 增加节点: (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /oracle/app/product/10.2.0/db) (SID_NAME = orcl) ) 重启监听 ...

    oracle rac日常基本维护命令

    oracle rac日常基本维护命令 所有实例和服务的状态 $ srvctl status database -d orcl Instance orcl1 is running on node linux1 Instance orcl2 is running on node linux2 单个实例的状态 $ srvctl status...

    Oracle Instant Client 11.2.0.1.0 轻量级Oracle客户端

    此版本不支持 Pro*C/C++和.NET程序所需的Oracle Provider for OLE DB,如需支持上述功能,请访问并下载ODAC(Oracle Data Access Components,其包含 ODP.NET, Oracle Services for MTS, Oracle Providers for ASP...

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

    su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=...

    Oracle 主要配置文件介绍

    Oracle 实例的多数内存和进程设置 以下是一些主要参 数的说明 1 实例的数据库名称 db_name = "cams" 2 实例名称 instance_name = cams 3 数据库控制文件的名称和位置 control_files = ...

    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\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora 还一个在同路径下的tnsnames.ora文件,这两个文本中的一些信息要一样的。 你看看我的这两个文本文件的信息: listener.ora # listener.ora Network ...

    ORACLE 中的几个重点概念

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

    oracle 语句

    @d:D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlxplan.sql—创建了索引查询表 explain plan for select ename,job,sal,comm from empcon where (sal-700);--已解释 desc plan_table; col id for 999 col ...

    oracle实验报告

    本数据库(oracle)7个实验报告用于和大家交流,我将这次报告所需要的表和数据材料能够拿出来的都放了在同一个包里的,希望大家能够去看看并且多提点意见,同时我将第一个报告(手工创建数据库库)的记录也放在了包...

    Oracle客户端连接Oracle服务器.docx

    屏蔽了1521端口 Oracle远程连接数据库总结 注:本文讲述了oracle数据库实例连接的配置过程,三个重要的配置文件位于C:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN目录下 1. sqlplus sys/oracle@orcl sqlnet.ora 文件...

    orcale常用命令

    1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 ...su - oracle -c "exp system/manager full=y inctype=cumulative file=/oracle/export/db_cumu$rq.dmp...

Global site tag (gtag.js) - Google Analytics