Note-Notice
➽|PRODUCT ENGINE 영역 최소 요건
데이터베이스 구축 엔진 영역 구성 (FileSystem) 권장 사항
- 파일 시스템 필수 요소 및 사이징 요건
Oracle Install Path:$ORACLE_HOME$ORACLE_BASE- 별도의 공간 할당 권장 (OS root 영역, / 과 분리된 볼륨)
- 최소 LVM 형태이거나 별도의 RAID 된 볼륨에 구성을 권장.
- LVM 형태가 아닌 디스크 자체를 사용 시 필수 FDISK 파티션이 된 볼륨 사용.
- 최소 15Gb 이상의 공간을 할당
- 권장 : 50Gb 이상, 여유 가능 시 100Gb 이상 구성 권고 (ORACLE)
- GI/DB 별 Edition 별로 사이즈가 다르나, 기본 10Gb 미만.
- 단 패치 및 패치백업 공간, DBA작업등의 요건으로 인해 권장사항으로 가이드.
- BASE / HOME 경로 분리 가능하나 각 마운트포인트 별로 상기 권장사항 적용.
- 생성된 경로는 Oracle User/Group 소유권 변경 필수.
- 해당 경로 생성 시 ASCII 캐릭터셋으로만 경로명 지정 가능.
- 경로 지정 금지 사항
- Symbolic Link를 통한 구성 X
- Root (/) 상에 구성 X
- 별도의 공간 할당 권장 (OS root 영역, / 과 분리된 볼륨)
Swap FileSystem관련 (Memory , RAM 기준)- HugePage 사용할 경우, 계산하는 Memory의 양에서 HugePage 할당 공간은 제외.
- 8Gb 초과 , 최소 16Gb 이상 구성
- 8Gb 이하 , 메모리 사이즈의 2배만큼 구성
- Swap 사이즈에 대한 OS 파트의 권고 사항 존재 시
- 최소 사이즈 이상 값이 경우 OS 파트 값대로 구성
- 최소 사이즈 이하 값일 경우 오라클 권고대로 구성
/tmp관련- /tmp 공간이 최소 1Gb 이상, 최소 10Gb 이상 권장
- /tmp 공간이 최소 1Gb 이상, 최소 10Gb 이상 권장
/dev/shm관련 (Only Linux)/etd/fstab에 해당 영역 Mount Point 작성 여부 및 Mount 여부 확인- tmpfs 타입으로 Mount되어야 함
- rw / exec 권한 작성 여부 확인 (기본 rw/exec 부여)
- noexec / nosuid 권한은 부여 X
# Env Root free -m df -h /tmp df -h /dev/shm cat /proc/meminfo | grep "MemTotal" cat /proc/meminfo | grep "SwapTotal" cat /proc/meminfo | grep "Huge" cat /proc/meminfo
➽|DBM: DATA STORAGE 최소 요건
단일 데이터베이스(SINGLE) 최소 스토리지 권장 사항 (엔진영역 제외)
- SAN Switch / HBA Card Spec 확인 후 아래 기준치 검증
- SAN Switch bps Spec = 연결된 HBA Card 갯수 총 Spec
- 예시) 8G San Switch = HBA Card 4G * 2 ea
- 예시) 8G San Switch = HBA Card 4G * 2 ea
- 연결된 HBA Card 갯수의 Spec ⇒ SERVER DISK I/O BandWidth
- READ:WRITH = 8:2 수준 기준으로 초당 처리 바이트 계산
- I/O BandWidth * 가중치 * 1.2 수준 →> byte/s 계산가능
- SAN Switch bps Spec = 연결된 HBA Card 갯수 총 Spec
- STORAGE 구성 검증
- Storage 초당 처리 Request = tps 확인
- Storage I/O Request 평균 처리지연시연 / 최대 처리지연시간 (ms) 확인
- I/O 테스트 수행하여 Storage 부하 발생 및 처리 확인
- OS 상의 I/O BandWidth와 tps 관련 테스트 (SERVER LEVEL)
- I/O 요청 시 I/O BandWidth 전체를 사용 가능한지 확인
- 설계된 H/W 특성 기준치와 비교하여 동일하지 않을시 H/W 분석 필수!
- 아래 테스트 예시는 임시 검증이며, 문제발생시 세부 분석은 OS/STG에서 수행 필수
- I/O 요청 시 I/O BandWidth 전체를 사용 가능한지 확인
- Database Storage 적재 관련 사전 검토 사항
- File System 형태 DB 적재 시
- 최소 LVM 형태이거나 별도의 RAID 된 볼륨에 구성을 권장.
- LVM 형태가 아닌 디스크 자체를 사용 시 필수 FDISK 파티션이 된 볼륨 사용.
- NFS 또는 NAS 형태 DB 적재 시
- 별도 공간으로 Mount 후 사용.
- 단 NFS/NAS 형태의 Network 접근 볼륨의 경우, 별도 튜닝 필요.
- Oracle ASM 사용 DB 적재 시
- 사전 GI 형태 필수 구성 (RAC 또는 HAS 검토)
- 11gR2 이상 요건 / 10g의 경우 DBMS 엔진으로 구성 가능.
- ASM 관련 시스템 구성 시 별도 추가 검토 및 튜닝 필요.
- 사전 GI 형태 필수 구성 (RAC 또는 HAS 검토)
- File System 형태 DB 적재 시
- SERVER I/O BandWidth 테스트 예시
# Env root # ->> IO 테스트 모니터링 방안 # + IO 테스트 간 iostat 및 top 모니터링 수행 # + time 명령어 결과치 확인 후 시간대비 사이즈를 나눠 초당 속도 확인 # + Storage 상에서 부하 측정치 확인 및 tps 확인 병행 # # ->> {DB_STG_FS} # + File System일 경우, 해당 볼륨의 file명까지 명시 # ->> {DB_STG_VOLUME} # + BlockDevice 경우, 해당 블록장치명 전체 절대경로로 명시 # + File System일 경우 hdparam 사용시 블록장치로 확인 # 10G 테스트 - WRITE (ZERO TEST) / 4K 1M / No IO Cache time dd if=/dev/zero \ of={DB_STG_FS} \ bs=4096 count=2621440 oflag=direct time dd if=/dev/zero of={DB_STG_VOLUME} \ bs=1048576 count=10240 oflag=direct # 10G 테스트 - READ (FILE READ) / 4K 1M / No IO Cache time dd if={DB_STG_FS} \ of=/dev/null \ bs=4096 count=2621440 oflag=direct time dd if={DB_STG_VOLUME} \ of=/dev/null \ bs=1048576 count=10240 oflag=direct # OS CHECK 명령어 - hdparm hdparm -Tt {DB_STG_VOLUME}
➽|RAC: DATA STORAGE 최소 요건
RAC 데이터베이스(GI+DB) 최소 스토리지 권장 사항 (엔진영역 제외)
↘ RAC STORAGE 구조 요약

