본문 바로가기

sql_tuning

Section3. SID와 SERVICE_NAME 개념 그리고 DB_NAME과 GLOBAL_DBNAME 개념 설명

728x90
반응형

[출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드]

 

SID, SERVICE_NAME, DB_NAME, GLOBAL_DBNAME 구분

  • SID는 Instance의 고유명을 나타냄
    • 예를 들면 RAC에서 여러 인스턴스를 구분하기 위해 사용 하는 것이 SID.
  • SERVICE_NAMES 는 개념적으로 DB에서 서비스 되는 Database 서비스명을 의미, 일반적으로 1개 또는 여러 개의 Instance가 결합되어 서비스 가능.
    • 예를 들면 그림에서 사용자가 ORCL Service 접속 시 Service_NAME: ORCL 임을 확인 후 리스너가 ORCL_01 또는 ORCL_02 인스턴스에 보내줌. 예전에는 SID로 서비스를 찾아갔는데, 문제는 하나의 인스턴스가 죽으면 다른 인스턴스 SID를 모를 경우 서비스를 못 찾아감. 따라서 Service_name이 필요해짐. (SERVICE_NAME이 RAC의 connectivity 를 지원하는 역할을 한다고 볼 수 있음)
    • SERVICE_NAME은 N개 인스턴스에서 공용으로 쓸 수 있고, 각 인스턴스마다 쓸 수도 있음. 
    • 리스너? 
      • 유저를 가용 DB에 할당 시켜주는 역할을 하는데, 내부적으로 보면 SERVICE_NAME으로 찾아가지 않고 GLOBAL_DBNAME을 보고 찾아감. 

  • DB_NAME은 DB의 NAME, DB_UNIQUE_NAME 은 DR(DB Role?)을 고려한 DB의 고유 NAME, DB_DOMAIN 은 집합적 DB 도메인
  • GLOBAL_DBNAME 역시 DB 이름 이지만 DB_NAME + DB_DOMAIN 으로 구성. 기본 SERVICE_NAME 은 GLOBAL_DBNAME 으로 설정함. 
  • 특별한 요건이 없는 이상 이들 4개는 보통은 모두 동일하게 설정.
    • SID = DB_NAME = SERVICE_NAME = GLOBAL_DB_NAME 
728x90
반응형