Answers:
我想SELECT user FROM dual;
应该给你当前的用户
和SELECT sys_context('userenv','instance_name') FROM dual;
实例的名称
我相信你可以得到SID作为 SELECT sys_context('USERENV', 'SID') FROM DUAL;
select sys_context('userenv','db_name') from dual;
对于数据库名称和sid,我已经在答案中添加了。希望这能给您您想要的东西
如果像我一样,您的目标是获取数据库主机和SID以生成Oracle JDBC URL,如下所示
jdbc:oracle:thin:@<server_host>:1521:<instance_name>
以下命令将有所帮助:
Oracle查询命令以检查SID(或实例名称):
select sys_context('userenv','instance_name') from dual;
Oracle查询命令以检查数据库名称(或服务器主机):
select sys_context('userenv', 'server_host') from dual;
参加 塞尔吉奥·马塞洛(Sergio Marcelo)
仅出于完整性考虑,您还可以使用ORA_DATABASE_NAME。
可能值得注意的是,并非所有方法都可以提供相同的输出:
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
在sqlplus
命令提示符下键入
SQL> select * from global_name;
然后您将在命令提示符下看到结果
SQL ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
在这里,第一个“ ORCL”是数据库名称,可能是您的系统“ XE”以及其他在oracle下载时给出的名称。