↘ RAC STORAGE 검토 및 검증 사항
RAC - H/W Storage 필수 검토 사항
Oracle Standalone Cluster 구성 상 Storage Layer는 공유 볼륨 환경 필수
- ASM 상에서 관리되는 공유 볼륨은 ASM Diskgroup 단위로 분류됨
- ASM Diskgroup는 ASM_DISK의 집합체
- ASM Diskgroup는 ASM_DISK의 집합체
- Oracle RAC 기준 공유 볼륨은 RAC 시스템을 이루는 모든 노드에서
동시 읽기 쓰기를 지원하는 것을 의미 (No Reserved)- 모든 노드의 볼륨은 동일한 장치와 위치(Device Path)로 구성되어야함 (Oracle 인식기준)
- 모든 노드의 볼륨은 동일한 장치와 위치(Device Path)로 구성되어야함 (Oracle 인식기준)
- Orace RAC에 구성되는 공유 볼륨은 Grid Infrastructure와 Database만을 위한 볼륨
- Oracle Cluster Storage로 사용되는 공유 볼륨 요건
- Shared Storage ⇒> Oracle ASM 또는 Shared File System 형태로 구성
- 공유 볼륨으로 구성되는 스토리지는 Oracle RAC의 소유자/권한으로 구성 필수
- Oracle ASM / VCFS 구성에 따라 요구되는 OCR/VOTE 영역의 구성 및 Redundancy 옵션이 다름
- Shared Storage ⇒> Oracle ASM 또는 Shared File System 형태로 구성
- Oracle Cluster Storage로 사용되는 공유 볼륨 요건
- Block Device
- Multipath Device ⇒> I/O Multi Path를 제공하여 I/O 처리하는 형태
/dev/mapperor/dev/emcpower⇒>/dev/dm-*- Native Multipath / EMC PowerPath(emc power) 등 Mapper Device
- 일반적으로 RAC를 구성하기 위한 권장 옵션
- RawDevice ⇒> Block Device를 RawDisk로 구성하는 형태
/dev/raw- 11g 이하 버전에서만 제공되는 옵션,
이상버전의 경우 Raw Device를 DBMS에서 인식되는 블록장치로 제공되지 않음
- Multipath Device ⇒> I/O Multi Path를 제공하여 I/O 처리하는 형태
- Shared File System
- VCFS ⇒> Veritas Cluster File System
- 베리타스 솔루션에서 제공하는 공유 파일시스템 형태로 구성
- OCR/VOTEDISK 구성을 위해 분리된 공유파일 시스템 볼륨을 구성.
- 서로 다른 최소 3개이상의 공간 필요 (Mount Point)
- I/O Throughput 및 구성은 VCFS 통해 수행 및 관리 필요.
- VCFS ⇒> Veritas Cluster File System
RAC : ASM Diskgroup 구성 가이드라인 - 디스크 구성 필수사항
- Storage 상 ASM_DISK 생성 시 검토 사항
- 스토리지의 물리적 LUN 구성 간 RAID 등 하드웨어 레벨의 로드밸런싱 검토 및 적용 필수
- 디스크그룹 구성하는 ASM_DISK (Storage LUN or Physical Disk) 구성 간
디스크 컨트롤러의 배수로 ASM 디스크 개수를 구성할 것을 권장
- ASM_DISK의 사이즈는 스토리지 상에서 최적의 퍼포먼스로 동작 가능한 사이즈로 구성
- 스토리지 전문가의 스토리지 구성에 따른 분석 및 사이즈 권고안 필수!
- 스토리지의 볼륨 사이즈 최적 권고안 필요 (OS/STG Part의 권고값 필요)
- Storage 및 Disk Controller 상의 Spec 검토
- 볼륨 I/O 블록 사이즈(Sector Size) 및 I/O Throughput 최적안 검토
- 각 스토리지 벤더사 제공 문서 확인검토 필수 (STG Part)
- 각 스토리지 벤더사 제공 문서 확인검토 필수 (STG Part)
- 각 디스크그룹을 구성하는 ASM_DISK는 Bytes 단위로 모두 동일 사이즈로 구성 필수
- 향후 디스크그룹 증설의 디스크 추가시에도 같은 사이즈로 증설 필수
- ASM Striping / Rebalance의 정상적인 동작을 위함
- Server OS 상 ASM_DISK 생성 시 검토 사항
- Block Device 구성 후 필수 검토 사항 →> Oracle ASM_DISK 전환
- ASM_DISK로 사용하기위한 구성 장치 소유자/권한 관리를 위한 검토 옵션
- 기본 블록장치인
/dev/sd*형태는 사용 절대 금지 - 소유자/권한의 구성은, 서버 Reboot 시에도 유지될수 있도록 구성
- OS 상에서 OS Partition 구성 필수 (Not Formatting)
- 디스크/볼륨 자체로 사용 시, OS 및 STORAGE 상의
Volume Header 조작 및 관리 상의 문제 회피를 위함.
- 디스크/볼륨 자체로 사용 시, OS 및 STORAGE 상의
- (OPT#1) Oracle ASM Library
- Oracle에서 제공하는
oracleasmlib이용하여 Block Device를 관리 - 구성된 장치의 경우,
/dev/oracleasm위치 상에서 소유자/권한 관리하는 방식- 각 블록장치의 헤더/레벨을 인식해서 별도의 블록장치로 구성하는 형태
- OS/STG 영역과 별개로 DB 관리 차원에서 별도 스토리지 장치를 관리하는 방안
- 시스템 관리 시 이중 관리 포인트로 작용 (OS/STG/DB Part)
- 시스템 관리 시 이중 관리 포인트로 작용 (OS/STG/DB Part)
- (참고사항) ASM Filter Driver - AFD
- 12cR2 이상버전부터 GI 엔진 내장 기능중 OS 상 접근 보안기능을 추가한
AFD를 이용하여 H/W 디스크 관리가능하나, 권장하지않음. - 해당 기능 사용시 OS 상에서도 해당 디스크장치를 ACCESS하지 못함.
- 12cR2 이상버전부터 GI 엔진 내장 기능중 OS 상 접근 보안기능을 추가한
- Oracle에서 제공하는
- (OPT#2) UDEV 통한 Block Device 관리
- OS/STG 상에서 블록 장치를 관리하는 형태
- OS 상에서 udev 통한 소유자/권한 관리 방식
- Grid 유저 소유 / 0660 구성 필수
/etc/udev/rules.d상 프로파일을 이용, 블록 장치 관리- DB Engineer 관점 구성 권장사항
- OS/STG 상에서 블록 장치를 관리하는 형태
- 디스크그룹의 AU_SIZE 고려사항
- Redundancy 옵션에 따른 AU_SIZE는 Storage Sector Size 및 성능을 고려하여 산정
- 기본 값은 External 옵션의 경우 4MB, 중복 옵션을 지정한 그룹의 경우 1MB로 구성 권장
- AU Size는 (1/2/4/8/16/32/64 MB)의 옵션 값 존재
- 최초 디스크그룹 구성에 선택한 AU_SIZE를 재구성하기 위해선 재생성 필수
- Storage 상의 I/O Block Size(Sector Size)의 배수로 구성을 권고
- 물리 Sector Size 기준의 배수
- 물리 Sector Size 기준의 배수
- Block Device 구성 후 필수 검토 사항 →> Oracle ASM_DISK 전환
- Redundancy 옵션 검토 사항
Redundancy | Multiplex | Min Disk | Default AU_SIZE |
|---|---|---|---|
| - External | 데이터 이중화 X | 1EA 1 Set | - 4 MB |
| - Normal | 데이터 이중화 O | 2EA 1 Set | - 1 MB |
| - High | 데이터 삼중화 O | 3EA 1 Set | - 1 MB |
- Oracle ASM에서 제공하는 ASM Diskgroup의 데이터 복제 요건 (Logical)
- 논리적으로 지정된 복제옵션에 따라 Disk Group 내에서 자동으로 데이터를 복제 관리함.
- 실제 사용가능한 Disk Group의 사용량은 Redundancy 옵션에 따라 다름
- 지정된 ASM Diskgroup Redundancy는 최초 ASM Disk group 생성 시 지정됨
Redundancy 변경을 위해선 Disk Group 재생성 필수 - 위 Diskgroup의 Redundancy 기준으로 디스크가 구성/변경/추가 되어야함.
RAC : ASM Diskgroup 구성 가이드라인 - OCR/VOTEDISK
(필수/최소) Oracle 19c Clusterware Storage Space (ASM 필요 영역) GuideLine
- ASM 구성 시 클러스터 관리를 위한 디스크 그룹 1개 필수 지정
- VCFS의 경우, 최소 3개의 분리된 파일시스템 구성 필수
- Redundancy 옵션에 따름
| DiskGroup | Role |
|---|---|
OCRVOTE DG | Oracle Clusterware (GI,Grid Infrastructure)의 MetaData 관리 - GI의 Cluster 기능을 유지하는 OCR/Vorting Disk의 구성 대상 + OCR : Oracle Cluster Ready Service, GI 리소스 및 구성 정보+ VOTE/Vorting Disk : GI Cluster Alive Check를 위한 구성 파일- Membership Logic : Disk I/O Check |
Redundancy | Multiplex | Min Disk | Disk per Min Size |
|---|---|---|---|
| - External | 데이터 이중화 X | 1EA (1/1 요구) | - 2GB ( Default 1GB / Provision 1GB ) |
| - Normal | 데이터 이중화 O | 3EA (2/3 요구) | - 2GB ( Default 1GB / Provision 1GB ) |
| - High | 데이터 삼중화 O | 5EA (3/5 요구) | - 2GB ( Default 1GB / Provision 1GB ) |
# Grid MetaData - 디스크그룹 사이즈 공식
Total Size =
( 2 * ausize * Disks )
+ ( Redundancy * ( ausize * (all_client_instances + nodes + disks + 32 )
+ ( 64 * nodes ) + clients + 543 )
- redundancy = 미러 수 : 외부 = 1, 일반 = 2, 높음 = 3, flex = 3
- ausize = 메타데이터 AU 크기(MB)
- all_client_instance = 모든 데이터베이스 클라이언트 및 ACFS 프록시 인스턴스의 합계
- nodes = 클러스터에 있는 노드 개수
- clients - 각 노드에 대한 데이터베이스 인스턴스 개수
- disks - 디스크 그룹의 디스크 개수- 최소 디스크 수의 경우, (OCR/Vorting Disk 요구)되는 최소 디스크 값 요건
- OCR/VOTE구성 간 이중화 (또는 삼중화) 구성 권장!
- OCR/VOTE구성을 위한 Diskgroup 구성 시 데이터 복제(Redudnacy) 옵션 요구사항 중,
Vorting Disk 구성에 있어 디스크 하드웨어가 홀수로 구성되는 필수 제약사항 존재
↘ RAC GIMR 고려사항 (MGMT_DB)
(OPTION) 19c Grid 관리 구성요소(GIMR,MGMTDB) 구성 간 고려사항
-
Oracle RAC 상의 H/W 및 RAC Operation 정보를 주기적으로 수집
- Support 지원 상 제공 가능한 시스템 분석정보 자동 관리 (+ AHF/TFA)
- 12cR1 부터 Oracle Grid Infrastructure 통해서 제공
- 별도의 DB가 자동구성 되며 (
_MGMTDB) 해당 DB에 데이터적재, 별도의 툴로 정보 확인
-
Oracle 19c Version 부터 해당 기능은 Optional하게 구성 가능
- 구성 필요시 별도의 디스크그룹을 구성할 것을 권고
- GIMR을 대체할 여러 유틸리티들이 존재하고 Real-Time 모니터링의 특성상
부하 발생 및 Bug 등으로 인한 사이드임펙트 존재.- OSWatcher / ORACHK / ORATOP 등의 대체 유틸리티 존재
-
GIMR 구성시 분리 대상 ASM_DISKGROUP 구성 요건
| DiskGroup | Role |
|---|---|
MGMT DG | Oracle GIMR을 위한 별도 DIskgroup 관리 - Oracle RAC의 진단정보 수집(OS/GI/DB) 및 관리용 DB( _MGMTDB)를 위한 영역- GIMR 구성시, 별도 Diskgroup 미분리 시 + OCRVOTE용 디스크그룹과 병합되어 구성되므로 GIMR 구성시 DG 분리 필수 |
Redundancy | Multiplex | Min Disk | Disk per Min Size |
|---|---|---|---|
| - External | 데이터 이중화 X | 1EA | - 28GB ( 4 개 이상 Node 당 5GB 추가 ) |
| - Normal | 데이터 이중화 O | 2EA 이상 | - 56GB ( 4 개 이상 Node 당 5GB 추가 ) |
| - High | 데이터 삼중화 O | 3EA 이상 | - 84GB ( 4 개 이상 Node 당 5GB 추가 ) |