oracle中的service_name,instance_name,db_name,oracle_sid,sid_name的用法及区别晨雪
在init.ora中有db_name,instance_name,service_name
在操作系统中需要配置oracle_sid
在listener.ora中有SID_NAME,GLOBAL_DBNAME,
在tnsname.ora中有SERVICE_NAME,SID
这么多,是不是你也看糊涂了。先晕一个,下面慢慢道来。
在init.ora中有db_name,instance_name,service_name
db_name是数据库的名称,在db安装时就已经设置了,这里不可修改,它觉得了数据库安装文件的位置。
instance_name是实例名,是数据库运行中名称,其实在OO中db_name相当于类而instance_name向当于对象,它也是代表数据库运行中的内存及其进程,同时影响到了这些进程的名称,譬如:一个数据库db_name=cus,而其实例instance_name= aking,那么数据库起来后,其进程名可能为:Pmon_aking_1。这里的实例名称要和PWDsid.ora和initSid.ora等文件匹配上,否则,db起动报错。从这里可以看出db_name是类名,定义后是不可修改的,而对于instance_name实例名向当于对象,所以我们可以设定自己喜欢的对象名称。不过话虽这样讲,但改了instance_name后,牵扯到很多其他的设置,还是最好不要动他,默认和db_name是一样的,这样多好。
service_name我觉得应该是指数据库网络连接时的名称,在listener配置中会有所考虑的。这个值也是可以随意改动的,并且还可以有多个值。alter system set service_name=serv1,serv2 scope=both;
在listener.ora中有SID_NAME,GLOBAL_DBNAME
这里SID_NAME指数据库的运行的实例名,应该是和instance_name一致
而对于GLOBAL_DBNAME是listener配置的对外网络连接名称,我们在配置tnsname.ora时会考虑这个参数。这个参数可以任意的设置。
另外有一点需要注意,一般我们会在listener.ora手工配置数据库实例的监听配置。但oracle可以通过pmon进程支持自动注册,这时自动注册的对外网络连接名称就会用到init.ora文件中service_name,有多个值的话就会注册多个,对于上面的例子,在这里就会注册 serv1和serv2两个监听服务。如果你还手工配置了一个GLOBAL_DBNAME=serv3的监听服务的话,那么对于实例 instance_name=aking就会有三个监听服务。
在tnsname.ora中有SERVICE_NAME,SID
下面配置客户端的tnsname.ora
对于这里的配置主要要给出要连接的数据库的IP及其连接的实例或服务
在监听配置中我们提到了对外网络连接名称,在这里如果我们用SERVICE_NAME的话,就需要SERVICE_NAME=(GLOBAL_DBNAME或者service_name这里要求oracle已经自动注册到了监听器中),对于SID=(instance_name)即可,譬如:
SERVICE_NAME=serv1,serv2,serv3都可以,或者
SID=aking
最后一个是ORACLE_SID参数,这个参数是操作系统中用到的,它是描述我们要默认连接的数据库实例,对于一个机器上有多个实例的情况下,要修改后才能通过 conn / as sysdba连接,因为这里用到了默认的实例名。
分享到:
相关推荐
Oracle 中有三个重要的概念:DB_NAME、INSTANCE_NAME 和 ORACLE_SID,它们都是 Oracle 数据库的重要组成部分,了解它们的区别和作用非常重要。 DB_NAME DB_NAME 是数据库的名称,也就是数据库的名字标识。在 ...
### Oracle中的九个_Name参数详解 #### 一、db_name:数据库名称 ...特别是`db_name`、`instance_name`、`service_name`和`listener`等参数,在日常管理和维护中使用频率较高,是必须掌握的核心概念。
### Oracle 10G 数据库名、实例名、ORACLE_SID 及创建数据库详解 #### 一、数据库名 **1.1 定义** 数据库名是用于唯一标识一个数据库的名称,它就像是一个人的身份证号码,对于每一套安装在机器上的数据库来说都是...
且 ORACLE_SID 必须与 instance_name 的值一致,否则,你将会收到一个错误,在 unix 平台,是“ORACLE not available”,在 winnt 平台,是“ORA-01092”错误。 数据库域名是指一个数据库的域名,可以用来标识一个...
- **一致性要求**:ORACLE_SID的值应该与`instance_name`一致,如果不一致,可能会导致Oracle服务不可用或错误。 **重要性**: - **环境变量**:ORACLE_SID作为一个环境变量,在操作系统层面标识Oracle实例。 - **...
在Oracle数据库系统中,数据库名(DB_NAME)、实例名(INSTANCE_NAME)以及操作系统环境变量(ORACLE_SID)是区分和管理数据库的关键概念。这些参数在不同的Oracle版本中有不同的作用和重要性。 首先,数据库名(DB...
本文将深入探讨Oracle数据库中的几个关键概念,包括`DB_NAME`、`INSTANCE_NAME`、`ORACLE_SID`、`GLOBAL_NAME`、`DB_DOMAIN`、`SERVICE_NAME`以及`NET_SERVICE_NAME`,帮助读者全面理解这些概念及其在Oracle数据库...
Oracle 中的全局数据库名称和 SID 的区别 Oracle 中的全局数据库名称和SID是两个不同的概念,分别用于标识数据库和实例。数据库名(DB_NAME)是用于区分数据的内部标识,是以二进制方式存储于数据库控制文件中的...
但在某些情况下,实例名可以与`ORACLE_SID`不同,只需在初始化参数文件中显式指定`INSTANCE_NAME`参数的值即可。 ##### 2.1 功能与作用 在UNIX/Linux环境下,`ORACLE_SID`主要与`ORACLE_HOME`环境变量一起进行哈希...
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、数据库域名、全局数据库名和服务名等核心概念至关重要。这些概念不仅对于数据库的日常管理十分重要,而且在遇到故障排除时更是不可或...
在Real Application Clusters (RAC) 环境中,具有相同 DB_name 的集群内各个节点拥有不同的 Instance_name 来区分它们。 - **Oracle_sid**: 必须与 Instance_name 的值相匹配,通常用于操作系统级别的环境变量。 - *...
mts_service: 说明 : 一个共享服务器参数, 用于指定已在调度程序上注册, 用来建立数据库连接的唯一服务名。如果要在没有调度程序的情况下仍能连接到数据库, 请将该值设置为与例程名相同。此参数自 8.1.3 版起已...
- ORACLE_SID必须与INSTANCE_NAME保持一致,否则会出现连接错误。 **作用:** - 通过设置ORACLE_SID,可以在操作系统层面上指定要启动的Oracle实例。 **注意事项:** - ORACLE_SID与INSTANCE_NAME不一致会导致连接...
### Oracle9.2_SYS_CONTEXT函数详解 在Oracle数据库系统中,`SYS_CONTEXT`函数...在Oracle9.2及后续版本中,熟练掌握`SYS_CONTEXT`函数的使用方法对于任何希望充分利用Oracle数据库强大功能的用户来说都是至关重要的。
每种数据库都有其独特的特性及适用场景,在实际应用中需要根据具体需求选择合适的数据库类型。同时,需要注意的是,在实际开发中,为了提高程序的可移植性和维护性,建议使用数据库连接池来管理数据库连接,例如使用...
ORACLE_SID 的值必须与 instance_name 的值一致。 数据库名的作用 数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。数据库名还被写入控制文件中,...
- INSTANCE_NAME/ORACLE_SID:zxm1 (rac01), zxm2 (rac02) - SERVICE_NAME:zxm - 备库: - 主机名:stb - DB_NAME:zxm - DB_UNIQUE_NAME:ztb - INSTANCE_NAME/ORACLE_SID:ztb - SERVICE_NAME:stb 实施...
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc1)(ORACLE_HOME = /u01/app/oracle/product/8.1.7)(PROGRAM = extproc)) (SID_DESC = (GLOBAL_DBNAME = cams)(ORACLE_HOME = /u01/app/oracle/...