查看oracle数据库全局数据库名和sid

博客给出两条SQL语句,分别用于查看全局数据库名和sid。通过'select name from v$database;'查看全局数据库名,用'select instance_name from v$instance;'查看sid。

select name from v$database; //查看全局数据库名

select instance_name from v$instance; //查看sid

<think>我们正在讨论Oracle数据库配置中的全局数据库SID的填写方法。根据引用内容,我们可以总结如下: 1. **全局数据库**:通常由数据库(DB_NAME)数据库(DB_DOMAIN)组成,格式为`数据库.数据库`。例如,如果数据库为`orcl`,数据库为`example.com`,那么全局数据库就是`orcl.example.com`。全局数据库用于唯一标识一个数据库,特别是在网络环境中(如配置监听器或tnsnames.ora文件时)[^1][^3]。 2. **SID(System Identifier)**:也称为数据库实例(instance_name),是用于与操作系统交互的标识。在同一台服务器上,如果有多个数据库实例,每个实例都有一个唯一的SID。在操作系统中,通过设置环境变量`ORACLE_SID`来指定要连接的实例[^2][^4]。 在填写时,需要注意: - 在创建数据库时(如使用DBCA或CREATE DATABASE语句),需要指定全局数据库SID。 - 全局数据库通常用于网络服务(如tnsnames.ora中的配置),而SID用于本地连接或操作系统级别的标识。 - 在单实例环境中,数据库(DB_NAME)实例(INSTANCE_NAME)通常相同,但也可以不同。而在RAC(Real Application Clusters)环境中,一个数据库可以有多个实例,每个实例有自己的SID,但共享同一个数据库[^3][^4]。 **示例**: 假设我们有一个数据库数据库为`mydb`,数据库为`mycompany.com`,实例为`mydb1`(在单实例环境中,实例通常与数据库相同,但也可以不同)。那么: - 全局数据库:`mydb.mycompany.com` - SID:`mydb1` 在配置监听器(listener.ora)本地网络服务(tnsnames.ora)时,通常需要用到全局数据库(或服务SID。例如,在tnsnames.ora中: ```tnsnames MYDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = mydb.mycompany.com) # 使用全局数据库(服务) # 或者使用SID(较旧的方式): # (SID = mydb1) ) ) ``` 注意:现代Oracle客户端通常推荐使用`SERVICE_NAME`(即全局数据库)而不是`SID`,因为`SERVICE_NAME`可以更好地支持RAC动态服务注册。 **总结填写方法**: - **全局数据库**:填写格式为`<数据库>.<数据库>`,如果没有域,则直接使用数据库(但通常建议设置域以避免冲突)。 - **SID**:填写实例,即操作系统层面用于标识该实例的称,通常与数据库相同(在单实例非RAC环境中)。 §§相关问题§§ 1. 在Oracle RAC环境中,全局数据库SID的关系是什么? 2. 如何修改Oracle数据库全局数据库? 3. 在配置Oracle监听器时,如何指定服务SID?</think>### Oracle数据库配置中全局数据库SID的填写方法 在Oracle数据库配置中,**全局数据库****SID(System Identifier)** 是两个关键标识符,它们的填写方法如下: #### 1. **全局数据库 (Global Database Name)** - **格式要求**:`<数据库>.<数据库>` 例如:`orcl.example.com` - **填写规则**: - **数据库**(DB_NAME):由字母、数字`_`组成,长度≤8字符(建议全大写)。 例如:`ORCL`, `PRODDB` - **数据库**(DB_DOMAIN):定义数据库所在的网络域(如公司域),需与DNS配置匹配。 例如:`example.com`, `corp.net` - **完整全局** = `DB_NAME.DB_DOMAIN` 例如:`ORCL.example.com` - **配置位置**: - 创建数据库时通过DBCA(Database Configuration Assistant)指定 - 或手动在参数文件`init.ora`中设置: ```ini db_name = 'ORCL' db_domain = 'example.com' ``` #### 2. **SID(System Identifier)** - **定义**:操作系统层面标识**数据库实例**的唯一称。 - **填写规则**: - 由字母、数字`_`组成,长度≤8字符(建议全大写)。 - 通常与数据库(DB_NAME)相同(单实例环境),但可独立设置。 例如:`ORCL`, `PROD1` - **配置位置**: - Windows注册表:`HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_<版本>\ORACLE_SID` - Linux/Unix环境变量(需在连接前设置): ```bash export ORACLE_SID=ORCL ``` #### 关键区别与使用场景 | **项目** | **全局数据库** | **SID** | |-------------------|--------------------------------------|----------------------------------| | **作用** | 网络唯一标识数据库(逻辑层面) | 操作系统标识实例(物理层面) | | **格式** | `DB_NAME.DB_DOMAIN`(带域) | 短称(无域) | | **配置文件引用** | `tnsnames.ora`(服务) | `listener.ora`(静态注册) | | **查询方式** | `SELECT * FROM GLOBAL_NAME;` | `SHOW PARAMETER instance_name;` | | **多实例场景** | 一个全局对应一个数据库(可多实例) | 每个实例需唯一SID[^3] | #### 配置示例 1. **单实例环境**: - 全局数据库:`ORCL.example.com` - SID:`ORCL`(与DB_NAME相同) 2. **RAC集群环境**: - 全局数据库:`ORCL.example.com`(共享) - SID:`ORCL1`, `ORCL2`(每个节点独立SID)[^3][^4] > **重要提示**: > - 修改全局需使用 `ALTER DATABASE RENAME GLOBAL_NAME TO ...;` > - 修改SID需重建控制文件或使用`nid`工具,操作复杂且需停机[^1][^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值