본문 바로가기
oracle/[RAC] RAC 관련

[RAC] RAC기반에서의 Load Balancing과 Application Failover

by #moonyz 2014. 11. 24.

[RAC Load Balancing]

- 부하 분산

- 서버에 걸리는 업무량을 균형에 맞게 배분


1. Client쪽에서 설정하는 방식 (주로 접속하는 PC)

- Client역할을 하는 PC나 Server에 Oracle Client 프로그램이 설정되어 있어야 함

- PC의 tnsnames.ora 파일을 설정



2. Server쪽에서 설정하는 방식

- Server쪽의 listener.ora파일을 수정해서 Load Balancing을 구현

- 접속요청을 받은 리스너가 다른 서버에있는 리스너의 업무부하를 보고 

   자신보다 한가하면 접속요청된 client에게 Re-Direct

- 각 서버의 리스너들이 상대 리스너의 부하정보다 접속정보를 알고있어야 함 (Dynamic Register 기법)


Dynamic Register

- 8i 이전 버전까지 리스너가 서비스를 해주는 instance정보는 관리자가 수동으로 관리(static) 

-> listener.ora에 등록

- 8i 버전부터는 PMON 프로세스가 listener에게 instance들의 정보를 자동으로 알려줌(Dynamic)

- PMON에 의해 관리되는 주요정보는 listener별로 1분동안 접속한 접속자 수와 load관련 정보 등

- 이 기능을 사용하려면 초기화 파라미터 파일(pfile, spfile)에 SERVICE_NAMES 파라미터를 사용


<SERVICE_NAMES 파라미터>

서비스 하고 싶은 이름을 명시적으로 등록, 설정이 없으면 자동으로 설치시 지정한 DB_NAME을 사용


<local_listener 파라미터>

PMON이 인스턴스 정보를 알려줄 listener를 지정하는 용도

이 파라미터를 지정하지 않을 경우 현재 서버의 1521포트를 사용하는 리스너에게 자동으로 알려줌





[Application Failover 설정하기]

- 장애 상황을 대비한 RAC의 탁월한 Application Failover 기능 TAF, CTF


1. CTF (Connection Time Failover)

- RAC1에 장애가 있어서 접속이 되지 않을경우 관리자의 간섭이나 조치 없이 자동으로 RAC2를 찾아서 접속하여

- storage에 저장된 데이터에 접근할 수 있도록 만들어 주는 기능

- tnsnames.ora에 설정된 정보를 참고하여 기본적으로 지원됨

- 사용자 입장에서는 장애를 알수 없고, 서비스는 계속 접속이 됨

- 단, 장애가 난 RAC1에 기존에 접속되어있던 사용자는 접속이 끊어지고 재접속을 할경우 자동으로 RAC2로 연결

장애가 난 RAC1에서 하고있던 작업중 commit이 되지 않은 작업은 모두 취소됨

- 단점 : 장애가 발생한 RAC1에서 작업하던 세션들이 모두 중단되고 RAC2로 새로 접속해서 다시시작해야함


2.  TAF (Trasparent Application Failover)

- RAC1에 장애가 발생되어 인스턴스가 비정상 종료되어도 RAC1에서 작업을 하던 작업이 RAC2로 그대로 넘어감

- 사용자는 끊임이 없는 작업을 지속할수 있다 (SELECT 작업에만 적용)

- Client의 tnsnames.ora파일의 설정을 변경하여 구현할수있음

- TAF 관련 파라미터 : FAILOVER, FAILOVER_MODE


* FAILOVER : failover 사용여부(ON/OFF, YES/NO), 기본값 OFF

* FAILOVER_MODE : TYPE과 METHOD의 세부항목을 가짐

- SESSION : client가 select를 수행하는 도중에 해당 인스턴스가 장애가 나서 중단될 경우 에러발생후 중단됨

   문제가 없는 다른 서버로 자동으로 재접속

- SELECT : 기존 서버에서 수행중이던 select문장을 새로운 서버에 접속한 후 계속 수행 (session보다 발전)

- BASIC : 장애가 발생할 경우 다른 서버를 찾아서 접속 시도

- PRECONNECT : 장애를 대비해 처음 접속시 두개의 접속을 미리수행, 새로운 서버를 찾아 접속하는 시간 절약




'oracle > [RAC] RAC 관련' 카테고리의 다른 글

[RAC] RAC환경에서 archive log mode로 변경하기  (0) 2014.11.26
[RAC] OCR 개념 및 관리  (0) 2014.11.25
[RAC] RAC 운영하기  (0) 2014.11.25
[RAC] CRS  (0) 2014.11.25
[RAC] HA, OPS, RAC / Cache Fusion / Interconnect  (1) 2014.11.24

댓글