오라클 DB를 처음 설치했을 때도 다른 DB에 연결할때도 tnsnames 파일의 SID 와 Service Name 이 무엇인지 궁금했다.
한개의 DB 서버에 한개의 인스턴스만을 사용할 때는 둘의 차이가 크지 않다.
하지만,
RAC (Real Application Cluster) 의 개념을 알고 나니 이해가 되었다.
RAC 가 구성되어 있을 때는 SID 로 접근하는 것 보다는 Service Name 을 사용하는게 더 효과적이다.
왜 그럴까?
SID : DB 인스턴스 1개
Service Nane : 여러개의 인스턴스를 묶어 하나의 서비스로 구성하는 것
RAC 환경의 경우 서버 한대에 여러대의 인스턴스(물리)가 있는 데, 각 인스턴스는 각각의 SID 가 존재한다.
SID로 접속할 경우 각각 다른 SID 로 접속해야 한다.
접속편의, 연속성 보장, SID 공개 문제 등을 보아
SID 를 묶어 하나의 서비스로 구성한 Service Name 으로의 접근이 더 효과적이라고 할 수 있다.
Service Name = SID1 +SID2 + SID3
tnsnames.ora 파일에서의 작성
TESTDB =
(Description =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.112.42.56)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
JDBC를 사용하여 접근 시 URL 작성
# SID > ':' 사용
jdbc:oracle:thin:@10.112.42.56:ORA1
# SERVICE_NAME > '/' 사용
jdbc:oracle:thin:@10.112.42.56/ORA1
'새싹 DBA > Oracle' 카테고리의 다른 글
[오라클] DB 아키텍처 구축 (0) | 2024.05.20 |
---|---|
[오라클/SQL] ROLE(롤) : 권한 그룹 관리 - 롤 생성, 롤 부여, 롤 회수, 롤 삭제 방법 (feat. GRANT) (0) | 2024.05.14 |
[오라클] Table Space (0) | 2024.04.19 |
[Oracle] 오라클 DB 링크와 사용법 (0) | 2024.04.18 |
[오라클] 오라클 RAC를 활용한 다중 서버 데이터베이스 관리 방법 (0) | 2024.04.16 |