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

    • Swap FileSystem 관련 (Memory , RAM 기준)
      • HugePage 사용할 경우, 계산하는 Memory의 양에서 HugePage 할당 공간은 제외.
      • 8Gb 초과 , 최소 16Gb 이상 구성
      • 8Gb 이하 , 메모리 사이즈의 2배만큼 구성
      • Swap 사이즈에 대한 OS 파트의 권고 사항 존재 시
        • 최소 사이즈 이상 값이 경우 OS 파트 값대로 구성
        • 최소 사이즈 이하 값일 경우 오라클 권고대로 구성

    • /tmp 관련
      • /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

    • 연결된 HBA Card 갯수의 Spec SERVER DISK I/O BandWidth
      • READ:WRITH = 8:2 수준 기준으로 초당 처리 바이트 계산
      • I/O BandWidth * 가중치 * 1.2 수준 > byte/s 계산가능

  • 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에서 수행 필수

  • 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 관련 시스템 구성 시 별도 추가 검토 및 튜닝 필요.

  • 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의 집합체

  • Oracle RAC 기준 공유 볼륨은 RAC 시스템을 이루는 모든 노드에서
    동시 읽기 쓰기를 지원하는 것을 의미 (No Reserved)
    • 모든 노드의 볼륨은 동일한 장치와 위치(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 옵션이 다름

  • Block Device
    • Multipath Device > I/O Multi Path를 제공하여 I/O 처리하는 형태
      • /dev/mapper or /dev/emcpower > /dev/dm-*
      • Native Multipath / EMC PowerPath(emc power) 등 Mapper Device
      • 일반적으로 RAC를 구성하기 위한 권장 옵션
    • RawDevice > Block Device를 RawDisk로 구성하는 형태
      • /dev/raw
      • 11g 이하 버전에서만 제공되는 옵션,
        이상버전의 경우 Raw Device를 DBMS에서 인식되는 블록장치로 제공되지 않음

  • Shared File System
    • VCFS > Veritas Cluster File System
      • 베리타스 솔루션에서 제공하는 공유 파일시스템 형태로 구성
      • OCR/VOTEDISK 구성을 위해 분리된 공유파일 시스템 볼륨을 구성.
        • 서로 다른 최소 3개이상의 공간 필요 (Mount Point)
      • I/O Throughput 및 구성은 VCFS 통해 수행 및 관리 필요.

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)

      • 각 디스크그룹을 구성하는 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 조작 및 관리 상의 문제 회피를 위함.

      • (OPT#1) Oracle ASM Library
        • Oracle에서 제공하는 oracleasmlib 이용하여 Block Device를 관리
        • 구성된 장치의 경우, /dev/oracleasm 위치 상에서 소유자/권한 관리하는 방식
          • 각 블록장치의 헤더/레벨을 인식해서 별도의 블록장치로 구성하는 형태
        • OS/STG 영역과 별개로 DB 관리 차원에서 별도 스토리지 장치를 관리하는 방안
          • 시스템 관리 시 이중 관리 포인트로 작용 (OS/STG/DB Part)

        • (참고사항) ASM Filter Driver - AFD
          • 12cR2 이상버전부터 GI 엔진 내장 기능중 OS 상 접근 보안기능을 추가한
            AFD를 이용하여 H/W 디스크 관리가능하나, 권장하지않음.
          • 해당 기능 사용시 OS 상에서도 해당 디스크장치를 ACCESS하지 못함.

      • (OPT#2) UDEV 통한 Block Device 관리
        • OS/STG 상에서 블록 장치를 관리하는 형태
          • OS 상에서 udev 통한 소유자/권한 관리 방식
          • Grid 유저 소유 / 0660 구성 필수
        • /etc/udev/rules.d 상 프로파일을 이용, 블록 장치 관리
        • DB Engineer 관점 구성 권장사항

    • 디스크그룹의 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 기준의 배수
  • Redundancy 옵션 검토 사항
RedundancyMultiplexMin DiskDefault AU_SIZE
- External데이터 이중화 X1EA 1 Set- 4 MB
- Normal데이터 이중화 O2EA 1 Set- 1 MB
- High데이터 삼중화 O3EA 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 옵션에 따름
DiskGroupRole

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
RedundancyMultiplexMin DiskDisk per Min Size
- External데이터 이중화 X1EA (1/1 요구)- 2GB
( Default 1GB / Provision 1GB )
- Normal데이터 이중화 O3EA (2/3 요구)- 2GB
( Default 1GB / Provision 1GB )
- High데이터 삼중화 O5EA (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 구성 요건

DiskGroupRole

MGMT DG

Oracle GIMR을 위한 별도 DIskgroup 관리
- Oracle RAC의 진단정보 수집(OS/GI/DB) 및 관리용 DB(_MGMTDB)를 위한 영역
- GIMR 구성시, 별도 Diskgroup 미분리 시
+ OCRVOTE용 디스크그룹과 병합되어 구성되므로 GIMR 구성시 DG 분리 필수
RedundancyMultiplexMin DiskDisk per Min Size
- External데이터 이중화 X1EA- 28GB
( 4 개 이상 Node 당 5GB 추가 )
- Normal데이터 이중화 O2EA 이상- 56GB
( 4 개 이상 Node 당 5GB 추가 )
- High데이터 삼중화 O3EA 이상- 84GB
( 4 개 이상 Node 당 5GB 추가 )