제2장 설치 전 준비사항

내용 목차

2.1. 개요
2.2. 디스크 용량 확인
2.3. JDK 설치
2.4. 운영체제별 패키지 설치
2.5. 운영체제별 파라미터 설정
2.5.1. Linux
2.5.2. Solaris
2.5.3. HP-UX
2.5.4. AIX
2.6. NTP 서버 설정
2.7. 기타 확인사항

본 장에서는 Tibero를 설치하기에 앞서 필요한 하드디스크의 용량 확인 및 JDK 설치, 운영체제별 커널 파라미터(Kernel parameters)의 설정을 설명한다.

2.1. 개요

Tibero를 설치하기 전에 확인하고 설정해야 할 준비사항은 다음과 같다.

  • 디스크 용량 확인

  • JDK 설치

  • 운영체제별 패키지 설치

  • 운영체제별 커널 파라미터와 Shell Limits 파라미터 설정

  • NTP 서버 설정

  • 호스트명과 포트 번호, 시스템 계정, localhost 확인

2.2. 디스크 용량 확인

Tibero를 설치하기 위해서는 각 플랫폼별로 약간의 차이가 있지만 최소 2GB 이상의 하드디스크 여유공간이 필요하다. 이는 Tibero를 설치하고 나서 데이터베이스를 생성할 때 최소로 필요한 하드디스크 공간을 의미하기도 한다.

참고

하드웨어 요구사항에 대한 자세한 내용은 “1.3. 시스템 요구 사항”을 참고한다.

하드디스크 용량을 확인하는 방법은 여러 가지가 있다. UNIX 계열 시스템에서는 df 명령어로 확인할 수 있고, Windows 계열 시스템에서는 설치할 하드디스크의 속성 항목을 통해 확인이 가능하다.

2.3. JDK 설치

Tibero를 설치하기 전에 JDK 1.5.17 이상이 반드시 설치되어 있어야 한다.

다음의 위치에서 JDK를 다운로드할 수 있다.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

만약 시스템이 Oracle사의 JDK를 사용하지 않는다면 각각의 시스템에 적합한 JDK를 찾아 설치한다. 예를 들어 HP-UX는 HP, AIX는 IBM에서 JDK를 다운로드받아 설치한다.

각 시스템별 JDK 설치 방법은 다음 위치에서 확인할 수 있다.

http://www.oracle.com/technetwork/java/index.html

참고

벤더별 JDK 설치 방법은 각 벤더에서 제공하는 설치 안내서를 참고한다.

2.4. 운영체제별 패키지 설치

본 절에서는 운영체제별로 요구하는 패키지에 대해 설명한다.

각 패키지들은 반드시 해당 버전 이상의 패키지가 설치되어 있어야 하며, 각 OS 및 버전별로 패키지명이나 버전이 상이할 수 있다.

PlatformPackages

Linux

gcc-3.4.6-11

gcc-c++-3.4.6-11

libgcc-3.4.6-11

libstdc++-3.4.6-11

libstdc++-devel-3.4.6-11

compat-libstdc++-33-3.2.3-47.3

libaio-0.3.105-2

libaio-devel-0.3.105-2

WindowsWSH 5.6

2.5. 운영체제별 파라미터 설정

본 절에서는 운영체제별로 설정해야 할 커널 파라미터와 Shell Limits 파라미터를 설명한다. 운영체제별로 커널 파라미터의 값을 변경한 경우에는 반드시 시스템을 다시 기동시켜야 한다.

2.5.1. Linux

Linux 환경에서 설정할 커널 파라미터와 Shell Limits 파라미터는 다음과 같다.

  • 커널 파라미터

    커널 파라미터파일

    semmsl

    semmns

    semopm

    semmni

    10000

    32000

    10000

    10000

    /proc/sys/kernel/sem
    shmall2097152/proc/sys/kernel/shmall
    shmmax물리적인 메모리의 절반 (byte)/proc/sys/kernel/shmmax
    shmmni4096/proc/sys/kernel/shmmni
    file-max6815744/proc/sys/fs/file-max
    ip_local_port_range1024 ~ 65000/proc/sys/net/ipv4/ip_local_port_range
  • Shell Limits 파라미터

    파라미터Soft LimitHard Limit
    nofile102465536
    nproc204716384

[참고]

RHEL 7.2 이상 버전 부터는 아래 커널 파라미터 설정이 필요하다.

  • 설정 파일

    /etc/systemd/logind.conf
  • 설정 값

    커널 파라미터
    RemoveIPCNo

2.5.2. Solaris

Solaris 환경에서 설정할 커널 파라미터와 Shell Limits 파라미터는 다음과 같다.

  • 커널 파라미터

    Solaris의 커널 파라미터는 /etc/system 파일에서 설정할 수 있다.

    • Solaris 9

      커널 파라미터
      semsys:seminfo_semmni1024
      semsys:seminfo_semmns1024
      semsys:seminfo_semmsl10000
      semsys:seminfo_semvmx32767
      shmsys:shminfo_shmmax4294967295 (물리적인 메모리의 절반)
      shmsys:shminfo_shmmin1
      shmsys:shminfo_shmmni100
      shmsys:shminfo_shmseg10
    • Solaris 10

      커널 파라미터
      project.max-sem-ids

      _SEM_ARR 파라미터 값에 따라 아래와 같이 설정한다.

      • Y : 해당 서버가 사용하는 기본 세마포어 갯수 + MAX_SESSION_COUNT + 500

      • N : 시스템 기본 값 이상

      process.max-sem-nsems10000
      project.max-shm-memory4294967295 (물리적인 메모리의 절반)
      project.max-shm-ids100

  • Shell Limits 파라미터

    파라미터Soft LimitHard Limit
    nofile102465536
    nproc204716384

