oracle-database

How to find Oracle Service Name


I have an Oracle database on my network which I am able to connect to with Oracle SQL Developer, using hostname, port, username, password and the SID.

I need to connect another application (Quantum Gis), however it uses the Service Name instead of the SID.

Is there any way for me to determine the SERVICE_NAME of the database when I am connected in SQL Developer via the SID?

I do not have access to the server and have no local tnsnames.ora or similar.


Solution

  • Overview of the services used by all sessions provides the distionary view v$session(or gv$session for RAC databases) in the column SERVICE_NAME.

    To limit the information to the connected session use the SID from the view V$MYSTAT:

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

    If the name is SYS$USERS the session is connected to a default service, i.e. in the connection string no explicit service_name was specified.

    To see what services are available in the database use following queries:

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