본문 바로가기
Dev/DataBase

[Oracle] SID/Service Name

by nakanara 2021. 1. 10.
반응형

클라이언트에서 오라클로 접속할 때에는 경우에 따라서 SID, ServiceName로 전달받는 경우가 있다.

SID: 오라클 디비가 설치/실행되는 DB고유의 인스턴스 ID(고유 ID)
Service Name: 클라이언트가 사용하려는 DB, 여러 개의 인스턴스를 묶어 하나의 서버 혹은 시스템을 구성

DB 서버를 운영하기 위해서는 서버의 IP 및 프로토콜에 대한 정의 및 설정이 필요하며, 그 설정을 SID라는 것을 중심으로 설정하며, 하나의 서버에 여러 개의 인스턴스가 운영하는 경우에는 각각의 DB를 구분할 수 있는 값으로도 사용

Service Name의 경우는 RAC으로 여러개의 인스턴스를 엮어 Service Name으로 제공하며, 그 경우 사용자는 각각의 SID는 몰라도 되며, 하나의 SID에서 문제가 발생하여도 Service Name 사용 시 문제가 없다. 이 경우 SID를 조회할 경우 여러 개가 표시된다.

확인 방법


-- 데이터베이스명(Service name) 확인 
SELECT NAME, DB_UNIQUE_NAME FROM v$database;

-- SID 확인
SELECT instance FROM v$thread;

JDBC 설정 방법

SID는 HOSTNAME:Port:SID:SID로 하며, Service Name는 HOSTNAME:Port/ServiceName/ServiceName로 함

# SID
jdbc:oracle:thin:@//HOSTNAME:Port:SID

# Service Name
jdbc:oracle:thin:@//HOSTNAME:Port/ServiceName

# TNSNAMES 스타일 
jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL=TCP)(HOST=blah.example.com)(PORT=1521)))(CONNECT_DATA=(SID=BLAHSID)(GLOBAL_NAME=BLAHSID.WORLD)(SERVER=DEDICATED)))

#Oracle #SID #Servicename #servicename #tnsname

반응형

'Dev > DataBase' 카테고리의 다른 글

[MariaDB] 다중 인스턴스 실행  (0) 2021.03.25
[MariaDB] 컬럼명 추출  (0) 2021.02.03
[MariaDB] 문자셋 변경 utf8 -> utf8mb4  (2) 2021.01.08
[ORACLE] 컬럼 정보 조회  (0) 2020.11.05
[MariaDB] JDBC를 통한 failover  (0) 2020.10.29