• SID:
Instance의 고유명을 나타냄.
RAC 구조에서 instance가 2개라면, 각 instance 마다 고유의 SID를 가
• SERVICE_NAMES
개념적으로 DB에서 서비스되는 Database 서비스명을 의미,
일반적으로 1개 또는 여러 개의 instance가 결합되어 서비스 가능.
RAC구조에서 여러 인스턴스에 대해 service name을 하나로만 설정할 수 있다. (instance 마다 service name 이 달라야하는게 아님 ) + 한 instance에 여러 service name 이 있을 수 있다.
listener 가 service 명을 확인하고, 만일 해당 service name이 여러 instance를 가리킬 경우, 부하를 계산해서 접속을 한다 (load balancing)
서비스명만 알면 DB가 알아서 연결을 시켜준다
- RAC구조라면 instance 들을 하나의 service name으로 설정하여, 가용성 (instance01 장애 시 instance02로 접속 가능)
• DB_NAME
DB의 NAME,
DB_UNIQUE_NAME은 DR을 고려한 DB의 고유 NAME,
DB_DOMAIN은 집합적인 DB 도메인
• GLOBAL_DBNAME
역시 DB 이름 이지만 DB_NAME + DB_DOMAIN으로 구성.
기본 SERVICE_NAME은 GLOBAL_DBNAME으로 설정함.
기본 service_name 이 global_dbname이 된다
예시
한국지사/미국지사 이렇게 있다면, ORCL.KOR / ORCL.US
예시
GLOBAL_DBNAME: ORCL.DUMMYCO
DB_NAME : ORCL
DB_DOMAIN: DUMMYCO
기본SERVICE_NAME: ORCL.DUMMYCO
보통은 다 동일하게 설정을 한다
SID = DB_NAME = SERVICE_NAME = GLOBAL_DB_NAME
tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.1)(PORT=1521))
)
(CONNECT_DATA=
(SERVICE_NAME=ORCL)
)
)
listener.ora
LISTENER =
( ADDRESS_LIST =
(ADDRESS= (PROTOCOL=TCP)(HOST=10.0.0.1)(PORT=1521))
(ADDRESS= (PROTOCOL=IPC)(KEY=PNPKEY))
)
SID_LIST_LISTENER=
(
( SID_LIST =
(SID_DESC=
(GLOBAL_DBNAME=ORCL)
(SID_NAME=ORCL)
(ORACLE_HOME=/opt/oracle/.../)
)
)
)
- listener하나에 여러 sid를 넣을 수 있다
- listener에는 service_name 항목이 없다 ??
- global_dbname이 default로 service_name 과 mapping된다
'DBMS > Oracle' 카테고리의 다른 글
[Oracle] PGA란? (0) | 2024.04.15 |
---|---|
[Oracle] Wait Event란? (wait event class 정리 ) (0) | 2024.03.03 |
OLTP란 Batch Process (0) | 2024.02.27 |
[DBMS] 과연 Index scan(Random Acces)가 빠른것인가? (Random Access vs Sequential Access & Index Scan vs Full Scan) (0) | 2024.02.26 |
[Oracle] Database Block, Clustering Factor란? (0) | 2024.02.26 |