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

关于ORACLE_SID,db_name,instance_name,service_names

 
阅读更多

ORACLE_SID,db_name,instance_name,service_names以及listener动态注册和静态注册的简单说明。

 

ORACLE_SID
环境变量,用来标识共享内存段,也可以说是实例的名称,同一台机器,相同的ORACLE_HOME,不能使用相同的ORACLE_SID,因为不能创建相同的共享内存段,
INSTANCE_NAME
初始化参数,用于listener动态注册,和环境变量ORACLE_SID无关,两者可以不一致。
SERVICE_NAMES
初始化参数,用于listerer动态注册,可以设定多个值,service_names可以为同一个instance指定多个服务名称。
DB_NAME
初始化参数,同时记录在control file,data file,redo file的header中,初始化参数设置必须与控制文件相同。

listener动态注册:PMON进程自动将数据库的信息注册到listener中,或者使用alter system register显示注册,要求listener必须使用1521端口,使用动态注册将不需要在listener.ora中指定SID_LIST。如果指定了instance_name,service_names参数,动态注册将使用这两个参数,如果没有指定service_name,那么将使用db_domain+db_name作为service_name进行动态注册。
listener status看到如下内容:
Service "test" has 2 instance(s).
Instance "test", status UNKNOWN, has 1 handler(s) for this service...(静态注册)
Instance "test", status READY, has 1 handler(s) for this service...(动态注册)
如果指定了多个service_names,将会看到多个service指向同一个instance,如下:
Service "jackytest1" has 1 instance(s).
Instance "aaa", status READY, has 1 handler(s) for this service...
Service "jackytest2" has 1 instance(s).
Instance "aaa", status READY, has 1 handler(s) for this service...

listener静态注册:在listener中显示指定SID_LIST,静态注册中global_dbname的作用就如同动态注册中的service_names,用于为同一个instance设置多个别名
比如
(SID_DESC =
(GLOBAL_DBNAME = test1)
(ORACLE_HOME = /opt/oracle/products/9.2.0)
(SID_NAME = test1)
)
(SID_DESC =
(GLOBAL_DBNAME = xxxyyy)
(ORACLE_HOME = /opt/oracle/products/9.2.0)
(SID_NAME = test1)
)
这样就为test1这个instance设置了两个service_name,分别是test1和xxxyyy
Service "test1" has 1 instance(s). 
Instance "test1", status UNKNOWN, has 1 handler(s) for this service...
Service "xxxyyy" has 1 instance(s). 
Instance "test1", status UNKNOWN, has 1 handler(s) for this service...

tnsnames.ora的设置
可以使用service_name或者sid连接数据库,分别对应listener中的service和instance,这里要注意的是:如果ORACLE_SID和INSTANCE_NAME不同,那么动态注册使用的是instance_name,而静态注册使用的是ORACLE_SID的值,也就是真正的实例名称。

分享到:
评论