[참고]

Solaris 10부터는 project를 이용하여 각 사용자 단위로 파라미터를 관리하는 것을 권장한다.

다음은 사용자 단위로 파라미터를 적용하는 예제이다.

  1. project를 생성한다.

    # projadd -c "tibero" 'user.tibero'
  2. 파라미터를 설정한다.

    # projmod -sK "project.max-shm-memory=(privileged,4294967295,deny)" user.tibero
  3. 해당 유저로 재접속한다.

    아래와 같은 방법으로 변경된 파라미터 내역에 대해 확인이 가능하다.

    # prctl -n project.max-shm-memory -i project user.tibero
    project: 100: user.tibero
    NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
    project.max-shm-memory
            privileged      4.00GB      -   deny                                 -
            system          16.0EB    max   deny                                 -

2.5.3. HP-UX

HP-UX의 커널 파라미터는 다음과 같다.

커널 파라미터
nproc4096
semmap(semmni+2)
semmni4096
semmns(semmni*2)
semmnu(nproc-4)
semvmx32767
shmmax물리적 메모리 크기(0X40000000)나 1073741824 중에 더 큰 값
shmmni512
shmseg120
maxfiles2048
maxfiles_limit65536

커널 파라미터의 값이 변경된 경우에는 SAM(System Administration Manager) 프로그램 등을 사용하여 다음의 순서로 커널 파라미터에 설정된 값을 확인할 수 있다.

  1. SAM 프로그램을 시작한다.

    # /usr/sbin/sam
  2. 해당 커널의 구성 영역과 구성이 가능한 파라미터 영역을 선택한다.

  3. 명시된 각 커널 파라미터의 값이나 식 등을 확인하고 필요에 따라 수정한다.

  4. SAM 프로그램을 종료한다.

HP-UX 환경에서 네트워크 인터페이스 파라미터 설정은 아래와 같이 확인 및 변경 가능하다.

# 현재 설정된 값 확인.
# ndd -get /dev/tcp tcp_xmit_hiwater_max
1048586
# ndd -get /dev/tcp tcp_recv_hiwater_max
4194304

# Network parameter TCP send/receive  buffer size 설정.
# ndd -set /dev/tcp tcp_xmit_hiwater_max 1048586
# ndd -set /dev/tcp tcp_recv_hiwater_max 4194304

2.5.4. AIX

AIX 환경에서 설정할 커널 파라미터와 Shell Limits 파라미터는 다음과 같다.

  • 커널 파라미터

    AIX 환경에서 변경이 필요한 유일한 커널 파라미터는 maxuproc이며, 해당 파라미터는 smitty 또는 chdev 명령어를 통해 아래와 같이 변경한다.

    AIX 커널은 필요에 따라 자원을 사전 정의된 한계까지 동적으로 할당 및 재할당하기 때문에 그 외 별도의 커널 파라미터 설정은 필요하지 않다.

    # 현재 설정된 값 확인
    # lsattr -E -l sys0 -a maxuproc
    maxuproc 1024 Maximum number of PROCESSES allowed per user True
    
    # maxuproc 값 변경
    # chdev -l sys0 -a maxuproc=16384
    

    maxuproc는 Tibero를 부팅할 때 기동하는 프로세스 개수와 연관된다. 따라서 DB 설치 유저에서 기동할 프로세스 개수 보다 큰 값으로 설정해야 한다(권장 설정: 16384).

    운영환경에 따라 적절한 값을 계산할 때는 아래 내용을 참고한다.

    사용자 설정 : 워커 프로세스 개수 + 백그라운드 프로세스 개수 + 여유분(100)
  • Shell Limits 파라미터

    파라미터권장 값
    Soft FILE size-1 (Unlimited)
    Soft CPU time-1 (Unlimited)
    Soft DATA segment-1 (Unlimited)
    Soft STACK size-1 (Unlimited)
    Soft Real Memory size-1 (Unlimited)

2.6. NTP 서버 설정

데이타베이스 운영 중에 xntpd 데몬에 의해 시스템 시간이 거꾸로 가게 되어 데이타가 잘못 출력되는 현상을 방지하기 위하여 시스템 시간을 동기화를 한 후에 "-x" 옵션을 주어 데몬을 재시작한다.

# stopsrc -s xntpd
# startsrc -s xntpd -a "-x"

만약, 시스템 재시작할 때에도 해당 옵션을 적용하고자 한다면 "/etc/rc.tcpip"에서 아래의 내용의 주석을 해제한다.

start /usr/sbin/xntpd "$src_running" "-x"

2.7. 기타 확인사항

Tibero의 설치를 시작하기 전에 호스트명과 포트 번호, 시스템 계정, localhost를 확인한다.

  • 호스트명

    라이선스를 요청할 때 필요한 호스트명을 확인한다. /etc/hosts 파일을 확인하거나 콘솔 화면에서 다음의 명령어를 입력하여 확인한다.

    uname –n
  • 포트 번호

    Tibero가 기동할 때 부여될 포트 번호를 확인한다. (기본값: 8629)

  • 시스템 계정

    Tibero를 설치하고 운영할 시스템 계정을 확인한다.

  • localhost

    locahost가 제대로 설정되어 있는지 ping 명령을 통해 확인한다. 만약 제대로 설정되어 있지 않다면 /etc/hosts 파일을 수정한다.

    ping localhost