如何查找Oracle服务名称

时间:2014-03-14 08:32:33

标签: oracle

我的网络上有一个Oracle数据库,我可以使用主机名,端口,用户名,密码和SID连接到Oracle SQL Developer。

我需要连接另一个应用程序(Quantum Gis),但是它使用服务名称而不是SID。

当我通过SID在SQL Developer中连接时,有什么方法可以确定数据库的SERVICE_NAME吗?

我无法访问服务器,也没有本地tnsnames.ora或类似内容。

8 个答案:

答案 0 :(得分:43)

使用SID以“system”身份连接到服务器。 执行此查询:

select value from v$parameter where name like '%service_name%';

它对我有用。

答案 1 :(得分:38)

在此处找到,没有DBA:Checking oracle sid and database name

select * from global_name;

答案 2 :(得分:12)

通过

检查数据库的服务名称

SQL> show parameter service;

答案 3 :(得分:9)

感谢这个帖子(https://community.oracle.com/thread/473276

select sys_context('userenv','service_name') from dual;

可以使用常规用户帐户执行,不需要sysdba权限

答案 4 :(得分:5)

所有会话使用的服务的概述在列v$session中提供了必选视图gv$session(对于RAC数据库是SERVICE_NAME)。

要将信息限制为已连接的会话,请使用视图V$MYSTAT中的SID:

select SERVICE_NAME from gv$session where sid in (
select sid from V$MYSTAT)

如果名称为SYS$USERS,则会话已连接到默认服务,即,在连接字符串中未指定显式的service_name。

要查看数据库中可用的服务,请使用以下查询:

select name from V$SERVICES;
select name from V$ACTIVE_SERVICES;

答案 5 :(得分:0)

使用"系统"连接到数据库user,并执行以下命令:

show parameter service_name 

答案 6 :(得分:-1)

查找ORACLE_SID USE $。 oraenv

答案 7 :(得分:-4)

使用SQL Developer,您也可以在不编写任何查询的情况下找到它。 右键单击您的连接/适当性。

您应该在左侧看到“连接详细信息”之类的名称,并且应该看起来像“Connectionname @ servicename”,或者在右侧,在连接的详细信息下。