在Oracle数据库的使用过程中,查询数据库名是基础且常用的操作,无论是排查问题、确认连接实例还是进行数据迁移前的校验,都需要先明确当前的数据库名称。下面将介绍几种可靠的查询方式,覆盖不同的使用场景。

通过v$database视图查询
v$database是Oracle的动态性能视图,存储了当前数据库的基础信息,其中name字段就是数据库名。普通用户只要有该视图的查询权限就可以执行,是最常用的查询方式之一。
执行以下SQL语句即可获取数据库名:
-- 查询v$database视图获取数据库名 SELECT name AS database_name FROM v$database;
通过v$parameter视图查询db_name参数
Oracle的初始化参数db_name存储了数据库的名称,v$parameter视图可以查询所有初始化参数的当前值,因此也可以通过该视图获取数据库名。
执行以下SQL语句:
-- 查询db_name参数对应的数据库名 SELECT value AS database_name FROM v$parameter WHERE name = 'db_name';
通过全局名称查询
如果数据库配置了全局数据库名,还可以通过global_name视图查询,该视图的global_name字段会返回全局数据库名,格式通常是数据库名.域名。
执行SQL语句如下:
-- 查询全局数据库名 SELECT global_name AS full_database_name FROM global_name;
常用查询方式对比
为了帮助大家选择合适的查询方式,下面整理了几种方式的对比信息:
| 查询方式 | 适用场景 | 所需权限 |
|---|---|---|
| 查询v$database视图 | 快速获取基础数据库名 | v$database视图查询权限 |
| 查询v$parameter视图 | 确认初始化参数中的数据库名 | v$parameter视图查询权限 |
| 查询global_name视图 | 需要获取全局数据库名时 | global_name视图查询权限 |
注意事项
- 如果当前用户没有对应数据字典视图的查询权限,执行语句时会提示权限不足,需要联系数据库管理员授予相应权限。
- db_name参数和v$database中的name字段值通常是一致的,只有在特殊配置场景下才会出现差异,一般优先使用v$database视图的查询结果。
- 全局数据库名包含域名部分,如果需要纯数据库名,可以对查询结果做截取处理,比如使用
SUBSTR函数分割字符串。
Oracle数据库名SQL查询v$parameterdb_name修改时间:2026-06-28 09:48:23