본문 바로가기
Oracle/운영

SID와 SERVICE NAME의 차이 및 확인법

by 취미툰 2021. 7. 9.
반응형
SYS@XE> show parameter service_name;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      XE

SID는 INSTANCE의 유니크한 이름입니다.

SERVICE NAME은 데이터베이스에 원격으로 접속할때 사용되는 TNS alias입니다. SERVICE NAME은 클라이언트의 tnsnames.ora 파일에 기록됩니다. SID와 동일할 수 있으며 원하는 다른 이름을 지정할 수 있습니다.

SERVICE_NAME은 데이터베이스가 리스너에 자신을 등록할 수 있는 Oracle 8i부터 사용되는 기능입니다.

이런 방식으로 데이터베이스가 리스너에 등록된 경우 tnsnames.ora에서 SERVICE_NAME 파라미터를 사용할 수 있습니다. 그렇지 않으면 tnsnames.ora에서 SID를 사용합니다.

 

RAC가 있는 경우 인스턴스마다 다른 SERVICE_NAME을 갖게 됩니다.

SERVICE_NAME은 인스턴스가 연결되는 데이터베이스 서비스의 이름을 하나 이상 지정합니다. 동일한 데이터베이스의 서로 다른 용도를 구별하기 위해 여러 서비스 이름을 지정할 수 있습니다.

 

SERVICE NAMES 찾는법

오라큰 SERVICE NAME은 인스턴스 이름과 비슷합니다.

만약 인스턴스 이름이 prdserv이면 SERVICE NAME은 oracleserviceprdserv라고 가정합니다.

 

SERVICE NAME 확인쿼리

 

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


VALUE
----------------------------------------------------------------------------------------------------
XE

1 row selected.

방법2
show parameter service_name;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      XE


방법3
select sys_context('userenv','service_name') from dual;
SYS_CONTEXT('USERENV','SERVICE_NAME')
----------------------------------------------------------------------------------------------------
XE

1 row selected.

 

 SID 확인 쿼리

 OS에서 확인
 ora_pmon_SID 
 ps -ef |grep pmon
oracle    4371     1  0 Jul01 ?        00:01:27 xe_pmon_XE

쿼리로 확인
select instance_name from v$instance;

INSTANCE_NAME
----------------
XE

SELECT instance FROM v$thread;

INSTANCE
--------------------------------------------------------------------------------
XE

RAC의 경우
SQL>  SELECT instance FROM v$thread;

INSTANCE
--------------------------------------------------------------------------------
MEPP1
MEPP2

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
MEPP2

 

 

 

 

출처 : https://www.stechies.com/difference-between-oracle-sids-and-oracle-service-names/

 

Oracle SIDs vs. Oracle SERVICE NAMES

What is the differences between Oracle SIDs and Oracle SERVICE NAMES. Oracle SID is the unique name that uniquely identifies your instance/database where as Service name is the TNS alias. SERVICE_NAME is the new feature from oracle 8i on wards in which dat

www.stechies.com

 

반응형

댓글