Note-Notice

❖|설계 및 정의

➽|시스템 구축 - 설계/정의 DB

ARCHITECTURE : DBMS 검증

원본 링크

➽|DBMS 설계 및 정의 - 계획

DATABASE 구축 시 필수 검토/설계 고려 사항

  • ORACLE Product 설치 대상 서버 - 시스템 타입 검토
    • 구성 DBMS 제품의 타입 검토
      • 신규 또는 기존 시스템의 종속 여부 (벤치마킹 대상의 기존 시스템 존재여부)
      • Single / RAC 시스템 구성 여부
      • DBMS Edition 선택
        • 단 RAC의 경우 Enterprise 만 가능.
      • 기존 시스템의 DR 여부
        • 기존 시스템 Edition 및 구성 타입과 Resource 대응 가능한지 여부

    • 구성 제품의 시스템 타입에 따라 라이센스 별 최소 필요한 CPU CORE(Socket) 검토
      • Standard Edition : MAX 2 Socket
      • Enterprise Edition : 2 Socket 이상, 영업 문의 필수.

  • 구성 시스템 기대치 산정 및 H/W 요건 분석
    • (최소) 시스템 부하량 산정
      • 인프라 시스템 관리 기준 부하 측정 임계치 사전 확인.
        • 임계치 기준 부하량의 절반을 평균 부하의 기준으로 구성 목표로 산정을 권고
      • 기존 참고 및 전환 시스템 (벤치마킹 시스템) 기준 부하량의 2배
      • 신규 시스템의 경우, 로직 처리를 위한 TPS 예상 및 데이터 사이징의 2배
    • 상기 부하량 기준을 처리 가능한 스펙의 H/W 시스템 요건 정리 필요.

    • (필수) 사전 시스템 검토사항
      • 기존 시스템 스펙의 CPU / MEMORY 증설은 최소 30% 이상 증설 검토

        • CPU 증설 및 설계 목표 중
          • 실제 벤치마킹 시스템의 동시 세션 (Active Session) 최대치 확인
            • 해당 세션 수 1개를 Processor의 1 가중치로 계산. 최소 필요 코어 수 계산
            • 벤치마킹 시스템 없을 시, AP/WAS 상에 동시 수행 LOGIC 최대치 확인.
          • H/W CPU Core Clock 증분 검토
            • 기존 시스템보다 빠른 클럭의 H/W로 구성 여부 검토 (최소 > 10-15%)
          • Core (Socket) 갯수 증분 시, 라이센스 영향도 사전 확인

        • Memory 증설 및 설계 목표 중
          • 전체 메모리 최대 사용량 외로 OS 점유 비율 15%를 추가 부하로 계산
          • 최소 벤치마킹 시스템의 SGA 사이즈의 50% , PGA 사이즈의 30% 증설 고려

  • 구성 시스템 사용량 및 기능 기준 라이센스 정보 검토 필수.
    • (권장) 벤치마킹 시스템의 사용 기능 정보 확인
      • Oracle Product의 Edition 및 사용 기능 검토 수행
      • 신규 구축 시스템에도 동일 기능 사용을 권장
        • 불필요한 기능은 사전 기능 제거 가능 여부 확인

    • (권장) 데이터 오브젝트 및 수행 로직에 따른 검토 사항
      • 기존 병렬 Parallel, 파티션 Partition 기능 사용 시 검토사항

      • DBMS 내에서 병렬작업을 통한 로직 처리 부분 확인
        • 병렬 처리 로직 필수 여부 검토

      • DB PARTITION 기능 관련 검토 사항
        • DB 내 데이터 객체(TABLE/INDEX) 중 30Gb 이상 객체 존재 시 검토 사항
          • 해당 객체가 자주 사용이 되는지 여부 (데이터조작 및 조회)
          • 각 객체가 컬럼의 수가 많고, OLTP 로직에 사용되는지 여부
          • 위 사항에 해당하는 객체가 전체 DB의 10-15% 이상 점유할 시
        • 기존 벤치마킹 시스템이 파티션 기능을 사용하는지 여부
        • 위 상기 사항중 2개 이상 해당 시 파티션 기능 적용 검토
          • 단, 파티션 기능 사용 시 Enterprise Edition 기능 필수.

원본 링크

❖|검증 : HARDWARE

➽|Hardware 구성 검증

ORACLE 구성을 위한 서버 스펙 검토 사항

