728x90
반응형
Oracle RAC 개념(Cluster, 구성요소)에 대해서 알아보자
Oracle RAC 개념(Cluster, 구성요소)
- Oracle RAC는 여러 개의 Instance가 하나의 Database를 액세스 할 수 있다.
- 이는 application에서 접속할 수 있는 통로는 여러 개이며 Database는 하나인 형태이다.
Oracle RAC = N개의 Instance + 1개의 Database
- 그리고 RAC로 연결된 N개의 Instance에서 동일한 Datafile을 공유하여 엑세스한다.
- 하지만 Database 작업에 사용할 수 있는 CPU나 메모리 등의 Resource는 서로 공유하지 않으며 해당 Node의 Resource만을 사용한다.
Cluster
- 두 개 이상의 독립된 서버들과 Disk를 하나로 연결하는 기법이다.
- 사용자가 Cluster로 구성된 서버들 중 어느 서버에 접속해도 동일한 Disk를 액세스 하게 되므로 하나의 서버 또는 하나의 Disk에 연결하는 것처럼 인식한다.
- Oracle RAC는 Oracle Clusterware를 사용하여 어느 Instance에 접속하여도 사용자에게 동일한 data를 실시간으로 조회, 변경할 수 있는 기능을 제공한다.
- 또한 Oracle Clusterware를 사용하면 높은 처리량과 고가용성을 보장할 수 있다.
- Clusterware의 자세한 특징은 다음에 설명하도록 하겠다.
단일 Instance vs Oracle RAC
- 단일 Instance 환경에서와 마찬가지로 Oracle RAC 환경의 각 Instance에는 각자의 SGA와 백그라운드 프로세스가 존재한다.
- 그러나 모든 Datafile과 Control File은 모든 인스턴스에서 동일하게 액세스 할 수 있어야 하므로 공유 Storage에 위치해야 한다.
- 그리고 각 Instance에는 고유한 Online Redo Log File이 존재한다.
- Online Redo Log File은 자신이 속한 Instance에 의해서만 기록될 수 있다.
- 그러나 online redo log file도 인스턴스 복구 시에는 다른 인스턴스에서 엑세스할 수 있어야 한다.
- 따라서 Online Redo log file도 공유 storage에 저장되어야 한다
- redo log group을 공유하고, redo log file에 쓰는 것은 개별적으로 쓴다.
*Data 정합성
- Oracle RAC 환경의 Instance는 여러 Instance에서 동시에 동일한 data를 액세스 하는 구조로 data를 공유한다.
- 동일한 data를 여러 인스턴스가 읽어도 문제는 없지만, 동일한 data에 대해 여러 인스턴스가 동시에 수정, 삽입 등을 하는 경우 data 무결성 문제가 발생할 수 있다.
- 그래서 Oracle RAC은 Cache lock과 Cache Fusion 등을 사용하여 이를 보장한다.
- 자세한 것은 다음에 설명하겠다.
Oracle RAC 구성요소
Oracle Grid Infrastructure
Oracle RAC는 Grid Infrastructure에서 제공하는 Oracle Clusterware의 기반하에 여러 Database 서버를 묶어서 하나의 시스템처럼 동작하도록 지원한다.
*GI는 Oracle Custerware 및 ASM으로 구성되며 운영체제와 긴밀하게 통합된 소프트웨어 계층이다.
- Clusterware 설치 : RAC 구성을 위해 필요한 소프웨어이며 오라클 설치 계정 이외 별도의 계정을 생성하여 설치하는 것을 권장한다.
- Clusterware의 OS 계정 : 일반적으로 GI와 ASM을 소유하는 전용 OS 계정인 grid 계정을 사용한다.
공유 Storage
- 각 Instance는 공유 Storage를 통해 물리적인 data를 공유하며 database에서 사용하는 ASM 및 CFS(Cluster File System)를 구성한다.
- 공유 Storage에서 Database File은 모든 Node에 동등하게 동시에 액세스 할 수 있어야 한다. 물론 Storage에서 생성된 Disk는 공유 모드가 활성화되어야 한다.
Oracle RAC Network 구성 요소
Public IP
- 각 Node에 대한 고유한 IP로 서버 주소와 동일하다.
- 일반적으로 Node 관리 목적으로 사용된다.
Service IP
- 클라이언트에서 Database 서버의 Public IP를 사용하여 접속할 경우 장애가 발생한 Node에서 세션을 다른 Node로 옮기는데 많은 시간이 걸릴 수 있다.
- 이때 VIP(Virtual IP)를 사용하여 클라이언트가 node에 장애가 발생했다는 것을 신속하게 인식할 수 있도록 함으로써 다른 Node로 재연결 시간을 향상시킬 수 있다.
SCAN(Single Client Access Name)
- GNS 및 DNS를 사용하여 정의할 수 있다.
- SCAN을 이용할 경우 Cluster 내 서버 수에 관계없이 Load balancing 및 고가용성을 고려하여 3개의 IP 주소를 권장한다.
Private IP(Cluster Interconnect)
- Cluster Node 별 통신을 위한 IP로 다음과 같은 목적으로 사용한다.
- Resource 동기화를 위해 Cluster에서 Heartbeat 프로세스를 위해서 사용하는 통신 경로
- Instance에서 다른 Instance로 data를 전송(cache fusion)하는 용도로 사용
Oracle Kernal 구성 요소
오라클 커널의 구성요소는 RAC database의 각 인스턴스에 대한 추가 백그라운드 프로세스의 집합(GRD, GCS, GES)이다. 자세한 설명은 cache fusion에서 설명하겠다.
출처 :
반응형
'IT Technology' 카테고리의 다른 글
프로젝트 관리 프로세스란 무엇인가?? (0) | 2022.07.13 |
---|---|
Putty 무설치 다운로드 (0) | 2022.07.09 |
[DB/Storage] Database와 Storage의 차이점 (0) | 2022.07.06 |
WBS 프로젝트 작업 분류체계(Work Breakdown Structure) (1) | 2022.03.19 |
GTM 장비란? (0) | 2022.03.17 |