[2023.12.12]교육 2일차_admin

망구씨·2023년 12월 12일
0

입사교육

목록 보기
1/7

✅ 오라클 제품들 알아두기
✅ 10g 부터 클러스터가 그리드 역할을 한다.
✅ EM그리드 컨트롤은 기본적으로 디비 설치시 사용이 가능하지만 현업에서는 커맨드로 사용을 많이한다.

Oracle Restart

  • HA는 고가용성을 제공하는 솔루션. HA는 다른 os에서 쓰는 용어인데 같은 서비스가 Oracle Restart 이다.
  • 가드랑 같은게 아닌가? 아니다.
    데이터 센터(기업의 전산실) = IDC (DC)
    주 DC(가산), 부 DC(판교) 일 때
    메인 DC에 디비, AP, 스토리지 등이 있다. 부 센터는 DR이다. 메인인 가산 DC에서 불이 났을 때 같은 구성이 DR센터에 있어야 한다. 이것이 데이터 가드 이다. 장소가 떨어져있어야 한다.

그렇지만 우리가 말하는 HA(고가용성)은 1번 노드가 죽었을 때 2번

1번 노드만 있을 때 스토리지가 1번에만 붙어있는데 1번 이 죽었을 때 다른 빈 1번 노드에 스토리지를 붙이는 것이 Oracle Restart

19c RAC를 설치해야 하는 이유

oracle release and support timelines (찾아보기문서)
11g 서비스가 끝났고
19c는 현재 기술지원이 가능한 최적의 버전이다.

Middle Tier

사용자가 바로 디비에 붙는 경우는 없다. 중간에 WAS서버 같은것이 있다. 3 티어, 2티어 등 개념 용어를 알아야한다.

1. AP 서버 버전 확인

✅ AP서버는 어떤 타입이 있을까?
디비가 19c, AP가 10g, 11g... 일때 내가 어떤 디비 서버에 붙으려면 오렌지(클라이언트)가 어떤 버전인지 알아야한다. 서버는 받아주는거고 클라이언트는 붙는 개념이다. 디비버전에 붙을 수 있는 클라이언트 버전이 무엇이 있는지 알아야한다. 프로젝트를 나가게 되면, 우리는 19c에요. 고객이 쓰고있는 AP서버 버전이 무엇인지 조사 (장표 찾아보기 207303.1)

✅ 추천 버전과 1안,2안 장단점

2. JDBC, JDK 용어 공부하기

  • JDBC : 오라클 클라이언트 없이 thin방식
  • JDK(자바버전) : oci 방식. 올라클 클라이언트 있어야함
    자바에는 오픈 jdk, 오라클 자바 두가지가 있다.

3. ODP .NET 버전도 확인해야함

많이는 안함

4. SQL 호환성(함수)

오라클 11g -> 19c 로 업그레이드시 지원불가. SQL은 없으나 함수는 존재한다. WM_CONCAT 함수가 지원이 안되어서 LISTAGG로 변경 필요. (ORA-00904, DocID 2622063.1) 이런것 찾아서 고객에게 제공해야한다.

오라클 데이터베이스 서버 구조

오라클 서버 = 인스턴스

database 구성

클러스터가 무엇이냐?

💡 클러스터의 역할
1. standard alone : 오라클 프로세서가 비정상 종료되면 자동으로 올리는 역할
2. RAC : 오라클 프로세서가 비정상 종료되면 자동으로 올리는 역할 + 여러개의 노드를 하나의 서버로 보이게 하는 것
💡 종류
ASM, 클러스터파일시스템(IBM-GPFS,HP-?) NFS(nas얜잘안씀)

1. 오라클 데이터베이스 메모리 구조

streams pool - ogg 영역
large pool - data pump 많이 쓰는 고객사에서는 4g이상 잡기
data 버퍼 캐시 - 사이즈(성능과 관련)
셰어드풀 - 20% up

Shared Pool

라이브러리 캐시, 데이터 딕셔너리 캐시 영역을 나눠져있음

데이터베이스 버퍼 캐시

리두 로그 버퍼

디비에 대한 변경 사항 정보

Large Pool


data pump(오라클 데이터베이스 백업 및 복원 작업) 할 때 많이 사용되는 메모리영역이다. 4G이상 크게 잡기

Java Pool 및 Streams Pool

  • Streams Pool - ogg 할 때 어...떤때 크게 잡아야함

PGA

SGA는 메모리를 잡아쓰는영역 고정됨. 디비의 40% 정도 잡는다. 40(SGA) + PGA 영역 하면 실제 50~60%가 사용. 왜 40% 잡냐면 고가용성 때문에. 만약 노드1이 죽으면 노드2에 붙는데 AP의 부하들이 넘어간다. 1이 죽었을 때 메모리 사용량이 두배로, 80%가 된다. 메모리 사용량을 계산할 때 고가용성을 생각하고 잡아야한다. (35% ~ 40%)
PGA는 할당된 영역이 아니다. 사용자에 의해 메모리 왔다갔다 함

parameter 종류(그냥참고)

sga_target 0으로 잡기. 메모리 크기가 조정되는 경우 발생하는 overhead 방지
언더바가 앞에 붙은 것은 히든 파라미터인데 기본값을 변경하는 경우가 많다.
버전마다 다양하기때문에 많이 봐야함

2. 프로세스 구조


백그라운드 프로세스

RBAL

오라클 ASM 에서 사용하는 프로세서
리밸런스 작업이라고 데이터 옮기는 작업할 때 주도하는 프로세서이다.

ARCn

프로세스나 grid 프로세스는 어떤쪽에 로그를 남기는지 확인하기

✅ tip

로그라이터는 디비 서버 i/o가 느리면 trace file에 log를 남긴다.

CKPT

체크포인트가 늦게 찍히면 스토리지가 느림 웨잍이벤트 발생 디스크가 느리다. 서버가 느리다 알 수 있다.

프로세스 시작 시퀀스

데이터베이스 저장 영역 구조

논리적 및 물리적 데이터베이스 구조


마이그레이션, 업그레이드 프로젝트 순서(참고)

  1. AS IS 분석 및 상세 마이그레이션 전략수립/AP가이드 작성
  2. 오라클 설치 및 가용성 테스트(디비도 죽여보고 코드도 뽑아보고..)
  3. DB 마이그레이션
  4. 마이그레이션 테스트
  5. 통합 테스트
  6. 리허설
  7. 오픈 준비
  8. 모니터링

RAC 관련

                 1. 스위치
                 2. 스위치
                
            
   노드1          1. HB 스위치       노드2      
                 2. HB 스위치
                
                
          공유 스토리지(storage controller)     
  • 고가용성 테스트는 다 하나하나씩 장애를 일으켜본다.
  • 백그라운드 프로세스들도 죽여본다. PMON, SMON, DBWR, CKPT.....
  • 이중화를 왜 해야하는지 아는 것이 중요하다.
profile
Slow and steady wins the race.

0개의 댓글