↘ CPU & MEMORY 고려사항

  • CPU Socket / Processor 확인

    • 구성 시스템 대상의 Socket (CORE) 정보 확인
      • 벤치마킹 시스템 존재 시
        • 최소 CORE 갯수는 동일 또는 중분 / CPU Power(클럭) 증분 권장
      • OS Server 구성 상 CPU Clock 변경 없이 고정되도록 구성 권장 (OS 영역)
        • NUMA Off / 가변 CPU 클럭 변경 기능 등 제거
      • 최소 2 Socket (CPU갯수) 이상 구성 여부 확인
        • 단 SE의 경우 2개 이상 구성하여도, 최대 2개만 사용가능. (참고)

  • 최소 하드웨어 메모리 구성 권장 사항

    • (최소) Memory 구성
      • 최소 1Gb , 권장 2Gb 이상의 메모리 구성 권고
      • GRID 구성 시스템의 경우, 권장 8Gb 이상 메모리 구성 권고
      • 최소 Memory 요건은 설치 구축 요건이므로, 시스템에서 필요한 메모리 산정 필수

    • (기존 및 참고 시스템 존재 시)
      • 최소 요건을 충족을 위한 최소 요건 이상의 SPEC 준비
      • 기존 DBMS에서 사용 중인 메모리 및 설정 값 보다 최소 30% 이상 증분하여 구성
        • 최소 요건이며, 실제 시스템 사용량 및 DBMS의 메모리 점유율 및 효율을
          검토하여 시스템 사이징을 증분하여 구성할 것을 권고

원본 링크

➽|LINUX: Hardware 검증 방안

  • CPU / Processor / Memory 확인

    # Env Root - Linux 기준
    lscpu
    cat /proc/cpuinfo | 
    # Env Root - Linux 기준
    free -k
    cat /proc/meminfo | grep "MemTotal"
    cat /proc/meminfo | grep "Huge"
원본 링크

➽|DBM: Network 구성 검증

DBMS 구성, 필요한 최소 네트워크 환경 수준 + HAS

  • 최소 네트워크 구성 요건
    • 최소 1개 이상의 Network가 구성되어야함 (LO 미포함, 포함시 최소 2개 이상)
      • (권장) Local Network (lo Device)로 구성 X
    • 최소 구성 요건은 SERVER 이름 (HOST_NAME)을 통한 네트워킹 조건.
      • 최소 HOSTS 구성 또는 DNS 구성이 되어야함.
      • 최초 구성 시 DNS 이용 필요하더라도 DOMAIN NAME 방식은 권장하지 않음.
        • 구성 완료 후 DOMAIN 방식 SERVICE 추가 하여 사용
      # Env Root
      # 사전 /etc/hosts 작성
      cat /etc/hosts
      ping ${HOSTNAME}  # 통신여부 확인
원본 링크

➽|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}
원본 링크

❖|검증 : SOFTWARE

➽|LINUX: OS 최소 구성 - 기본 검증

ORACLE 설치 구성 OS 설정 #1 - LINUX

↘ OS KERNEL 및 PLATFORM 구성

  • DBMS 서버 Kernel 정보 확인 방안

    hostnamectl
    cat /etc/os-release
    cat /etc/redhat-release
    cat /etc/oracle-release
    lsb_release -id
  • DBMS 구성 가능한 최소 OS Kernel 정보 검토

    • 아래 기본 정보 기준 Oracle MOS 상 Certification 정보 사전 검토 필수
    • 각 OS Platform 별로 DBMS 구성 가능한 최소 Kernel 버전 존재
    • 해당 Kernel 버전보다 큰 OS Platform 구성 필수

↘ OS RUNLEVEL 및 DISPLAY 구성

  • OS Boot Level 지정 중, 아래 두개 옵션 구성 필수

    • Multi User : 3
    • Multi User + GUI : 5
    • 즉 Linux Platform 에서 유지보수 모드가 아닌 유저 접속 가능 필요.
      # Env Root
      runlevel
      who -r
      systemctl get-default
  • OUI 구성을 위한 Display 환경 구성 필수

    • Local / Remote Virtual Display 환경 구성 필수
      • 구성 간 최소 1024 X 768 해상도 지원 필요
      • OUI를 통한 구성 필수 사항 , 구성 X 시 Silent 구성
    • ORACLE 설치 간 OUI 통한 구성을 권장.

↘ OS BOOT(GRUB/EFI) 구성

  • Linux for Oracle 관련 구성 기능 검토 사항
    • NUMA 관련 기능
      • Linux NUMA는 다중 CPU 환경에서 메모리 효율을 위해 메모리를 분할하여 사용하는 방식
      • Oracle Database의 경우 공유메모리 환경구성 상 NUMA 기능이 성능 효율을 떨어뜨림.
      • numa=Off 권장

    • THP , Transparents Huge Pages - Disabled 권장
      • Linux 메모리 관리 기능 중 HugePage 기능을 사용하여 성능 개선을 위하여
        Standard HugePages만 사용 권고.
      • Linux 6 이상 버전부터 구성 가능. (+SUSE11)
      # Env Root
      cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
      cat /sys/kernel/mm/transparent_hugepage/enabled
        # Default : [always] madvise never
        # 해당 기능 Server Boot 부터 [never] 옵션 필요
       
      # 구성 방안
      # /etc/default/grub 파일 백업 후 값 수정
      cp /etc/default/grub /etc/default/grub_org
        
      vi /etc/default/grub
        # ==> GRUB_CMDLINE_LINUX 값 quiet 값 뒤에 아래 라인 추가
        # numa=off transparent_hugepage=never
        
      grub2-mkconfig -o /boot/grub2/grub.cfg
        # 이후 서버 Reboot 후 값 변경 확인

↘ OS KERNEL 구성 검증

OS/DBMS 버전별 최소 요구 OS/KERNEL 검증 필요


원본 링크