서비스와 백그라운드 프로세스

  • 서비스는 백그라운드 프로세스(Background Process)의 상위 개념이며, 백그라운드 프로세스에 의해 구현되는 논리적인 기능을 의미
  • GCS는 global Cache Service의 약자로, 글로벌 캐시 동기화를 담당하는 역할을 하는 서비스이다. 이 서비스를 수행하는 백그라운드 프로세스는 LMS 프로세스 이다.
  • 즉 GCS란 LM 백그라운드 프로세스에 의해 수행되는 논리적이 기능이다.
  • GCS : Global Cache Service. LMS 프로세스에 의해 제공된다.
    • 버퍼와 관련된 모든 락 정보는 GCS, 즉 LMS 프로세스가 관리한다.
    • LMS 프로세스는 버퍼의 락 정보 및 실제 버퍼 이미지 전송의 역할 까지 담당 한다.
    • 오라클 10g부터는 GCS SERVER PROCESSES 파라미터로 LMS 프로세스의 개수를 지정할 수 잇다.
    • CPU가 많을수록 많이 또는 인터커넥트 통신이 많을수록 많이 사용하는 것이 일반적인 가이드다.
    • 기본값은 4개의 CPU당 하나의 LMS 프로세스를 사용한다.
  • GES : Global Enqueue Service. LMD 프로세스와 LCK 프로세스에 의해 제공된다.
    • OPS에서는 PCM락(BL락)이 락 데이터베이스에서 관리되며, LCK 프로세스가 락 데이터베이스를 관리한다.
    • 따라서 OPS 환경에서는 여러 개의 LCK 프로세스(LCK0, LCK1, ...)가 협동하여 BL락 및 기타 글로벌 락을 관리한다.
    • RAC에서는 LMS 프로세스가 BL락을 전담해서 관리하기 때문에, LCK 프로세스는 단 하나만 구동된다.
    • RAC에서 LMD 프로세스는 노드간의 락 정보 전송 요청 및 응답 매커니즘을 관리한다.
  • CGS : Cluster Group Service. LMON 프로세스에 의해 제공된다.
    • 오라클 시스템 레벨의 대기 이벤트를 관찰하다 보면 CGS wait for IPC msg라는 Idle 이벤트가 관찰되는데 이 이벤트 대기 현상은 LMON 프로세스가 CGS를 위해 IPC 메시지를 받을 때까지 대기한다는 의미이다.
    • CGS, 즉 LMON 프로세스는 클러스터의 멤버십을 관리하는 일을 한다. 클러스터를 모니터링하면서 노드의 가입이나 탈퇴에 따른 클러스터의 상태를 관리하는 역할을 수행한다.