다양한 안전장치

장비 레벨에서의 방어 (장비 간의 통신 단절)

  • 각 장비의 클러스터 서비스는 네트워크/Voting 디스크 를 통해 상호 통신 수행
  • 매 초마다 모든 장비는 Voting 디스크에 기록, 실패시 스스로를 클러스터로 부터 분리 / 재기동 (다른 노드가 인스턴스 복구)
  • 모든 장비가 Voting 디스크에 기록 했는지 체크, 그렇지 못한 장비 발견시 종료 시킴 (데이터베이스 안정성 확보)
  • Voting 디스크 기록은 가능 하나 네트워크가 단절 되면 Voting 디스크 기록을 제한하고, 통신 가능 장비의 수 계산 후 아래 경우에 나머지 장비들을 클러스터로 부터 분리 / 재기동 (아래 경우가 충족이 안되면 스스로를 클러스터로 부터 분리)
    • 해당 장비가 속한 그룹이 전체 장비의 반 이상을 포함 하는 경우
    • 장비 수가 동일 하다면 (2:2) 가장 작은 클러스터ID 를 가진 경우

오라클 레벨에서의 방어 (인스턴스 간의 통신 단절)

  • 각 인스턴스가 기동/종료 되면 다른 인스턴스들에게 알림 (모든 인스턴스는 살아 있는 다른 인스턴스들의 수를 알게됨)
  • 인스턴스들은 변경된 수에 맞추어 "rebalance" 하고, 다른 인스턴스들과 네트워크로 지속적 통신 (LMON, 네트워크 heartbeat)
  • 체크포인트 프로세스 가 매 3초 마다 컨트롤 파일 변경 (CKPT, 파일 heartbeat), 실패시 데이터베이스 안정성을 위해 스스로 종료
  • 11.2 에서 LMHB(lock manager heartbeat monitor) 소개 (인스턴스 hang 대응)
    • 락 프로세스들이 락 요청에 대한 처리를 대기하는 것을 빠르게 감지
NameExpanded NameShort Description비고
LMHBGlobal Cache/Enqueue Service Heartbeat MonitorMonitor the heartbeat of LMON, LMD, LMSn processes
LMONGlobal Enqueue Service Monitor ProcessMonitors an Oracle RAC cluster to manage global resourcesGlobal PMON
LMD0Global Enqueue Service Daemon 0 ProcessManages incoming remote resource requests from other instanceGlobal Enqueue 동기화
LMSnGlobal Cache Service ProcessManages resources and provides resource control among Oracle RAC instancesGlobal Cache 동기화