相关推荐

    Oracle9个_name介绍

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

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

    ORACLE_SID 的值必须与 instance_name 的值一致。 数据库名的作用 数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。数据库名还被写入控制文件中,...

    ORACLE网络的几个重点概念.doc

    ORACLE_SID是操作系统的环境变量,其值应与INSTANCE_NAME一致。在Windows系统中,这个环境变量通常在注册表中配置。在客户端配置中,如Net8,SID选项即指ORACLE_SID。 3. 数据库域名(DB_DOMAIN) 数据库域名类似于...

    Oracle怎么用命令创建一个数据库

    - 在Oracle 7和Oracle 8i及更高版本中,数据库名称(db_name)和实例名称(instance_name)可以不同。例如,在创建数据库时,可以通过编辑`init.ora`或`spfile`文件来指定这些参数。 - 示例代码: ```plaintext db_...

    ORACLE 中的几个重点概念

    有几个重要的概念常常被提及,但有时也容易被混淆,这些概念包括:数据库名(DB_NAME)、数据库实例名(INSTANCE_NAME)、操作系统环境变量ORACLE_SID、数据库服务名(SERVICE_NAME)、数据库域名(DB_DOMAIN)以及...

    UNIX下创建ORACLE数据库

    `instance_name` 和 `service_names` 分别表示实例名和服务名,通常与 `ORACLE_SID` 相同。`control_files` 定义了控制文件的位置,用于记录数据库的状态和事务信息。`open_cursors` 控制并发会话可以打开的游标数量...

    Oracle 数据库监听分析及其说明

    - **Oracle_sid**: 必须与 Instance_name 的值相匹配,通常用于操作系统级别的环境变量。 - **Sid_name**: 实例名,与 Instance_name 相同。 - **GLOBAL_DBNAME**: 全局数据库名,它向外部提供服务并用于标识数据库...

    Oracle 主要配置文件介绍

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

    静态注册 动态注册

    SERVICE_NAMES参数允许为同一个实例指定多个服务名称,这使得客户端可以根据需要连接到特定的服务。DB_NAME参数则记录在控制文件、数据文件和重做日志文件的头部,确保数据库实例的命名一致性,初始化参数设置必须与...

    Oracle数据库创建步骤

    - **基本配置**:如数据库名称 `DB_NAME`、数据库实例名 `INSTANCE_NAME`、服务名 `SERVICE_NAMES` 等。 - **日志配置**:包括归档模式的日志配置,如 `LOG_ARCHIVE_START`、`LOG_ARCHIVE_DEST` 等。 - **存储...

    数据库名、实例名、数据库域名、全局数据库名、服务名.pdf

    - `INSTANCE_NAME`是Oracle数据库参数,而`ORACLE_SID`是操作系统的环境变量。 - 从操作系统的角度访问实例,必须通过`ORACLE_SID`。 - 在Windows平台上,`ORACLE_SID`必须存在于注册表中,并且其值必须与`INSTANCE_...

    Oracle静态注册与动态注册详解

    instance_name参数定义了实例的名称,而service_names参数指定了服务名列表。如果没有设置这两个参数,将使用db_name和db_domain的值进行注册。 例如,当设置`service_names=orcl`且`db_domain=oracle.com`时,监听...

    Oracle数据库教程——oracle静态监听和动态监听借鉴.pdf

    `PMON`会根据`init.ora`(现在的版本中通常称为`spfile`)配置文件中的`instance_name`和`service_names`参数,将实例和服务动态注册到监听程序。`instance_name`定义了数据库实例的名称,`service_names`则指定了...

    Oracle 11g datagurd搭建实战

    set service_names to prodstd set flashback on for database ; } ``` #### 3.8 连接到备数据库并验证 ```sql conn / as sysdba ``` 检查数据库状态和归档模式等。 #### 3.9 配置主备同步 ```sql ALTER ...

    Oracle init.ora 配置详解

    在这个例子中,`SID`与`instance_name`相同,都是“51cto”。 #### 5. `DB_DOMAIN` 该参数通常用于Net8环境中,用以识别数据库服务器。 ``` DB_DOMAIN = 控制文件路径 ``` 这里的控制文件路径设置为: ``` control_...

    Oracle9i的init.ora参数中文说明

    mts_service: 说明 : 一个共享服务器参数, 用于指定已在调度程序上注册, 用来建立数据库连接的唯一服务名。如果要在没有调度程序的情况下仍能连接到数据库, 请将该值设置为与例程名相同。此参数自 8.1.3 版起已...

    oracle12c数据库静默安装response文件

    - `SERVICE_NAMES`:定义一个或多个服务名,供客户端连接使用。 - `SID_LIST_LISTENER`:包含SID的列表,与数据库实例关联。 - `TCP_PROTOCOL`:配置TCP/IP协议。 - `HOST`:服务器的IP地址或主机名。 - `回应...

Global site tag (gtag.js) - Google Analytics