首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >检查oracle sid和数据库名称

检查oracle sid和数据库名称
EN

Stack Overflow用户
提问于 2011-06-09 12:32:06
回答 7查看 767.9K关注 0票数 123

我想检查SID和当前数据库名称。

我正在使用以下查询来检查oracle SID

代码语言:javascript
复制
select instance from v$thread;

但是表或视图不存在错误即将到来。

我正在使用以下查询来检查当前数据库名称

代码语言:javascript
复制
select name from v$database;

但是表或视图不存在错误即将到来。

对上述两个问题有什么想法吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-06-09 12:46:34

我认为SELECT user FROM dual;应该给你当前的用户

SELECT sys_context('userenv','instance_name') FROM dual;作为实例的名称

我相信你可以让希德当SELECT sys_context('USERENV', 'SID') FROM DUAL;

票数 163
EN

Stack Overflow用户

发布于 2013-12-12 01:01:32

如果像我一样,您的目标是让数据库主机和SID生成Oracle JDBC url,则如下所示

代码语言:javascript
复制
jdbc:oracle:thin:@<server_host>:1521:<instance_name>

以下命令将有所帮助:

用于检查SID (或实例名称)的Oracle查询命令:

代码语言:javascript
复制
select sys_context('userenv','instance_name') from dual; 

用于检查数据库名称(或服务器主机)的Oracle查询命令:

代码语言:javascript
复制
select sys_context('userenv', 'server_host') from dual;

阿特。塞尔吉奥·马塞洛

票数 73
EN

Stack Overflow用户

发布于 2011-06-14 10:28:16

出于完整性考虑,您也可以使用ORA_DATABASE_NAME。

值得注意的是,并不是所有的方法都会给出相同的输出:

代码语言:javascript
复制
SQL> select sys_context('userenv','db_name') from dual;

SYS_CONTEXT('USERENV','DB_NAME')
--------------------------------------------------------------------------------
orcl

SQL> select ora_database_name from dual;

ORA_DATABASE_NAME
--------------------------------------------------------------------------------
ORCL.XYZ.COM

SQL> select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.XYZ.COM
票数 50
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6288122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档