`
xukenetwork
  • 浏览: 77873 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Oracle 中的service_name,sid的作用和区别

 
阅读更多
在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实例,小明就是sid,service name就是你的外号。

sid用于实例区分各个数据库,service name用于外部链接。
 
它们可能是不同的,要注意你得到的是哪个名字,合理使用,否则远程连接别的数据库可能出错。
分享到:
评论

相关推荐

    oracle_DB_NAME,INSATNCE_NAME,ORACLE_SID区别

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

    Oracle9个_name介绍

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

    数据库名实例名sid的区别

    这些参数在不同的Oracle版本中有不同的作用和重要性。 首先,数据库名(DB_NAME)是数据库的唯一标识,它是在数据库创建时指定的,并且一旦设置,便不能更改。DB_NAME存储在数据库的控制文件中,它是数据库内部识别...

    java-connect-oracle.zip_java 连接oracle_oracle_oracle connect java

    String url = "jdbc:oracle:thin:@hostname:port/service_name"; String username = "your_username"; String password = "your_password"; Connection conn = DriverManager.getConnection(url, username, password...

    oracle安装sid重复问题

    Oracle数据库在安装过程中,SID(System Identifier)是一个关键的配置参数,它用于唯一标识数据库实例。当卸载并重新安装Oracle数据库,如果尝试使用相同的SID,系统会报错,因为旧的SID信息仍然存在于系统中。这个...

    Python使用cx_Oracle模块操作Oracle数据库详解

    这里的`ORACLE_SID`和`SERVICE_NAME`是Oracle数据库中的两个关键概念,它们用于识别和访问数据库实例。`ORACLE_SID`通常代表数据库实例的标识,而`SERVICE_NAME`则用于网络服务,特别是在集群或分布式环境下,外部...

    Oracle_PLSQL_instant_Client

    - `service_name`:Oracle服务名,可以在Oracle的`listener.ora`文件或`tnsnames.ora`文件中找到。 - `username`:用于登录数据库的用户名。 - `password`:对应的用户密码。 5. **安全连接**:Oracle支持SSL...

    Oracle的基础概念.doc

    包括`DB_NAME`、`INSTANCE_NAME`、`ORACLE_SID`、`GLOBAL_NAME`、`DB_DOMAIN`、`SERVICE_NAME`以及`NET_SERVICE_NAME`,帮助读者全面理解这些概念及其在Oracle数据库环境中的作用。 #### DB_NAME:数据库命名 `DB_...

    Navicat连接oracle所依赖instantclient_11_1及使用方法

    - SID/Service Name:填写`tnsnames.ora`中的`SERVICE_NAME`。 - 用户名:输入你的Oracle数据库用户名。 - 密码:输入对应的密码。 4. 测试连接,如果一切配置正确,你应该能够成功连接到Oracle数据库。 请注意...

    oracle配置文件tnsname

    - 当用户尝试通过命令 `sqlplus sys/oracle@orcl` 连接到数据库时,Oracle 客户端会先在 `tnsnames.ora` 文件中查找名为 “orcl” 的条目。如果找不到,则会尝试将 “orcl” 解析为主机名并获取其 IP 地址,然后...

    PL/SQL不安装Oracle连接数据库

    PL/SQL不安装Oracle连接数据库 1、下载instantclient-basic-win32-11.2.0.1.0此为压缩包,解压就行(路径如:D:\oracle\instantclient\instantclient).解压的路径自行调整 2、新建tnsnames.ora文件,路径如(D:\...

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

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

    Oracle中各名称介绍.docx

    Oracle数据库在设计和管理上涉及多个关键概念,包括数据库名、数据库实例名(SID)、数据库服务名和...然而,在复杂的Oracle部署中,理解这些概念的区别和用途是至关重要的,有助于确保数据的正确访问和系统稳定运行。

    Oracle_SQL_Developer_使用指南

    - SID/Service Name:根据数据库实例类型选择输入 - Hostname/IP Address:数据库服务器地址 - Port:数据库监听端口 3. 点击“Test”按钮验证连接,成功后点击“Connect”完成连接。 三、SQL查询 1. 在...

    Oracle_WareHouse_Builder操作指南

    通过 OWB,用户可以进行数据源定义、目标库定义、数据映射设计以及流程设计等工作,最终生成 PL/SQL 代码在 Oracle 数据库中执行,实现数据的抽取、转换和加载(ETL)功能。 #### 二、OWB 安装流程 ##### 2.1 安装...

    ORACLE 中的几个重点概念

    在Oracle数据库的管理和使用过程中,有几个重要的概念常常被提及,但有时也容易被混淆,这些概念包括:数据库名(DB_NAME)、数据库实例名(INSTANCE_NAME)、操作系统环境变量ORACLE_SID、数据库服务名(SERVICE_...

    oracle 11g客户端免安装

    每条记录由一个服务名(SERVICE_NAME)和对应的连接描述(DESCRIPTION)组成,包括主机名、端口和SID(System Identifier)或服务名。例如: ``` MY_DB_SERVICE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)...

    oracle实例名,数据库名,服务名等概念区别与联系.doc

    Oracle 数据库概念解释 Oracle 数据库中有多个概念经常让初学者...数据库名、实例名、数据库域名、全局数据库名、服务名等概念都是 Oracle 数据库中重要的概念,理解它们的区别和联系对于数据库管理和开发非常重要。

    PLSQL+Oracle10client套装

    打开oracle客户端安装路径下的tnsnames.ora编辑添加自己的数据库信息。 XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_...

Global site tag (gtag.js) - Google Analytics