Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Tibero를 설치하기에 앞서 필요한 하드디스크의 용량 확인 및 JDK 설치, 운영체제별 커널 파라미터(Kernel parameters)의 설정을 설명합니다.
Tibero를 설치하기 전에 확인하고 설정해야 할 준비 사항은 다음과 같습니다.
디스크 용량 확인
JDK 설치
운영체제별 패키지 설치
운영체제별 파라미터 설정
NTP 서버 설정
호스트명과 포트 번호, 시스템 계정, localhost 확인
Tibero를 설치하기 위해서는 각 플랫폼별로 약간의 차이가 있지만 최소 2GB 이상의 하드 디스크 여유 공간이 필요합니다. 이는 Tibero를 설치하고 나서 데이터베이스를 생성할 때 최소로 필요한 하드 디스크 공간을 의미하기도 합니다.
하드 디스크 용량을 확인하는 방법은 여러 가지가 있습니다. UNIX 계열 시스템에서는 df 명령어로 확인할 수 있고, Windows 계열 시스템에서는 설치할 하드 디스크의 속성 항목을 통해 확인이 가능합니다.
Tibero를 설치하기 전에 JDK 1.8 이상(최대 JDK 22)이 반드시 설치되어 있어야 합니다.
OpenJDK를 사용하는 것을 권장하며, 다음 위치에서 다운로드할 수 있습니다.
OpenJDK 1.8:
OpenJDK 9 이상:
시스템이 위 OpenJDK를 사용하지 않는다면 각 시스템에 적합한 JDK를 설치합니다.
각 시스템별 JDK 다운로드 위치는 다음과 같습니다.
본 절에서는 운영체제별로 요구하는 패키지에 대해 설명합니다.
각 패키지는 반드시 해당 버전 이상의 패키지가 설치되어 있어야 하며, 각 운영체제 및 버전별로 패키지명이나 버전이 다를 수 있습니다.
Ubuntu 22.04 버전에서는 아래 패키지가 설치되어 있어야 합니다.
Ubuntu 24.04 버전에서는 아래 패키지가 설치되어 있어야 합니다.
SUSE 15.6 이상 버전부터는 아래 패키지가 설치되어 있어야 합니다.
본 절에서는 운영체제별로 설정해야 할 커널 파라미터와 Shell Limits 파라미터를 설명합니다. 운영체제별로 커널 파라미터의 값을 변경한 경우에는 반드시 시스템을 다시 기동시켜야 합니다.
Linux 환경에서 설정할 커널 파라미터와 Shell Limits 파라미터는 다음과 같습니다.
커널 파라미터
설정 파일
설정값
Shell Limits 파라미터
설정 파일
설정값
Linux 환경에서는 세션 종료 시 공유 메모리가 해제되어 DB가 중단되는 것을 방지하기 위해 systemd 서비스 파라미터 RemoveIPC가 no로 설정되어 있는지 확인합니다.
설정 파일
설정값
Solaris 환경에서 설정할 커널 파라미터와 Shell Limits 파라미터는 다음과 같습니다.
설정 파일
설정값
설정 파일
설정값
Solaris 10부터는 프로젝트를 이용하여 각 사용자 단위로 파라미터를 관리하는 것을 권장합니다. 다음은 사용자 단위로 파라미터를 적용하는 예제입니다.
프로젝트를 생성합니다.
파라미터를 설정합니다.
해당 사용자로 다시 접속합니다.
아래와 같은 방법으로 변경된 파라미터 내역에 대해 확인이 가능합니다.
AIX 환경에서 설정할 커널 파라미터와 Shell Limits 파라미터는 다음과 같습니다.
커널 파라미터
AIX 환경에서 변경이 필요한 유일한 커널 파라미터는 maxuproc입니다. 해당 파라미터는 smitty 또는 chdev 명령어를 통해 아래와 같이 변경합니다. AIX 커널은 필요에 따라 자원을 사전 정의된 한계까지 동적으로 할당 및 재할당하기 때문에 그 외 별도의 커널 파라미터 설정은 필요하지 않습니다.
설정 파일
설정값
데이터베이스 운영 중에 xntpd 데몬에 의해 시스템 시간이 거꾸로 가게 되어 데이터가 잘못 출력되는 현상을 방지하기 위하여 시스템 시간을 동기화한 후에 "-x" 옵션을 주어 데몬을 재시작합니다.
시스템을 재시작할 때에도 해당 옵션을 적용하고자 한다면 "/etc/rc.tcpip"에서 아래의 내용에 대한 주석을 해제합니다.
RHEL 8부터 xntpd 대신 chronyd가 기본 시간 동기화 데몬으로 사용됩니다.
chronyd는 systemd 서비스로 관리되므로, 시스템 재시작 시 자동으로 실행됩니다. 추가적인 옵션이 필요하다면 /etc/chrony.conf 파일을 수정하여 서버 주소, 동기화 정책 등을 설정합니다.
Tibero의 설치를 시작하기 전에 호스트명과 포트 번호, 시스템 계정, localhost를 확인합니다.
호스트명
라이선스를 요청할 때 필요한 호스트명을 확인합니다. /etc/hosts 파일을 확인하거나 콘솔 화면에서 다음 명령어를 입력하여 확인합니다.
포트 번호
Tibero가 기동할 때 부여될 포트 번호를 확인합니다. (기본값: 8629)
시스템 계정
Tibero를 설치하고 운영할 시스템 계정을 확인합니다.
localhost
localhost가 제대로 설정되어 있는지 ping 명령을 통해 확인합니다. 만약 제대로 설정되어 있지 않다면 /etc/hosts 파일을 수정합니다.
Windows
Solaris
AIX
AIX
procstack
kernel.shmmni
4096
fs.nr_open
nofile 파라미터 이상으로 설정
fs.file-max
(nofile 파라미터) x (WTHR_PROC_CNT + PEP_PROC_CNT) 또는 67108864으로 설정
fs.aio-max-nr
1048576
net.ipv4.ip_local_port_range
1024 65000
net.core.rmem_default
262144, OS 기존 설정값 중 최댓값
net.core.wmem_default
262144, OS 기존 설정값 중 최댓값
net.core.rmem_max
67108864, OS 기존 설정값, TCP_RCVBUF_SIZE, _INC_TCP_RCVBUF_SIZE 중 최댓값
net.core.wmem_max
67108864, OS 기존 설정값, TCP_RCVBUF_SIZE, _INC_TCP_RCVBUF_SIZE 중 최댓값
project.max-shm-memory
4294967295 (물리적인 메모리의 절반)
project.max-shm-ids
100
project.max-lwps
MAX_SESSION_COUNT+10000 이상
Soft STACK size
-1 (Unlimited)
Soft Real Memory size
-1 (Unlimited)
Linux (RHEL/Oracle Linux/Rocky/ProLinux/CentOS)
Linux (Ubuntu)
Linux (SUSE)
Linux
gcc gcc-c++ libgcc libstdc++ libstdc++-devel libaio libaio-devel gdb glibc
Windows
WSH 5.6
Solaris
Linux
ncurses-compat-libs
Linux
libaio1 libaio-dev libncurses5 libtinfo5 pstack
Linux
libaio1t64 libaio-dev libncurses6 libtinfo6 pstack
Linux
libgcc_s1 libstdc++6 glibc libaio1 gdb
/etc/sysctl.confkernel.sem
최소 설정값
SEMMSL : 2 / 권장값 : (Tibero 전체 Thread 수) x 2
SEMMNS : (Tibero 전체 Thread 수) x 2
SEMOPM : 2(=SEMMSL)
SEMMNI : (Tibero 전체 Thread 수)
최댓값을 높게 설정해도 큰 문제가 없기에 여유롭게 설정하는 것을 권장
kernel.shmall
ceil(shmmax/PAGE_SIZE)
kernel.shmmax
/etc/security/limits.confnofile
(WTHR_PER_PROC * ((total data files in db) + 15)) + (tbsvr process count + 5) + 100 또는 크게 3,000,000 으로 설정
nproc
MAX_SESSION_COUNT+10000 이상으로 설정
Soft Limit : 65536
Hard Limit : 65536
/etc/systemd/logind.confRemoveIPC
No
/etc/systemproject.max-sem-ids
(Tibero 전체 Thread 수) x 2
process.max-sem-nsems
10000
process.max-sem-ops
/etc/systemnofile
(WTHR_PER_PROC * ((total data files in db) + 15)) + (tbsvr process count + 5) + 100 또는 크게 3,000,000 으로 설정
nproc
– Soft Limit : 65536 – Hard Limit : 65536
# projadd -c "tibero" 'user.tibero'# projmod -sK "project.max-shm-memory=(privileged,4294967295,deny)" user.tibero# 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 -# 현재 설정된 값 확인
# 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)
/etc/security/limitsSoft FILE size
-1 (Unlimited)
Soft CPU time
-1 (Unlimited)
Soft DATA segment
# stopsrc -s xntpd
# startsrc -s xntpd -a "-x"start /usr/sbin/xntpd "$src_running" "-x"# systemctl enable chronyd
# systemctl start chronyduname -nping localhostnofile <= fs.nr_open <= fs.file-maxlibCrun.so.1 (SUNW_1.6)
pstack
TOTAL_SHM_SIZE 이상 (byte)
200
-1 (Unlimited)
설치된 Tibero를 제거하는 방법에 대해서 설명합니다.
설치된 Tibero를 제거하는 방법은 다음과 같습니다.
수동 제거
본 절에서는 Windows 환경과 UNIX 환경에서 수동으로 Tibero를 제거하는 순서를 설명합니다.
다음은 Windows 환경에서 수동으로 Tibero를 제거하는 과정에 대한 설명입니다. Windows 환경에서 제거하는 과정은 반드시 관리자 권한으로 진행되어야 합니다.
Tibero를 종료합니다.
tbdown%TB_HOME%\bin 디렉터리에서 다음의 명령어를 입력합니다.
이 명령이 실행되면 Windows 서비스에 등록된 Tibero가 제거됩니다.
Tibero가 설치된 디렉터리를 포함한 모든 하위 디렉터리를 해당 운영체제의 명령어로 삭제합니다.
다음은 UNIX 환경에서 수동으로 Tibero를 제거하는 순서에 대한 설명입니다.
Tibero를 종료합니다.
Tibero가 설치된 디렉터리를 포함한 모든 하위 디렉터리를 해당 운영체제의 명령어로 삭제합니다.
tbuninstall %TB_SID%C:\Tibero\tibero7\bin>tbuninstall %TB_SID%
Microsoft (R) Windows Script Host 버전 5.812 Copyright (C) Microsoft Corporation. All rights reserved.
TB_HOME = C:\Tibero\tibero7
TB_SID = tibero
service name = Tibero_tibero
Tibero_tibero uninstalled successfully.rmdir %TB_HOME%tbdownrm -rf $TB_HOMETibero DB 설치 및 제거 방법을 모든 데이터베이스 사용자를 대상으로 안내합니다.
안내서 정보
안내서 제목 : Tibero 설치 안내서 발행일 : 2026-07-31 소프트웨어 버전 : Tibero 7.2.6 안내서 버전 : v1.0.0
본 안내서는 Tibero®(이하 Tibero)를 설치 및 제거하고자 하는 모든 데이터베이스 사용자를 대상으로 기술합니다.
본 문서는 총 6개의 본문과 10개의 참고자료로 구성됩니다.
Tibero 설치 또는 운용 시, 필요한 Undo 테이블 스페이스 용량을 계산하고 조정하는 방법에 대해 설명합니다.
데이터 갱신이 많은 시스템에서는 Undo 테이블스페이스에서 I/O가 많이 발생하므로, Undo 테이블스페이스를 여러 데이터 파일로 구성해 I/O를 분산시킬 수 있습니다.
Undo 자동 관리는 다음과 같은 장점이 있습니다.
설계 및 관리 용이(rollback segment)
Undo 데이터의 overwrite 방지
영역 확장 용이
플래시백 쿼리 이용 가능
다음은 Undo 테이블스페이스 크기를 산정할 때 고려할 사항입니다.
데이터 파일 용량, UNDO_RETENTION, Undo Segment 개수
각 Undo Segment 공간은 자동으로 관리되므로, 사용자는 전체 Undo Segment의 최소/최대 개수와 데이터 파일 용량만 고려하면 됩니다.
– 최소 Undo Segment 개수(USGMT_ONLINE_MIN)의 기본값은 11입니다. 단, Undo Segment 개수보다 동시 수행 트랜잭션 개수가 많아 부하가 발생하는 경우, 추가 Undo Segment를 생성하는 오버헤드가 발생합니다. 이와 같은 경우, 예상되는 동시 수행 트랜잭션 개수만큼 USGMT_ONLINE_MIN을 설정하여, 미리 Undo Segment를 생성해 놓으면 오버헤드를 줄일 수 있습니다.
다음은 인스턴스별 Undo Segment 개수를 확인하는 방법입니다.
USGMT_ONLINE_MIN이 이미 생성된 Undo Segment 개수보다 크게 설정됐다면, (USGMT_ONLINE_MIN - 이미 생성된 Undo Segment 개수)만큼 부팅 과정에서 추가 생성합니다. TAC의 경우, 해당 파라미터를 각 인스턴스별로 적용할 수 있으며, 적용 후 부팅 시 각 인스턴스별 Undo Segment 개수가 다른 것을 확인할 수 있습니다.
– 최대 Undo Segment 개수(USGMT_ONLINE_MAX)는 각 인스턴스별로 생성할 수 있는 Undo Segment의 상한을 의미합니다.
Tibero는 하나의 Undo Segment를 여러 트랜잭션이 공유하여 사용하지 않도록, 동시 수행 트랜잭션 개수가 많을 때, 가능한 추가 Undo Segment를 생성합니다.
USGMT_ONLINE_MIN, USGMT_ONLINE_MAX 파라미터는 각 인스턴스별로 따로 적용되기 때문에 적합한 값을 설정하는 것을 권장합니다.
아래 기준에 해당하는 Undo 테이블스페이스 크기를 계산할 수 있습니다.
Undo 테이블스페이스를 생성하는 데 필요한 최소 크기
예상 동시 수행 트랜잭션 수를 기준으로 한 예상 크기
TPR 정보를 이용한 실제 사용 크기
DB를 처음 설치할 때는 최소 크기와 예상 크기 중 큰 값을 기준으로 Undo 테이블스페이스 크기를 산정합니다.
이후 TPR에서 트랜잭션 최대 부하가 발생한 시점의 '초당 Undo 블록 소모량'을 기준으로, 예상 크기와 실제 사용 크기가 일치하는지 검증할 수 있습니다.
[그림 1] Tibero TPR Report
다음은 계산 공식에서 사용되는 항목과 설명입니다.
다음은 위 항목을 기준으로 Undo 테이블스페이스 용량을 계산하는 공식입니다.
Undo Segment 1개 생성 시 필요한 용량 = DB_BLOCK_SIZE(블록 크기, 기본 8KB) * _USGMT_UNIFORM_EXTSIZE(기본 512) * 2 = 8MB
최소 크기 = USGMT_ONLINE_MIN * Undo Segment 1개 생성 시 필요한 용량
예상 크기 = MAX_SESSION_COUNT * Undo Segment 1개 생성 시 필요한 용량 + 여유값
실제 사용 크기 = 초당 Undo 블록 소모량 * UNDO_RETENTION * DB_BLOCK_SIZE
각 운영체제별 HugePage 설정 방법에 대하여 설명합니다.
본 절에서는 Linux 환경에서 HugePage를 설정하기 위한 방법에 대하여 설명합니다. HugePage로 설정된 공간은 공유 메모리 용도로 사용되며, 이때 특징은 다음과 같습니다.
메모리 주소 변환에 사용되는 TLB(Translation Lookaside Buffer) hit 비율 상승으로 메모리 접근 성능이 향상될 수 있습니다.
Page 관리를 위한 구조인 Page Table Size가 줄어듭니다. 공유 메모리는 DB process 전체가 접근하는 공간으로서 같은 메모리에 대한 Page Table이 process마다 생성되는데, HugePage를 사용함으로써 메모리 사용량을 크게 줄일 수 있습니다. session 수가 증가(process 수가 증가)할수록 메모리 절약 효과는 증대됩니다.
확보된 HugePage 공간은 DB 인스턴스 부팅 시점에 공유 메모리로 할당되므로 사용/해제를 위해 DB 인스턴스 재기동이 필요합니다. 이때 할당된 메모리는 공유 메모리를 위한 공간으로 고정되어 시스템 내에서 다른 용도(kernel 메모리, process 메모리 등)로 사용되지 않습니다.
USGMT_UNIFORM_EXTSIZE * 2
Undo Segment 1개 생성 시 필요한 용량 각 Undo Segment는 최소 2개의 Undo extent가 필요
초당 Undo 블록 소모량
DB 운영 중 TPR 리포트의 Undo Statistics 섹션에서 최대 부하 구간의 Undo blocks / 트랜잭션 수행 시간(초)으로 계산
UNDO_RETENTION
Undo extent를 재사용하거나 반환하지 않도록 유지시켜 주는 시간, 기본 900초
여유값
필요한 경우 여유값을 충분히 두는 것이 좋음
USGMT_ONLINE_MIN
인스턴스당 Undo Segment 최소 개수
USGMT_ONLINE_MAX
인스턴스당 Undo Segment 최대 개수(상한)
MAX_SESSION_COUNT

최대 트랜잭션 개수
SELECT COUNT(*) FROM dba_rollback_segs
WHERE tablespace_name = (SELECT value FROM _vt_parameter WHERE name = 'UNDO_TABLESPACE')HugePage로 설정된 Page는 자동으로 locked 상태가 되며, 공유 메모리 영역이 디스크로 swap out되지 않도록 보장합니다.
HugePage를 활성화하기 위한 설정 방법은 아래와 같습니다.
현재 운영체제에서 지원하는 HugePage의 크기를 아래와 같이 확인합니다.
Tibero를 운영하는 유저 그룹의 아이디를 다음과 같이 확인합니다.
HugePage를 할당할 그룹과 개수를 "/etc/sysctl.conf"에 적용합니다.
vm.nr_hugepages
HugePage 개수
TOTAL_SHM_SIZE를 HugePage 크기로 나눈 뒤 올림한 값
vm.hugetlb_shm_group
HugePage를 할당할 그룹 아이디
아래는 TOTAL_SHM_SIZE의 설정값이 1024MB이고, 현재 운영체제에서 지원하는 HugePage 크기가 2MB(2048 KB)인 경우에 커널 파라미터를 적용한 예제입니다.
Max locked memory 제한값을 "/etc/security/limits.conf"에 적용합니다.
memlock
HugePage 크기 * HugePage 개수
아래는 앞에서 구한 값으로 memlock 값을 설정한 예제입니다.
운영체제를 재시작합니다.
아래와 같이 변경된 HugePage 개수를 확인할 수 있습니다.
환경설정 파일(.tip)에 다음과 같은 Tibero 초기화 파라미터를 설정합니다.
TOTAL_SHM_SIZE
HugePage 크기 * HugePage 개수
USE_HUGE_PAGE
Y
아래는 앞에서 구한 값으로 초기화 파라미터를 설정한 예제입니다.
Tibero 서버를 재기동합니다.
HugePage 활성화를 위해 수행한 과정과 동일한 순서로 수정하였던 값을 되돌리는 과정을 진행합니다.
Linux 환경의 경우, OS상의 메모리 사용 패턴에 따라 자동으로 메모리 페이지 단위를 높여주는 THP라는 기능을 지원하고 있습니다.
그러나 해당 기능을 활성화하는 경우, 공유 메모리뿐만 아니라 프로세스 메모리까지 HugePage로 동작하게 되면서 성능이 일관되지 않을 수 있습니다. (성능 저하를 야기할 수 있음)
때문에 해당 커널 파라미터를 never로 설정하는 것을 강력하게 권장합니다.
x86_64 아키텍처에서 Linux는 4단계 계층적 페이지 테이블 구조(PGD→PUD→PMD→PTE)를 사용하며 페이지 크기가 커질수록(4KB→2MB→1GB) 테이블 계층이 한 단계씩 줄어들고 전체 page table 크기가 작아집니다.
4KB page: 4단계 사용 (PGD→PUD→PMD→PTE)
2MB page: 3단계 사용 (PGD→PUD→PMD)
1GB page: 2단계 사용 (PGD→PUD)
다음은 TOTAL_SHM_SIZE의 설정값이 50GB인 경우 증가할 수 있는 page table의 최대 크기를 계산한 예제입니다.
전체 shared memory 크기 / 페이지 크기 = 필요한 페이지 개수
각 엔트리 크기 = 8 bytes (x86_64 기준)
마지막 레벨 테이블 크기 = 페이지 개수 × 8 bytes
전체 page table size = 모든 레벨의 테이블 크기 합
[표 1] 페이지 크기별 page table size (SHM 50GB 기준)
4KB
13,107,200
102,400KB
(1GB page table size) + (2MB page table size) + 102,400KB
전체 page table size는 상위 레벨 테이블 크기가 누적되는 방식이므로 페이지 크기가 커질수록 필요한 테이블 레벨이 줄고, 전체 page table size가 감소합니다.
4KB: 1GB page table size + 2MB page table size + 마지막 레벨(pte) 크기
2MB: 1GB page table size + 마지막 레벨(pmd) 크기
1GB: 마지막 레벨(pud) 크기만 필요
최종적으로, <DB 프로세스 개수 * 프로세스 page table size> 의 결과값이 DB 인스턴스 전체 page table 최대 size가 됩니다.
AIX에서는 HugePage 대신 Large page라는 용어를 사용하며 기본적인 장점은 HugePage와 동일합니다.
Large page를 활성화하기 위한 설정 방법은 아래와 같습니다.
1. 운영체제 Large page 설정값을 변경합니다.
AIX는 내부적으로 4KB 및 16MB 크기의 물리 Memory Pool을 유지합니다. vmo 명령을 통해 16MB Memory Pool의 크기를 변경할 수 있습니다. 나머지 공간은 자연스럽게 4KB로 할당됩니다.
AIX 5.3 이후부터는 Large page Pool이 동적으로 유지되므로 변경 후 시스템을 재부팅할 필요가 없습니다.
먼저 공유 메모리로 할당된 공간이 디스크로 스왑되지 않도록 v_pinshm 설정이 별도로 필요합니다. percent_of_real_memory는 전체 메모리 중에서 TSM이 차지하는 비율을 지정합니다.
Large page Pool 크기를 설정합니다. num_of_large_pages는 TSM을 16MB로 나눈 값이 되며, 정수 단위로 입력합니다.
2. 사용자 권한을 설정합니다.
보안 정책상 root 이외의 사용자는 Large page를 사용하기 위해 아래와 같은 권한을 Tibero 사용자에게 부여해야 합니다. chuser 명령을 통해 해당 권한을 설정할 수 있습니다.
3. 환경설정 파일(.tip)에 아래와 같은 Tibero 초기화 파라미터를 설정합니다.
TOTAL_SHM_SIZE
1GB(기본값)
USE_HUGE_PAGE
Y
아래는 앞에서 구한 값으로 초기화 파라미터를 설정한 예제입니다.
4. Tibero 서버를 재기동합니다.
Large page를 활성화하면서 변경했던 값을 다시 원래대로 복구합니다.
ISM(Intimate Shared Memory) 기능을 통해서 HugePage 기능을 적용할 수 있습니다. Solaris에서는 HugePage 대신 Large page라는 동일한 의미의 용어를 대신 사용합니다.
ISM을 사용할 때의 이점은 아래와 같습니다.
ISM 공유 메모리는 생성될 때 자동으로 운영체제에 의해서 locked 상태가 됩니다. 이를 통해 해당 메모리 영역이 디스크로 스왑되지 않도록 보장하며, 운영체제 커널 내부에서 I/O를 위해 더 빠르게 동작하는 locking 메커니즘을 사용할 수 있습니다.
가상 메모리 주소와 물리 메모리 주소 간 변환을 위한 커널 메모리 구조를 여러 프로세스 사이에서 공유하게 되므로, CPU 소모 시간을 줄이고 커널 메모리 공간을 절약할 수 있습니다.
시스템의 MMU(Memory Management Unit)에서 지원하는 Large page가 자동으로 ISM 메모리 세그먼트에 할당됩니다. 이를 통해 page 관리를 위한 메모리 공간이 절약되고, 가상 메모리 주소 변환이 간단해지므로 시스템 성능을 향상시킬 수 있습니다.
아래와 같은 서버 초기화 파라미터 설정을 통해 활성화할 수 있습니다. 해당 파라미터는 Solaris에서만 유효하며 기본값은 Y입니다.
이 기능을 켜면 shmget으로 공유 메모리를 만들고, shmat로 attach할 때 SHM_SHARED_MMU라는 옵션이 추가됩니다. 서버 프로세스와 리스너 프로세스에만 한정되어 적용되며, 서버의 TSM을 attach하는 클라이언트 모듈은 이 옵션을 적용하지 않습니다. 만약 해당 파라미터의 설정값이 Y가 아닌 경우에는 Y로 수정하고 Tibero 서버를 재기동합니다.
서버 초기화 파라미터 _USE_ISM 값을 N으로 수정하고 Tibero 서버를 재기동합니다.
$ grep Hugepagesize /proc/meminfo
Hugepagesize: 2048 KB$ id -a
uid=579(tibero) gid=579(tibero) groups=579(tibero)$ cat /etc/sysctl.conf
......중간 생략......
vm.nr_hugepages=512
vm.hugetlb_shm_group=579$ cat /etc/security/limits.conf
......중간 생략......
tibero soft memlock 1048576
tibero hard memlock 1048576$ egrep -e HugePages_Total /proc/meminfo
HugePages_Total: 512$ cat tibero.tip
......중간 생략......
TOTAL_SHM_SIZE=1G
USE_HUGE_PAGE=Y$ tbdown
Tibero instance terminated (NORMAL mode).
$ tbboot
Listener port = 8629
Change core dump dir to /home/tibero/tibero7/instance/tibero.
Tibero 7
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Tibero instance started up (NORMAL mode).$ vmo r o v_pinshm=1
$ vmo r o maxpin%=percent_of_real_memory$ vmo p o lgpg_regions=num_of_large_pages o lgpg_size=16 MB$ chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE <user id>$ cat tibero.tip
......중간 생략......
TOTAL_SHM_SIZE=1G
USE_HUGE_PAGE=Y$ tbdown
Tibero instance terminated (NORMAL mode).
$ tbboot
Listener port = 8629
Change core dump dir to /home/tibero/tibero7/instance/tibero.
Tibero 7
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Tibero instance started up (NORMAL mode)._USE_ISM=Y_USE_ISM=NTibero를 운영하는 유저 그룹의 아이디
2MB
25,600
200KB
(1GB page table size) + 200KB
1GB
50
400B
400B
Tibero의 SQL Execution Work Area 크기 산정 방법에 대해 설명합니다.
Tibero Shared Memory는 부팅할 때 고정된 용도로 사용되는 Fixed 영역과 운영 중에 자동으로 할당되어 사용되는 Shared Pool 영역으로 나뉩니다.
DB가 부팅할 때 파라미터 값을 바탕으로 크기가 고정되는 영역입니다.
Buffer Cache(Database Buffer)
Log Buffer
그 외 항목: 전역 변수를 위한 공간, 워킹 스레드 정보와 세션 정보를 관리하는 영역
운영 중에 동적으로 할당되어 사용되는 영역입니다.
DD Cache
PP Cache(Library Cache)
그 외 항목
다음은 Shared Memory 크기를 산정할 때 고려해야 할 사항입니다.
Shared Memory 크기를 운영 중에 동적으로 늘릴 수 없습니다.
Buffer Cache와 Shared Pool 사용 패턴을 분석하여 전체 Shared Memory 크기를 알맞게 정해야 합니다.
Buffer Cache
주요 Workload를 돌려본 후 TPR 리포트의 Buffer Cache 적중률을 보고 판단합니다.
Shared Memory의 각 영역 크기는 v$sga에서 확인할 수 있습니다.
Shared Memory 크기는 초기화 파라미터 설정값으로 조회할 수 있습니다.
다음은 TOTAL_SHM_SIZE 파라미터 설정값을 조회하는 예입니다.
다음은 DB_CACHE_SIZE 파라미터를 설정해서 조회하는 예입니다.
싱글 모드 : TOTAL_SHM_SIZE의 2/3
TAC 모드 : TOTAL_SHM_SIZE의 1/2
다음은 LOG_BUFFER 파라미터를 설정해서 조회하는 예입니다. (LOG_BUFFER 파라미터의 기본값: 100MB)
전체 Shared Memory 크기에서 Fixed 영역을 뺀 나머지 영역입니다.
싱글 모드
전체 Shared Pool 크기가 _MIN_SHARED_POOL_SIZE보다 커야 합니다.
TAC 모드
TAC를 위한 CCC와 CWS 공간이 충분히 확보되어야 합니다. CCC와 CWS를 위해 전체 Buffer Cache 크기의 25%가량을 Shared Pool에서 사용합니다.
CCC와 CWS를 위한 공간을 제외한 Shared Pool 영역이 _MIN_SHARED_POOL_SIZE보다 커야 합니다.
PP Cache와 DD Cache 등을 위한 Free Shared Pool 크기는 CCC와 CWS 공간보다 커야 합니다.
적중률이 90% 이하이면 Buffer Cache 크기를 늘려야 합니다.
Shared Pool Memory
Workload를 돌려본 후 v$sga의 ‘SHARED POOL MEMORY’ 항목의 사용률을 보고 판단합니다.
Shared Pool 사용률이 너무 높으면(Free 영역이 적은 경우) Shared Pool 크기를 늘려야 합니다.
세션당 최소 1M 이상의 Shared Pool 영역 확보가 필요합니다.
SQL> select * from v$sga;
NAME TOTAL USED
-------------------- --------- ---------
SHARED MEMORY 536870912 536870912
FIXED MEMORY 430875880 430875880
SHARED POOL MEMORY 105992872 40974968
SHARED POOL ALOCATORS 1 1
Database Buffers 357892096 357892096
Redo Buffers 10485760 10485760SQL> show param total_shm_size
NAME TYPE VALUE
---------------- -------- ---------
TOTAL_SHM_SIZE INT64 536870912
SQL> show param db_cache_size
NAME TYPE VALUE
---------------- -------- ---------
DB_CACHE_SIZE UINT64 357892096SQL> show param log_buffer
NAME TYPE VALUE
---------------- -------- ---------
LOG_BUFFER UINT32 10485760TOTAL_SHM_SIZE - [Fixed Memory]_MIN_SHARED_POOL_SIZE 기본값: 1M * MAX_SESSION_COUNT[전체 Shared Pool 크기] = _MIN_SHARED_POOL_SIZE + [CCC 공간] + [CWS 공간] + [Free Shared Pool 크기][Free Shared Pool 크기] > ([전체 Shared Pool 크기] - _MIN_SHARED_POOL_SIZE) / 2system_patch.sh의 목적과 수행하는 경우 각 옵션에 대하여 설명합니다.
최초 설치 이후 patch 작업을 위해 만들어졌습니다. 이 셸을 실행하면 현재 디렉터리에 있는 SQL 파일이 수행됩니다.
$ system_patch.sh -h
Usage: system_patch.sh [option] [arg]
-h : display usage
-p1 password : sys password
-p2 password : syscat password
--create-system-users : create default system users & roles
--except-example-user : do not create example users & roles
--create-sys-profile : create system tables related to profile
--create-job-scheduler-package : register dbms stat job to Job Scheduler
--create-tpr-tables : drop & create TPR tables
--install-xmltype : Install XMLTYPE as object type다음은 각 옵션에 대한 설명입니다.
-h
도움말 화면을 출력
-p1 password
sys 계정의 패스워드를 입력 (기본값: tibero)
-p2 password
syscat 계정의 패스워드를 입력 (기본값: syscat)
--create-system-users
시스템 유저 생성 및 권한 부여 여부를 설정 (기본값: N)
Y : 시스템 유저 생성 및 권한을 부여
N : 데이터를 보존
--create-sys-profile
데이터베이스 사용자의 패스워드 관리 정책을 지정할 수 있는 프로파일을 위한 테이블의 생성 여부를 설정 (기본값: N)
Y : 기존 테이블을 삭제한 후 생성
N : 데이터를 보존
프로파일에 대한 자세한 내용은 "Tibero 관리자 안내서"의 ""을 참고
--create-job-scheduler-package
데이터베이스 객체의 통계 정보 수집을 위한 Job 스케줄링 등록 여부를 설정 (기본값: N)
Y : 통계정보 수집을 위한 Job을 삭제한 후 등록
N : 등록하지 않음
--create-tpr-tables
통계정보를 주기적으로 자동 수집하기 위한 TPR 관련 테이블의 생성 여부를 설정 (기본값: N)
Y : 기존 테이블을 삭제한 후 생성
N : 데이터를 보존
APM에 대한 자세한 내용은 "Tibero 관리자 안내서"의 ""를 참고
--install-xmltype
XMLTYPE의 내부 저장 타입을 지정 (기본값: N)
Y : object type으로 생성
N : clob type으로 생성
Tibero의 설치 방법에 대하여 설명합니다.
Tibero에서는 제품 설치를 위한 방법을 다음의 형태로 제공하고 있습니다.
수동 설치
모든 플랫폼에 대하여 tibero7-bin-<fixset>_<platform>.tar.gz 형태로 제공됩니다.
Tibero가 지원하는 모든 플랫폼에 대하여 데이터베이스를 수동으로 설치할 수 있습니다.
이를 수동 설치라 정의합니다.
다음은 Windows 환경에서 수동으로 Tibero를 설치하는 과정에 대한 설명입니다. Windows 환경에서의 설치 과정은 반드시 관리자 권한으로 진행되어야 합니다.
다음의 두 가지 파일이 준비되었는지 확인합니다.
바이너리 실행 파일(tar.gz)
라이선스 파일(license.xml)
[시작] > [설정] > [제어판] > [시스템] > [고급] 탭에서 [환경 변수] 버튼을 클릭하여 환경 변수 중 시스템 변수를 설정합니다. 본 예제에서는 다음과 같이 시스템 변수를 설정합니다.
C:\Tibero 디렉터리에서 압축된 바이너리 실행 파일(tar.gz)을 해제합니다. 그 후에 %TB_HOME%의 license라는 하위 디렉터리에 발급받은 라이선스 파일(license.xml)을 복사합니다.
%TB_HOME%\bin 디렉터리에서 다음의 명령어를 입력합니다. 이때 서비스명은 생략할 수 있습니다.
이 명령이 실행되면 Tibero가 Windows 서비스에 등록됩니다. 등록된 Windows 서비스는 [시작] > [설정] > [제어판] > [관리 도구] > [서비스]에서 확인할 수 있습니다. 오른쪽 마우스를 클릭해서 [관리자 권한으로 실행]으로 명령 프롬프트 창을 실행합니다.
%TB_HOME%\config 디렉터리에서 다음의 명령어를 입력합니다.
이 명령이 실행되면 환경 파일(.tip)과 tbdsn.tbr, psm_commands.bat 파일이 생성됩니다.
Tibero 서버를 'NOMOUNT 모드'로 기동합니다.
tbSQL 유틸리티를 이용하여 데이터베이스에 접속합니다. 본 예제에서는 'sys' 사용자로 접속합니다.
CREATE DATABASE 문을 이용하여 원하는 데이터베이스를 생성합니다. 본 예제에서는 'tibero'로 생성합니다.
해당 과정에서 설정하는 주요 항목에 대한 설명은 다음과 같습니다.
데이터베이스 생성이 완료되면 tbboot 명령어로 Tibero를 다시 기동합니다.
기본 스크립트 호스트를 cscript로 변경합니다. cscript로 설정되어 있지 않은 경우 vbs 파일을 실행할 때 사용자 입력 부분에서 경고창으로 출력되어 설치를 진행할 수 없는 현상이 발생합니다.
%TB_HOME%\scripts 디렉터리에서 system_install.vbs 명령어를 입력하면 현재 디렉터리에 있는 SQL 문이 저장된 파일(*.sql, 이하 SQL 파일)이 수행됩니다.
SQL 파일을 수행하면 role, system user, view, package 등이 생성됩니다. 사용되는 sys 및 syscat 계정에 대한 기본 암호는 각각 tibero, syscat입니다.
Tibero의 설치가 정상적으로 완료되면 tblistener, tbsvr 프로세스가 실행됩니다. 해당 프로세스는 Windows 작업 관리자의 [프로세스] 탭을 통해 확인할 수 있습니다.
다음은 UNIX 환경에서 수동으로 Tibero를 설치하는 순서에 대한 설명입니다.
다음의 두 가지 파일이 준비되었는지 확인합니다.
바이너리 실행 파일(tar.gz)
라이선스 파일(license.xml)
해당 운영체제의 사용자 계정별로 존재하는 환경 설정 파일(.bashrc, .bash_profile, .profile 등)에 환경 변수를 설정합니다. 본 예제에서는 다음과 같이 환경 변수를 설정합니다.
/home/tibero/Tibero 디렉터리에서 압축된 바이너리 실행 파일(tar.gz)을 해제합니다. 그 후에 발급받은 라이선스 파일(license.xml)을 $TB_HOME/license 디렉터리에 복사합니다.
$TB_HOME/config 디렉터리에서 다음의 명령어를 입력합니다.
이 명령이 실행되면 환경 파일(.tip)과 tbdsn.tbr, psm_commands 파일이 생성됩니다.
Tibero 서버를 NOMOUNT 모드로 기동합니다.
tbSQL 유틸리티를 이용하여 데이터베이스에 접속합니다. 본 예제에서는 'sys' 사용자로 접속합니다.
CREATE DATABASE 문을 이용하여 원하는 데이터베이스를 생성합니다. 본 예제에서는 'tibero'로 생성합니다.
해당 과정에서 설정하는 주요 항목에 대한 설명은 다음과 같습니다.
데이터베이스 생성이 완료되면 tbboot 명령어로 Tibero를 다시 기동합니다.
$TB_HOME/scripts 디렉터리에서 system_install.sh 셸을 실행합니다. 이 셸을 실행하면 현재 디렉터리에 있는 SQL 파일이 수행됩니다. SQL 파일을 수행하면 role, system user, view, package 등이 생성됩니다. 사용되는 sys 및 syscat 계정에 대한 기본 암호는 각각 tibero, syscat입니다.
Tibero의 설치가 정상적으로 완료되면 Tibero 프로세스가 실행됩니다. 이 프로세스는 다음의 명령어를 실행하면 확인할 수 있습니다.
본 절에서는 Tibero가 설치된 후 정상적인 설치 여부를 확인하는 방법에 대해서 설명합니다.
Tibero가 설치되면 다음과 같은 디렉터리가 생성됩니다.
위의 디렉터리 구조에서 $TB_SID라고 보이는 부분은 각각의 시스템 환경에 맞는 서버의 SID로 바꿔서 읽어야 합니다.
Tibero에서 사용하는 기본 디렉터리는 다음과 같습니다.
Tibero의 실행 파일과 서버 관리를 위한 유틸리티가 위치한 디렉터리입니다. 이 디렉터리에 속한 파일 중에서 tbsvr과 tblistener는 Tibero를 구성하는 실행 파일이며, tbboot와 tbdown은 각각 Tibero를 기동하고 종료하는 역할을 담당합니다. tbsvr과 tblistener 실행 파일은 반드시 tbboot 명령어를 이용하여 실행되어야 하며, 절대로 직접 실행해서는 안 됩니다.
다음은 하위 디렉터리에 대한 설명입니다.
Tibero의 환경설정 파일이 위치하는 디렉터리입니다. 이 위치에 존재하는 $TB_SID.tip 파일이 Tibero의 환경설정을 결정합니다.
다음은 하위 디렉터리에 대한 설명입니다.
$TB_SID
Tibero의 데이터베이스 정보를 별도로 설정하지 않는 한 모든 데이터베이스 정보가 이 디렉터리와 그 하위 디렉터리에 저장됩니다. 이 디렉터리에는 데이터 자체에 대한 메타데이터(metadata)뿐만 아니라 다음과 같은 종류의 파일이 있습니다.
$TB_SID/java
JAVA_CLASS_PATH가 정의되지 않은 경우 Java EPA Class File이 저장되는 디렉터리입니다.
다음은 하위 디렉터리에 대한 설명입니다.
$TB_SID/out
Tibero의 프로세스에서 로그를 남길 수 없는 특정 상황에 현재 상황에 대한 정보를 남기는 파일들이 남는 디렉터리입니다. 해당 파일에 남는 내용은 매우 중요한 정보이기에 Tibero가 운영 중일 때 이 위치에 존재하는 파일을 읽거나 수정하지 않는 것을 권장합니다. 리스너 프로세스의 것은 하위 디렉터리 "/lsnr"에, 일반 프로세스의 것은 "/svr"에 남습니다.
$TB_SID/log
Tibero의 시스템 로그 파일(slog)과 DBMS 로그(dlog), Internal 로그(ilog), Listener 로그(lsnr), 메모리 로그 등의 로그 파일이 저장되는 디렉터리입니다.
시스템 로그 파일, DBMS 로그 파일, Internal 로그 파일, Listener 로그 파일을 비롯한 로그 파일들은 데이터베이스를 사용할수록 계속 누적되어 저장됩니다. 지속되는 누적으로 인한 디스크 포화 상태를 방지하고, 성능 향상 및 최적화된 사용자 경험을 제공하기 위해 각 파일의 최대 크기와 전체 디렉터리의 최대 크기를 파라미터로 조정할 수 있도록 되어 있습니다.
예외적으로, SQLTRACE 로그 파일과 Memory 로그 파일들의 경우는 해당 로그들의 취지에 맞게 각 파일의 크기를 제한하는 것이 아니라 디렉터리 내 존재하는 파일들의 크기의 합을 파라미터를 통해 제한할 수 있습니다. 해당 값을 넘어가는 경우 파일들을 별도의 하위 디렉터리에 보관하고, 이 하위 디렉터리의 최대 개수를 파라미터로 제한하여 최댓값을 넘는 경우 오래된 디렉터리를 삭제하도록 설정할 수 있습니다.
로그 파일을 설정하는 초기화 파라미터는 다음과 같습니다.
$TB_SID/dump
Tibero의 DDL 또는 실행 중 에러에 의해 발생하는 덤프 파일이 저장되는 디렉터리입니다.
Activity 덤프, Diagnostic 덤프, Callstack 덤프, Tracedump 덤프 파일의 경우 데이터베이스를 사용할수록 계속 누적되어 저장될 수 있습니다. Tibero는 성능 향상 및 최적화된 사용자 경험을 제공하고, 지속되는 덤프 파일 누적으로 인한 디스크 포화 상태를 예방하기 위해 디렉터리 내 존재하는 파일들의 크기의 합을 파라미터를 통해 제한할 수 있습니다.
해당 값을 넘어가는 경우 파일들을 별도의 하위 디렉터리에 보관하며, 이와 더불어 별도의 파라미터를 통해 하위 디렉터리들의 최대 개수를 제한하여 최댓값을 넘는 경우 오래된 디렉터리를 삭제하도록 설정할 수 있습니다. (TPR의 경우는 사용자 요청으로만 파일이 생성되기 때문에 자동으로 관리하지 않음)
$TB_SID/path
Tibero의 프로세스 간에 통신을 위한 소켓 파일이 있는 디렉터리입니다. Tibero가 운영 중일 때 이 위치에 존재하는 파일을 읽거나 수정해서는 안 됩니다.
Tibero 서버에서 Spatial과 관련된 함수를 사용하기 위한 라이브러리 파일이 있는 디렉터리입니다.
Tibero의 라이선스 파일(license.xml)이 있는 디렉터리입니다. XML 형식이므로 일반 텍스트 편집기로도 라이선스의 내용을 확인할 수 있습니다.
다음은 하위 디렉터리에 대한 설명입니다.
다음은 하위 디렉터리에 대한 설명입니다.
Tibero의 데이터베이스를 생성할 때 사용하는 각종 SQL 문장이 있는 디렉터리입니다. 또한 Tibero의 현재 상태를 보여주는 각종 뷰의 정의도 이 디렉터리에 있습니다.
다음은 하위 디렉터리에 대한 설명입니다.
Tibero가 설치된 후에 사용자의 환경 설정 파일에는 다음의 내용이 추가됩니다.
UNIX에서는 비정상적으로 프로세스를 종료할 경우 가상 메모리 정보를 디스크로 남깁니다. (Core Dump)
이 과정에서 많은 컴퓨팅 자원을 요구하여 시스템 성능을 순간적으로 저하시키며, 이때 생성되는 Core 파일은 많은 디스크 용량을 필요로 합니다. 따라서 Tibero에서는 이 기능을 사용하기를 권장하지 않습니다.
Core Dump 기능을 사용하지 않으려면 사용자 계정의 환경 설정 파일(.profile)에 다음의 명령어를 추가합니다.
위와 같이 사용자의 환경 설정 파일이 생성되어도 실제로 적용된 것은 아닙니다. 환경 설정 파일을 적용하기 위해서는 다음과 같은 과정을 거쳐야 합니다.
다음의 명령어를 입력하여 사용자 환경 설정 파일을 적용합니다. UNIX 계열(Linux 포함)에서만 아래 명령어를 입력합니다.
환경 설정 파일이 제대로 적용되었는지 확인하려면 다음의 명령어를 입력합니다.
Linux 계열의 경우
Windows 계열의 경우
Tibero의 기동과 종료는 데이터베이스 관리자(DBA: Database Administrator, 이하 DBA)만 할 수 있습니다.
Tibero의 기동은 tbboot 명령어를 사용합니다. 옵션을 포함한 tbboot의 명령어는 다음과 같습니다.
Tibero의 종료는 tbdown 명령어를 사용합니다. 옵션을 포함한 tbdown의 명령어는 다음과 같습니다.
tbsql 명령으로 데이터베이스에 접속합니다. 다음과 같이 데이터베이스 사용자의 ID와 패스워드를 함께 입력하여 접속할 수 있습니다.
리스너를 통한 접속을 위해서는 다음과 같이 데이터베이스 사용자 ID와 패스워드 뒤에 @을 입력하고 @ 뒤에는 tbdsn.tbr 파일에 지정된 별칭을 입력합니다.
Tibero가 설치되면 아래와 같은 사용자 계정이 자동으로 생성됩니다.
maxlogmembers
로그 그룹 내의 로그 파일의 최댓값을 설정 (기본값: 8)
maxlogmembers
로그 그룹 내의 로그 파일의 최댓값을 설정 (기본값: 8)
lib
Tibero의 클라이언트 프로그램을 작성할 때 필요한 라이브러리 파일이 위치하는 디렉터리 (자세한 내용은 "Tibero 애플리케이션 개발자 안내서"와 ""를 참고)
epa
External Procedure와 관련된 설정 파일과 로그 파일이 있는 디렉터리 (자세한 내용은 ""를 참고)
DBMS 로그 파일(dlog)
시스템 로그 파일에 기록되는 정보보다 좀 더 중요한 정보가 기록되는 파일이며, 서버 기동 및 종류, DDL 문장의 수행 등이 기록되는 파일
Internal 로그 파일(ilog)
스레드별로 설정된 이벤트에 대한 시스템 로그가 기록되는 파일이며, Internal 로그를 보려면 tbiv를 이용해야 함
Listener 로그 파일(lsnr)
Listener의 디버깅을 위한 파일
리스너에서 일어난 중요한 일이 기록되는 파일이며, 리스너의 버그를 해결하는 데 사용될 수 있음
시스템 로그 파일(slog)
디버깅을 위한 파일
서버가 하는 중요한 일이 기록되는 파일이며, 서버 성능이 저하되는 원인을 찾거나 Tibero 자체의 버그를 해결하는 데 사용될 수 있음
SQLTRACE 로그 파일(sql trace)
세션에서 수행된 SQL들에 대한 정보를 남기는 로그 파일
SQL의 성능을 분석하거나 버그의 원인을 파악하는 데에 사용될 수 있음
Memory 로그 파일(memlog)
임의의 세션이 부득이한 문제로 강제 종료되는 경우, 해당 세션에서 남길 예정이었던 시스템 로그들을 남기는 파일
문제가 발생한 세션을 분석하는 데에 사용될 수 있음
Activity 로그 파일 하나의 최대 크기를 설정
ACT_LOG_TOTAL_SIZE_LIMIT
Activity 로그 파일이 저장된 디렉터리의 최대 크기를 설정
DIAG_LOG_FILE_SIZE
Diagnostic 로그 파일 하나의 최대 크기를 설정
DIAG_LOG_TOTAL_SIZE_LIMIT
Diagnostic 로그 파일이 저장된 디렉터리의 최대 크기를 설정
DBMS_LOG_FILE_SIZE
DBMS 로그 파일 하나의 최대 크기를 설정
DBMS_LOG_TOTAL_SIZE_LIMIT
DBMS 로그 파일이 저장된 디렉터리의 최대 크기를 설정
ILOG_FILE_SIZE
Internal 로그 파일 하나의 최대 크기를 설정
ILOG_TOTAL_SIZE_LIMIT
Internal 로그 파일이 저장된 디렉터리의 최대 크기를 설정
LSNR_LOG_FILE_SIZE
Listener 로그 파일 하나의 최대 크기를 설정
LSNR_LOG_TOTAL_SIZE_LIMIT
Listener 로그 파일이 저장된 디렉터리의 최대 크기를 설정
SLOG_FILE_SIZE
시스템 로그 파일 하나의 최대 크기를 설정
SLOG_TOTAL_SIZE_LIMIT
시스템 로그 파일이 저장된 디렉터리의 최대 크기를 설정
SQL_TRACE_TOTAL_SIZE_LIMIT
SQL_TRACE_DEST 내에 존재하는 파일들 크기의 합의 상한을 설정(하위 디렉터리의 크기는 제외)
SQL_TRACE_BACKUP_LIMIT_CNT
SQLTRACE 로그 파일들이 보관되어 있는 하위 디렉터리의 최대 개수를 설정
값을 넘는 경우, 가장 오래된 하위 디렉터리부터 디렉터리째로 삭제됨
MEM_LOG_TOTAL_SIZE_LIMIT
MEM_LOG_DEST 내에 존재하는 파일들 크기의 합의 상한을 설정(하위 디렉터리의 크기는 제외)
MEM_LOG_BACKUP_LIMIT_CNT
Memory 로그 파일들이 보관되어 있는 하위 디렉터리의 최대 개수를 설정
값을 넘는 경우, 가장 오래된 하위 디렉터리부터 디렉터리째로 삭제됨
report
DB 성능 측정을 위해 DDL 혹은 TPR 패키지를 이용하여 TPR report를 생성하였을 때 만들어지는 파일들의 디렉터리
tracedump
DB 내 문제 상황에 대한 다양한 디버깅 정보들을 가진 덤프 파일들의 디렉터리
문제가 발생하는 동작에서 저절로 덤프가 남는 경우도 있고, DDL dump 명령을 통해 남는 경우도 있음
CALLSTACK_DUMP_BACKUP_LIMIT_CNT
Callstack 덤프 파일들이 보관되어 있는 하위 디렉터리의 최대 개수를 설정
값을 넘는 경우, 가장 오래된 하위 디렉터리부터 디렉터리째로 삭제됨
DIAG_DUMP_TOTAL_SIZE_LIMIT
DIAG_DUMP_DEST 내에 존재하는 파일들 크기의 합의 상한을 설정 (하위 디렉터리의 크기는 제외)
DIAG_DUMP_BACKUP_LIMIT_CNT
Diagnostic 덤프 파일들이 보관되어 있는 하위 디렉터리의 최대 개수를 설정
값을 넘는 경우, 가장 오래된 하위 디렉터리부터 디렉터리째로 삭제됨
TRACE_DUMP_TOTAL_SIZE_LIMIT
TRACE_DUMP_DEST 내에 존재하는 파일들 크기의 합의 상한을 설정(하위 디렉터리의 크기는 제외)
TRACE_DUMP_BACKUP_LIMIT_CNT
TRACEDUMP 덤프 파일들이 보관되어 있는 하위 디렉터리의 최대 개수를 설정
값을 넘는 경우, 가장 오래된 하위 디렉터리부터 디렉터리째로 삭제됨
catalogview
Tibero에서 사용하는 카탈로그 뷰 생성문이 저장되는 디렉터리
catalogview_using_dpv
Tibero에서 사용하는 동적 성능 뷰를 참조하는 카탈로그 뷰 생성문이 저장되는 디렉터리
PATH
Tibero를 사용하기 위한 디렉터리 경로
기본적으로 $TB_HOME/bin과 $TB_HOME/client/bin이 설정
-C
Tibero가 지원하는 문자 집합의 정보를 보여주는 옵션
-c
Tibero가 replication mode로 설정되어 있을 경우 replication mode를 사용하지 않는 옵션
-t BOOTMODE
Tibero 서버를 기동할 수 있는 옵션. 이 옵션은 생략 가능 Tibero에서는 tbboot 명령어에서 부트 모드(bootmode)를 제공
NORMAL : 정상적으로 데이터베이스의 모든 기능을 사용할 수 있는 모드
NOMOUNT : Tibero의 프로세스만 기동시키는 모드
MOUNT : 미디어 복구 등의 데이터베이스 관리를 위해 사용하는 모드
RECOVERY : Tibero Standby Cluster를 구축할 때 standby 쪽의 데이터베이스를 운영하는 모드
OUTLN
동일한 SQL을 수행할 때 항상 같은 질의 플랜(plan)으로 수행될 수 있게 관련 힌트(hint)를 저장하는 등의 일을 하는 계정
SYSBACKUP
sys 계정이 아니며 backup/recovery 관련 모든 권한을 가진 계정. NOMOUNT, MOUNT 모드 로그인 가능
TIBERO
CONNECT, RESOURCE 역할이 부여된 샘플 사용자 계정
LBACSYS
Label Security System User로서 Label Security 관련된 정책, 감사, 사용자, 테이블 등을 관리하는 계정
TB_HOME
C:\Tibero\tibero7
TB_SID
tibero
PATH
tbinstall %TB_HOME% %TB_SID% [-s 서비스명]C:\Tibero\tibero7\bin>tbinstall %TB_HOME% %TB_SID%
Microsoft (R) Windows Script Host 버전 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
TB_HOME = C:\Tibero\tibero7
TB_SID = tibero
service account = LocalSystem Tibero_tibero installed successfully.gen_tip.batC:\Tibero\tibero7\config>gen_tip.bat
Using TB_SID [tibero]
C:\Tibero\tibero7\config\tibero.tip generated
C:\Tibero\tibero7\client\config\tbdsn.tbr generated. C:\Tibero\tibero7\config\psm_commands.bat generatedC:\Tibero\tibero7\bin>tbboot nomount
Tibero instance started up (NOMOUNT mode).C:\Tibero\tibero7\bin>tbsql sys/tibero
tbSQL 7
Copyright (c) 2008, 2009, 2011, 2012 TmaxData Corporation. All rights reserved.
Connected to Tibero.SQL> create database "tibero"
user sys identified by tibero
maxinstances 8
maxdatafiles 100
character set MSWIN949
national character set UTF16
logfile
group 1 'log001.log' size 50M,
group 2 'log002.log' size 50M,
group 3 'log003.log' size 50M
maxloggroups 255
maxlogmembers 8
noarchivelog
datafile 'system001.dtf' size 100M autoextend on next 10M maxsize unlimited
default temporary tablespace TEMP
tempfile 'temp001.dtf' size 100M autoextend on next 10M maxsize unlimited
extent management local autoallocate
undo tablespace UNDO
datafile 'undo001.dtf' size 200M autoextend on next 10M maxsize unlimited
extent management local autoallocate
SYSSUB
datafile 'syssub001.dtf' size 10M autoextend on next 10M maxsize unlimited
default tablespace USR
datafile 'usr001.dtf' size 100M autoextend on next 10M maxsize unlimited
extent management local autoallocate;
Database created.
SQL> quit maxdatafiles
데이터베이스에서 사용할 데이터 파일의 최댓값을 설정 (기본값: 100)
character set
데이터베이스의 문자 집합을 설정
maxloggroups
C:\Tibero\tibero7\bin>tbboot
Tibero instance started up (NORMAL mode)C:\Tibero\tibero7\scripts> cscript //H:CScript
Microsoft (R) Windows Script Host 버전 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
기본 스크립트 호스트가 이제 "cscript.exe"로 설정되었습니다.C:\Tibero\tibero7\scripts>system_install.vbs
Microsoft (R) Windows Script Host 버전 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
Creating the role DBA...
Running C:\Tibero\tibero7\scripts\create_dba_gen.sql...
Creating system users & roles...
Running C:\Tibero\tibero7\scripts\system_users.sql...
Creating virtual tables(1)...
Running C:\Tibero\tibero7\scripts\vt_drop_gen.sql...
Creating virtual tables(2)...
Running C:\Tibero\tibero7\scripts\vt_create_gen.sql...
Granting public access to _VT_DUAL...
Running C:\Tibero\tibero7\scripts\vt_dual.sql...
Creating the system generated sequences...
Running C:\Tibero\tibero7\scripts\create_seq.sql...
Creating internal dynamic performance views...
Running C:\Tibero\tibero7\scripts\dpvx.sql...
Creating system packages:
Running C:\Tibero\tibero7\scripts\pkg\pkg_standard.sql...
Running C:\Tibero\tibero7\scripts\pkg\pkg_dbms_output.sql...
Running C:\Tibero\tibero7\scripts\pkg\pkg_dbms_lob.sql...
Running C:\Tibero\tibero7\scripts\pkg\pkg_dbms_utility.sql...
Running C:\Tibero\tibero7\scripts\pkg\pkg_dbms_obfuscation.sql...
......중간 생략......
Creating dynamic performance view descriptions...
Running C:\Tibero\tibero7\scripts\dpv_dict.sql...
Creating spatial meta tables and views ...
Running C:\Tibero\tibero7\scripts\create_gis.sql...
Creating internal system tables...
Running C:\Tibero\tibero7\scripts\sys_tbl.sql...이미지 이름 사용자 이름 CPU 메모리 사용
...
tblistener.exe SYSTEM 00 2,804 KB
tbsvr.exe SYSTEM 00 216,056 KB
...export TB_HOME=/home/tibero/Tibero/tibero7
export TB_SID=tibero
export LD_LIBRARY_PATH=$TB_HOME/lib:$TB_HOME/client/lib
export PATH=$PATH:$TB_HOME/bin:$TB_HOME/client/bingen_tip.shtibero@Tibero:~/Tibero/tibero7/config$ gen_tip.sh
Using TB_SID "tibero"
/home/tibero/Tibero/tibero7/config/tibero.tip generated
/home/tibero/Tibero/tibero7/config/psm_commands generated
/home/tibero/Tibero/tibero7/client/config/tbdsn.tbr generated.
Running client/config/gen_esql_cfg.sh
Done.tibero@Tibero:~/Tibero/tibero7/bin$ tbboot nomount
Change core dump dir to /home/tibero7/tibero7/bin/prof.
Listener port = 8629
Tibero7
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Tibero instance started up (NOMOUNT mode).tibero@Tibero:~/Tibero/tibero7/client/bin$ tbsql sys/tibero
tbSQL 7
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Connected to Tibero.
SQL>SQL> create database "tibero"
user sys identified by tibero
maxinstances 8
maxdatafiles 100
character set MSWIN949
national character set UTF16
logfile
group 1 'log001.log' size 50M,
group 2 'log002.log' size 50M,
group 3 'log003.log' size 50M
maxloggroups 255
maxlogmembers 8
noarchivelog
datafile 'system001.dtf' size 100M autoextend on next 10M maxsize unlimited
default temporary tablespace TEMP
tempfile 'temp001.dtf' size 100M autoextend on next 10M maxsize unlimited
extent management local autoallocate
undo tablespace UNDO
datafile 'undo001.dtf' size 200M autoextend on next 10M maxsize unlimited
extent management local autoallocate
SYSSUB
datafile 'syssub001.dtf' size 10M autoextend on next 10M maxsize unlimited
default tablespace USR
datafile 'usr001.dtf' size 100M autoextend on next 10M maxsize unlimited
extent management local autoallocate;
Database created.
SQL> quit
Disconnected.maxdatafiles
데이터베이스에서 사용할 데이터 파일의 최댓값을 설정(기본값: 100)
character set
데이터베이스의 문자 집합을 설정
maxloggroups
tibero@Tibero:~/Tibero/tibero7/bin$ tbboot
Change core dump dir to /home/tibero7/tibero7/bin/prof.
Listener port = 25010
Tibero 7
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Tibero instance started up (NORMAL mode).tibero@Tibero:~/Tibero/tibero7/scripts$ ./system_install.sh
Enter SYS password:
Enter SYSCAT password:
Creating the role DBA...
create default system users & roles?(Y/N):
Creating internal system tables...
Creating additional system index...
Creating client policy table ...
Setting case insensitive password...
Create system tables related to dbms_redact...
Creating text packages table ...
Inserting for text packages table ...
Creating the role DBA...
Creating system users & roles...
Creating example users...
Creating virtual tables...
Granting public access to _VT_DUAL...
Creating the system generated sequences...
Creating internal dynamic performance views...
Creating outline table...
......중간 생략......
Running /workspace/dev/tb74/scripts/pkg/_pkg_sa_user_admin.tbw...
Running /workspace/dev/tb74/scripts/label_security_packages.sql...
Running /workspace/dev/tb74/scripts/label_security_synonym.sql...
Setting system_install.sh parameter...
Done.
For details, check /workspace/dev/tb74/instance/jonggeon_yu/log/system_init.log.tibero@Tibero:~/Tibero/tibero7/scripts$ ps -ef | grep tbsvr
tibero 19981 1 0 21:12 pts/2 00:00:00 tbsvr ...
tibero 19983 19981 0 21:12 pts/2 00:00:00 tbsvr_TBMP ...
tibero 19984 19981 0 21:12 pts/2 00:00:00 tbsvr_WP000 ...
tibero 19985 19981 3 21:12 pts/2 00:00:00 tbsvr_WP001 ...
tibero 19986 19981 1 21:12 pts/2 00:00:12 tbsvr_WP002 ...
tibero 19987 19981 2 21:12 pts/2 00:00:12 tbsvr_PEP000 ...
tibero 19988 19981 0 21:12 pts/2 00:00:00 tbsvr_AGNT ...
tibero 19989 19981 1 21:12 pts/2 00:00:00 tbsvr_DBWR ...
tibero 19999 19981 0 21:12 pts/2 00:00:00 tbsvr_RECO ...$TB_HOME
+- bin
| |
| +- update
|
+- client
| |
| +- bin
| +- config
| +- epa
| | |
| | +- java
| | | |
| | | +- config
| | | +- lib
| |
| +- include
| +- lib
| | |
| | +- jar
| | +- php
| |
|
+- config
|
+- database
| +- $TB_SID
| |
| +- java
|
+- instance
| |
| +- $TB_SID
| |
| +- out
| | |
| | +- svr
| | +- lsnr
| |
| +- dump
| | |
| | +- act
| | +- callstack
| | +- diag
| | +- report
| | +- tracedump
| |
| +- log
| | |
| | +- act
| | +- audit
| | +- diag
| | +- dlog
| | +- ilog
| | +- lsnr
| | +- slog
| | +- sqltrace
| | +- memlog
| |
| +- path
|
+- lib
|
+- license
| |
| +- oss_licenses
|
+- nls
| |
| +- zoneinfo
|
+- scripts
|
+- pkg
+- dpv
+- sample_user
+- catalogview
+- catalogview_using_dpvbin
Tibero의 클라이언트 실행 파일이 있는 디렉터리
디렉터리 내 유틸리티
tbSQL 기본적인 클라이언트 프로그램으로 사용자가 직접 SQL 질의를 하고 그 결과를 확인할 수 있음
T-Up 다른 데이터베이스에서 Tibero로의 호환성 평가와 마이그레이션을 지원
tbExport 논리적 백업이나 데이터베이스 간에 데이터 이동을 위해 데이터베이스의 내용을 외부 파일로 저장
tbImport 외부 파일에 저장된 내용을 데이터베이스로 가져옴
tbLoader 대량의 데이터를 데이터베이스로 한꺼번에 읽어 들임
tbpc C 언어로 작성된 프로그램 안에서 내장 SQL(Embedded SQL)을 사용하는 프로그램을 개발할 때 이를 C 프로그램으로 변환. 이렇게 변환된 프로그램을 C 컴파일러를 통해 컴파일할 수 있도록 도와주는 역할도 담당.
(유틸리티에 대한 내용은 ""를 참고 단, tbpc 유틸리티는 ""를 참고)
config
Tibero의 클라이언트 프로그램을 실행하기 위한 설정 파일이 위치하는 디렉터리
include
컨트롤 파일
다른 모든 파일의 위치를 담고 있는 파일
데이터 파일
실제 데이터를 저장하고 있는 파일
로그 파일
Activity 로그 파일(act)
서버 내 액티비티 모니터에서 다른 스레드들의 동작을 점검하던 도중, 임의의 스레드가 장기간 멈춰 있음을 감지하였을 때 남기는 로그 파일
장기간 동작하지 않는 스레드의 원인 분석에 사용될 수 있음
AUDIT 로그 파일(audit)
데이터베이스 사용자가 시스템 특권 또는 스키마 객체 특권을 사용하는 것을 감시(AUDIT)한 내용을 기록한 파일
Diagnostic 로그 파일(diag)
AUDIT_LOG_FILE_SIZE
Audit 로그 파일 하나의 최대 크기를 설정
AUDIT_LOG_TOTAL_SIZE_LIMIT
Audit 로그 파일이 저장된 디렉터리의 최대 크기를 설정
act
서버 내 액티비티 모니터에서 타 쓰레드들의 동작을 점검하던 도중, 임의의 쓰레드가 장기간 멈춰 있음을 감지하였을 때, 남기는 덤프 파일들의 디렉터리
덤프 파일 내에는 대상 쓰레드의 함수 호출 스택 정보가 남음
callstack
DDL dump 명령 혹은 서버 내 요청으로 인한 콜스택 덤프 시, pstack 스레드에서 대상 쓰레드들의 함수 호출 스택 정보를 파일 형태로 남기는 디렉터리
diag
ACT_DUMP_TOTAL_SIZE_LIMIT
ACT_DUMP_DEST 내에 존재하는 파일들 크기의 합의 상한을 설정 (하위 디렉터리의 크기는 제외)
ACT_DUMP_BACKUP_LIMIT_CNT
Activity 덤프 파일들이 보관되어 있는 하위 디렉터리의 최대 개수를 설정
값을 넘는 경우, 가장 오래된 하위 디렉터리부터 디렉터리째로 삭제
CALLSTACK_DUMP_TOTAL_SIZE_LIMIT
oss_licenses
반드시 준수해야 하는 오픈소스 라이선스에 대한 정보를 확인할 수 있는 디렉터리
zoneinfo
Tibero에서 사용하는 시간대 파일이 있는 디렉터리
pkg
Tibero에서 사용하는 패키지의 생성문이 저장되는 디렉터리
dpv
Tibero에서 사용하는 동적 성능 뷰 생성문이 저장되는 디렉터리
sample_user
TB_HOME
Tibero가 설치된 디렉터리
만약, Tibero를 설치하는 과정에서 설치 디렉터리를 입력하지 않았다면 기본적으로 {사용자의 홈 디렉터리}/Tibero/tibero7가 TB_HOME으로 설정
TB_SID
설치 과정 중에 입력한 SID가 여기에 해당 설치 과정 중에 입력하지 않았다면 기본적으로 tibero가 SID로 설정
LD_LIBRARY_PATH
ulimit -c 0sh .profileecho $TB_HOMEecho %TB_HOME%tbboot [-h] [-v] [-l] [-C] [-c] [-t BOOTMODE]-h
tbboot 명령어의 도움말을 보여주는 옵션
-v
Tibero의 버전 정보를 보여주는 옵션
-l
tbdown [-h] [-t DOWNMODE]-h
tbdown 명령어의 도움말을 보여주는 옵션
-t DOWNMODE
Tibero 서버를 종료할 수 있는 옵션으로 생략 Tibero에서는 tbdown 명령어에서 다운 모드(downmode)를 제공
NORMAL : 일반적인 종료 모드
POST_TX : 모든 트랜잭션이 끝날 때까지 대기한 후 Tibero를 종료하는 모드
IMMEDIATE : 현재 수행 중인 모든 작업을 강제로 중단시키며 진행 중인 모든 트랜잭션을 롤백하고 Tibero를 종료하는 모드
ABORT : Tibero의 프로세스를 강제로 종료하는 모드
SWITCHOVER : Standby DB와 Primary DB를 동기화시킨 후 Primary DB를 NORMAL 모드처럼 종료하는 모드
SWITCHOVER IMMEDIATE : SWITCHOVER 모드를 IMMEDIATE 모드처럼 종료하는 모드
ABNORMAL : Tibero 서버에 접속하지 않고 서버 프로세스를 무조건 강제로 종료시키는 모드
tbsql sys/tiberotbsql sys/tibero@tiberoSYS
데이터베이스 관리를 위한 계정으로서 시스템 패키지, 동의어, 사용자, 역할, 가상 테이블, 시퀀스, 동적 뷰 등을 생성하고 관리
SYSCAT
데이터베이스 관리를 위한 정적 카탈로그 뷰를 생성하고 관리하는 계정
SYSGIS
C:\Tibero\tibero7\bin;C:\Tibero\tibero7\client\bin
로그 그룹의 최댓값을 설정 (기본값: 255)
로그 그룹의 최댓값을 설정 (기본값: 255)
Tibero의 클라이언트 프로그램을 작성할 때 필요한 헤더 파일이 위치하는 디렉터리
데이터 복구를 위해 데이터에 대한 모든 변경 사항을 저장하는 파일
TAC의 diag 기능을 사용하는 경우, 글로벌 노드 간 지연 현상이 감지되었을 때 문제 현상에 대한 대략적인 정보를 남기는 로그 파일
글로벌 노드 상에서 발생한 지연 현상의 원인을 분석하는 데에 사용될 수 있음
ACT_LOG_FILE_SIZE
TAC의 diag 기능을 사용하는 경우, 글로벌 노드 간 지연 현상이 감지되었을 때 문제 현상에 대한 자세한 정보를 남기는 덤프 파일들의 디렉터리
덤프 파일들에는 관련 쓰레드들의 함수 호출 스택 정보, 관련 쓰레드들의 자원 획득 및 경쟁에 대한 정보들이 남음
CALLSTACK_DUMP_DEST 내에 존재하는 파일들 크기의 합의 상한을 설정 (하위 디렉터리의 크기는 제외)
예제 실행을 위해 제공되는 샘플 사용자 생성문이 저장되는 디렉터리
Tibero를 사용할 때 필요한 공유 라이브러리가 위치한 경로
필요한 라이브러리는 모두 $TB_HOME/lib와 $TB_HOME/client/lib 안에 있고, OS별로 환경 변수가 다르게 지정
SunOS, Linux : LD_LIBRARY_PATH
AIX : LIBPATH
Tibero의 라이선스 정보를 보여주는 옵션
GIS(Geographic Information System)와 관련된 테이블 생성 및 관리를 하는 계정
RESETLOGS : Tibero 서버를 기동하는 과정에서 로그 파일을 초기화하며, 불완전 미디어 복구 이후에 사용하는 모드
FAILOVER : Tibero Standby Cluster 환경에서 Standby를 Primary로 사용하기 위한 모드
READONLY : 데이터베이스를 읽는 작업만 허용하고, 변경 작업을 허용하지 않는 모드
플랫폼별로 CD를 마운트하는 방법을 설명합니다.
AIX에서 CD를 마운트하는 방법은 아래와 같습니다.
루트 계정으로 접속합니다.
CD-ROM을 마운트할 마운트 포인트(Mount Point)를 생성합니다.
# mkdir /cdrom마운트 명령을 실행합니다.
mount <option> <device_name> <mount_point>Linux에서 CD를 마운트하는 방법은 아래와 같습니다.
오토 마운팅(AutoMounting)이 되는지 확인합니다.
루트 계정 비밀번호를 입력하여 루트 계정으로 전환합니다.
마운트 명령을 실행합니다.
언마운트(Unmount) 명령을 실행합니다.
Solaris에서 CD를 마운트하는 방법은 아래와 같습니다.
1. 볼륨 매니저(Volume Manager)를 확인하여 자동 인식 여부를 검사합니다.
기존의 CD가 있다면 이를 꺼냅니다.
3. CD를 넣고 아래의 명령을 입력하여 마운트합니다.
$ ps -aux | grep automount$ su -
Password: *****# mount <option> <device_name> <mount_point># umount <mount_point>$ ps -e | grep vold$ eject# mkdir <mount_point>
# mount <options> <device_name> <mount_point>Tibero에서 제공하는 패치에 대해서 간략히 설명합니다.
DB 설치 이후 기능 추가 및 결함(버그)등을 반영하기 위해 개선된 버전으로 교체 적용하는 작업입니다. 패치는 적용 범위와 서비스 중단 여부에 따라 아래와 같이 구분합니다.
일반 패치
단일 노드(Standalone) 서버
발생
단일 노드 환경에서는 Tibero 서비스를 종료한 후 바이너리를 교체하는 방식으로 진행하며, 교체 작업 중에는 DB 서비스 중단이 발생합니다.
Tibero 종료
Tibero 바이너리 교체
Tibero 기동
※ 각 단계 전후로 진행해야 할 태스크(추가되는 패치에 연관된 작업) 존재 시 해당 시점에 수행합니다.
TAC(Tibero Active Cluster) 환경에서는 롤링 패치(Rolling Patch) 방식을 적용하여 DB 서비스 중단 없이 패치를 완료할 수 있습니다. 이는 클러스터 내 노드를 한 대씩 순차적으로 분리 및 재참여 하는 방식으로, 서비스는 나머지 노드를 통해 지속되도록 하는 방식입니다.
단, 해당 패치에 TAC 롤링 패치 불가 항목이 포함되지 않아야 합니다. (패치셋 버전 기본 정책)
단, 노드 분리 시 나머지 노드가 감당할 수 있는 수준의 부하여야 합니다.
부하가 적은 시간대에 수행하는 것을 권장합니다.
기본 절차: 전체 서비스를 유지하기 위해 각 노드별로 다음 과정을 순차적으로 수행합니다.
Tibero 종료(클러스터 분리)
Tibero 바이너리 교체(패치 적용)
Tibero 기동(클러스터 재참여)
… 위 과정을 나머지 노드에 대해 반복 수행합니다.
※ 각 단계 전후로 수행해야 할 태스크가 있는 경우 다음 기준에 따라 수행합니다.
바이너리 교체 전 태스크: 첫 번째 노드 작업 시점에 수행
바이너리 교체 후 태스크: 마지막 노드 작업 완료 후 수행
클라이언트 라이브러리(JDBC, ODBC, tbexp/tbimp, tbloader 등) 패치는 DB 서비스 중단 없이 진행할 수 있습니다.
단, Tibero 서버와 클라이언트 간의 메시지 송수신 프로토콜이 상호 호환되어야 합니다. (패치셋 버전 기본 정책)
클라이언트 패치는 각 클라이언트 단위로 개별 적용이 가능하며, DB 서버의 기동 상태와 무관하게 수행할 수 있습니다.
Tibero를 설치한 후 발생할 수 있는 문제를 해결하는 방법을 설명합니다.
문제
tbSQL 유틸리티에 접속할 때 이러한 메시지가 나타나면 TB_HOME이 설정되지 않았거나 잘못 설정된 경우 또는 Tibero를 설치한 후 환경 설정 파일을 적용하지 않은 경우에 발생하는 문제입니다.
해결 방법
사용자 환경 설정 파일의 TB_HOME 환경 변수를 확인하고 변경한 뒤 시스템에 적용시킵니다.
문제
tbSQL 유틸리티에 접속할 때 이러한 메시지가 나타나면 LD_LIBRARY_PATH가 설정되지 않았거나 잘못 설정된 경우 또는 Tibero를 설치한 후 환경 설정 파일을 적용하지 않은 경우에 발생하는 문제입니다.
해결 방법
사용자 환경 설정 파일의 LD_LIBRARY_PATH를 확인하고 변경한 뒤 시스템에 적용시킵니다.
문제
TAC 롤링 패치
TAC(Active-Active) 클러스터
없음
클라이언트 패치
JDBC, ODBC, tbexp/tbimp, tbloader 등 클라이언트 라이브러리
없음
해결 방법
사용자 환경 설정 파일의 TB_SID를 확인하고 변경한 뒤 시스템에 적용시킵니다.
본 절에서는 TAC 환경에서 Tibero를 설치한 후 발생할 수 있는 문제와 해결 방법을 설명합니다.
노드를 추가할 때 설정 파일(.tip)을 찾지 못하여 발생하는 문제입니다.
TB_HOME, TB_SID를 참고하여 해당 경로에 기존 Tibero 인스턴스의 $TB_SID.tip이 위치해 있는지 확인합니다.
문제
노드를 자동으로 추가할 때 설정값을 읽기 위해 기존 노드에 접속하는 데 실패하여 발생하는 문제입니다.
해결 방법
TB_HOME과 TB_SID가 제대로 설정되어 있는지 확인합니다.
tbSQL로 기존 노드에 접속 가능한지 확인합니다.
기존 노드가 작동하고 있지 않은 경우 tbcm, tbboot 명령어로 기동한 후 노드 추가를 재시도합니다.
문제
새로운 노드에 Tibero 설치 파일을 전송하는 도중 실패하여 발생하는 문제입니다.
해결 방법
추가하려는 노드에 현재 노드에서 접근할 수 있는지 ping 또는 ssh 등으로 확인합니다.
원활하게 이루어지지 않을 경우 계정 동기화 설정과 네트워크 설정, 방화벽 설정 등을 확인합니다.
문제
Tibero 5.0 r61295 이후부터는 TPR 관련 테이블을 담는 TPR 전용 테이블스페이스(SYSSUB)가 추가되었습니다. 설치 또는 패치할 때 시스템 스키마를 구성하는 단계에서 자동으로 $TB_HOME/database/$TB_SID 아래에 파일(syssub001.dtf)을 만듭니다. 단, DB_CREATE_FILE_DEST가 명시되어 있는 경우에는 해당 위치에 만듭니다. 하지만 TAC Raw Device 사용 환경이라면 그 시스템 스키마를 수행하는 노드의 로컬 디스크에 해당 파일이 생성되어 다른 노드에서는 TPR 테이블스페이스에 접근하지 못하는 오류가 발생합니다. 공유 파일 시스템이면서 DB_CREATE_FILE_DEST가 적절한 경로로 지정되지 않은 환경에서도 마찬가지입니다.
해결 방법
아래와 같은 방법으로 SYSSUB 테이블스페이스를 재생성합니다.
테이블스페이스를 삭제합니다.
테이블스페이스를 생성합니다.
다음의 스크립트를 실행합니다.
문제
tbboot 명령어를 실행할 때 사용하려는 포트 번호가 이미 사용 중인 경우에 발생하는 문제입니다.
해결 방법
해당 인스턴스가 이미 실행 중인지 확인하거나 $TB_HOME/client/config 디렉터리에 있는 $TB_SID.tip 파일에 설정된 포트 번호를 수정합니다.
권고 사항
dbtimezone 값은 timestamp with local timezone 데이터 타입을 DB에 저장할 때 기준이 되는 timezone 값입니다. DB 내부에서 처리되는 값이므로 임의로 변경하면 불필요한 연산이 추가되어 성능에 좋지 않은 영향을 줄 수 있습니다. 따라서 임의 변경은 권고하지 않습니다.
TBR-2048 : Data source was not found.tbsql: error while loading shared libraries: libtbcli.so:
cannot open shared object file: No such file or directoryERROR: environment variable $TB_SID is not settbdown: environment variable TB_HOME or TB_SID is not set.Tip file open failure.: No such file or directorytbdown failed. proc info file is deleted.tip file does not exist / reading tip file failed / malformed tip fileextracting information from the existing cluster failedRemote file transfer failed! / Remote configuration export failed!SQL> DROP TABLESPACE SYSSUB INCLUDING CONTENTS AND DATAFILES;SQL> CREATE TABLESPACE SYSSUB DATAFILE '<SYSSUB 위치>/syssub001.dtf' ...;$TB_HOME/scripts/tpr.sql
$TB_HOME/scripts/pkg/_pkg_dbms_tpr.tbwListener port = 8629
bind() failed: Address already in use.
Error: Timedout while trying to open port 8629
Check if there are any Tibero instances running.
Tibero instance startup failed!Tibero를 간략히 소개하고 설치에 필요한 시스템 요구사항을 설명합니다.
현재 기업의 비즈니스는 폭발적인 데이터의 증가와 다양한 환경 및 플랫폼의 등장으로 빠르게 확장되고 있습니다. 새로운 비즈니스 환경이 도래함에 따라 더 효율적이고 유연한 데이터 서비스와 정보 처리, 데이터 관리 기능이 필요하게 되었습니다.
Tibero는 이러한 변화에 맞춰 기업 비즈니스 구현의 기반이 되는 데이터베이스 인프라 구성을 지원하며 고성능, 고가용성 및 확장성 문제를 해결하는 엔터프라이즈 데이터베이스 관리 시스템입니다.
기존 DB의 단점을 보완하기 위해 Tibero는 독자적인 Tibero Thread Architecture를 채택, 구현하였습니다. 한정된 서버 프로세스의 CPU 및 메모리 등의 시스템 리소스를 효율적으로 사용하면서 뛰어난 성능과 안정성 및 확장성을 보장하고 편리한 개발 환경과 관리 기능을 제공합니다.
Tibero는 초기 설계부터 대규모 사용자, 대용량 데이터, 강화된 안정성, 향상된 호환성 측면 등에서 타 DBMS와 차별화를 고려하여 개발되었습니다.
Tibero는 대용량의 데이터를 관리하고 안정적으로 비즈니스의 연속성을 보장하는 데이터 관리 솔루션입니다. Tibero는 이를 위해 RDBMS 환경에서 요구되는 주요 기능인 분산 데이터베이스 링크(Distributed Database Link), 데이터 이중화(Data Replication), 데이터베이스 클러스터(Data Cluster), 병렬 질의 처리(Parallel Query Processing) 등의 기능을 갖추고 있습니다. Tibero는 이처럼 기업이 원하는 최적의 데이터베이스 환경을 제공하는 대표적인 DB입니다.
Tibero의 패키지 구성은 다음과 같습니다.
Tibero 제품 CD 1매
Tibero 제품 라이선스 및 보증
Tibero 안내서
Tibero 릴리즈 노트
Tibero 소개
Tibero 설치 안내서
본 절에서는 지원 플랫폼과 운영체제, 하드웨어, 소프트웨어 요구 사항에 대해 설명합니다.
Tibero의 지원 플랫폼 및 운영체제는 다음과 같습니다.
Tibero를 설치하기 위해 필요한 하드웨어 요구 사항은 다음과 같습니다.
Solaris 플랫폼에서 Swap Space를 설정할 경우 아래 사항을 참고합니다.
권장 설정: 물리 메모리의 두 배
사용자 설정
Tibero를 설치하기 위해 필요한 소프트웨어 요구 사항은 다음과 같습니다.
AIX 7.1에서 컴파일된 바이너리의 경우 AIX 7.1 Technology Level 4 이상의 사양에서 정상적으로 설치 및 운영이 가능합니다.
Tibero 애플리케이션 개발자 안내서
Tibero External Procedure 안내서
Tibero Hadoop Connector 안내서
Tibero JDBC 개발자 안내서
Tibero tbCLI 안내서
Tibero tbESQL/C 안내서
Tibero tbESQL/COBOL 안내서
Tibero tbPSM 안내서
Tibero tbPSM 참조 안내서
Tibero TEXT 참조 안내서
Tibero Spatial 참조 안내서
Tibero Active Storage 관리자 안내서
Tibero TDP.NET 안내서
Tibero IMCS 안내서
Tibero 유틸리티 안내서
Tibero 에러 참조 안내서
Tibero 참조 안내서
Tibero SQL 참조 안내서
SUN
SPARC
Solaris 11
64bit
LINUX/x86
2GB
4GB
500MB
(백그라운드 프로세스 개수 + 워커 프로세스 개수) * 프로세스당 Swap 사용량(300MB)LINUX/x86
Red Hat Enterprise Linux 7 kernel 3.10.0 이상
C99 지원 컴파일러, gcc version 4.8.5 이상
JDK 1.8 이상
$ oslevel -r
7100-04IBM
PPC
AIX 7.1
AIX 7.2
AIX 7.3
64bit
GNU
X86
Red Hat Enterprise Linux 7
Red Hat Enterprise Linux 8.1 Red Hat Enterprise Linux 8.2 Red Hat Enterprise Linux 8.3 Red Hat Enterprise Linux 8.4
Red Hat Enterprise Linux 8.5
Red Hat Enterprise Linux 8.6 Red Hat Enterprise Linux 8.7 Red Hat Enterprise Linux 8.8
Red Hat Enterprise Linux 8.9
Red Hat Enterprise Linux 8.10
Red Hat Enterprise Linux 9.3
Red Hat Enterprise Linux 9.4 Red Hat Enterprise Linux 9.5 Red Hat Enterprise Linux 9.6
Red Hat Enterprise Linux 10.0
Oracle Linux 8.6
Oracle Linux 8.7
Oracle Linux 8.8
Oracle Linux 8.9
Oracle Linux 8.10
Oracle Linux 9.3
Oracle Linux 9.4
Oracle Linux 9.5
Oracle Linux 9.6
Oracle Linux 10.0
Rocky Linux 8.6
Rocky Linux 8.8
Rocky Linux 8.9
Rocky Linux 8.10
Rocky Linux 9.3
Rocky Linux 9.4
Rocky Linux 9.5
Rocky Linux 9.6
Rocky Linux 9.7
Rocky Linux 10.0
ProLinux 7.5
ProLinux 8.5
CentOS 7 Ubuntu 22.04 SUSE Linux Enterprise Server 15 SP6
64bit
Microsoft
Intel (x86), AMD64
Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025
64bit
2.5GB / 400MB
Solaris
2GB
4GB
500MB
2.5GB / 400MB
AIX
2GB
4GB
500MB
2.5GB / 400MB
Windows
2GB
-
-
2GB / 400MB
Solaris
Solaris 11 64bit 커널
C99 지원 컴파일러, Sun C 5.8 2005/10/13
JDK 1.8 이상
AIX
AIX 7.1 64bit 커널 AIX 7.2 64bit 커널 AIX 7.3 64bit 커널
C99 지원 컴파일러,
IBM XL C/C++ Enterprise Edition V7.0
JDK 1.8 이상
Windows
Windows Server 2016 (64bit Only) Windows Server 2019 (64bit Only) Windows Server 2022 (64bit Only)
C99 지원 컴파일러
JDK 1.8 이상
Tibero에서 지원하는 문자 집합(character set)을 설명합니다.
Tibero에서는 다음과 같은 문자 집합을 제공합니다.
다국어
참고로 Tibero 바이너리 설치 시, 아래와 같은 방법으로 설치 가능한 문자 집합을 확인할 수 있습니다.
UTF8
8-bit 국제 표준 다국어(기본값)
UTF16
16-bit 국제 표준 다국어
한국어
EUCKR
EUC 16-bit 한국어
MSWIN949
MS Windows 코드 페이지 949 한국어
영어
ASCII
ASCII 7-bit 영어
일본어
SJIS
SHIFT-JIS 16-bit 일본어
SJISTILDE
전각물결문자를 포함하는 SHIFT-JIS 16-bit 일본어
JA16SJIS
MS Windows 코드 페이지 932 일본어
JA16SJISTILDE
전각물결문자를 포함하는 MS Windows 코드 페이지 932 일본어
JA16EUC
EUC 24-bit 일본어
JA16EUCTILDE
전각물결문자를 포함하는 EUC 24-bit 일본어
중국어
GBK
MS Windows 코드 페이지 936 중국어
GB18030
Chinese National Standard GB18030-2000
중국어, 홍콩어, 대만어
ZHT16HKSCS
HKSCS2001 홍콩어
ZHT16BIG5
BIG5 코드 페이지 중국어
ZHT16MSWIN950
MS Windows 코드 페이지 950 중국어
EUCTW
EUC 32-bit Traditional Chinese
베트남어
VN8VN3
VN3 8-bit 베트남어
태국어
TH8TISASCII
Thai Industrial Standard 620-2533 - ASCII 8-bit
동유럽어
EE8ISO8859P2
ISO8859-2 동유럽어
MSWIN1250
MS Windows 코드 페이지 1250 8-bit 동유럽어, 중앙유럽어
서유럽어
WE8MSWIN1252
MS Windows 코드 페이지 1252 서유럽어
WE8ISO8859P1
ISO8859-1 서유럽어
WE8ISO8859P9
ISO8859-9 서유럽어, 터키어
WE8ISO8859P15
ISO8859-15 서유럽어
남유럽어
ISO8859P3
ISO8859-3 남유럽어
북유럽어
ISO8859P4
ISO8859-4 북유럽어, 북동유럽어
ISO8859P10
ISO8859-10 북유럽어
발트어
ISO8859P13
ISO8859-13 발트어
켈트어
ISO8859P14
ISO8859-14 켈트어
터키어
MSWIN1254
MS Windows 코드 페이지 1254 8-bit 터키어
러시아어, 불가리아어
CL8MSWIN1251
MS Windows 코드 페이지 1251 키릴문자
CL8KOI8R
KOI8-R 키릴문자
CL8ISO8859P5
ISO8859-5 키릴문자
RU8PC866
IBM-PC 코드 페이지 866 8-bit 키릴문자
그리스어
EL8ISO8859P7
ISO8859-7 그리스어
EL8MSWIN1253
MS Windows 코드 페이지 1253 8-bit 그리스어
아랍어
AR8ISO8859P6
ISO8859-6 아랍어
AR8MSWIN1256
MS Windows 코드 페이지 1256 8-bit 아랍어
히브리어
IW8ISO8859P8
ISO8859-8 히브리어
$ tibero -C
Available character set list
Charset name Equivalent Oracle Charset name
AR8ISO8859P6 AR8ISO8859P6
AR8MSWIN1256 AR8MSWIN1256
ASCII US7ASCII
CL8ISO8859P5 CL8ISO8859P5
CL8KOI8R CL8KOI8R
CL8MSWIN1251 CL8MSWIN1251
EE8ISO8859P2 EE8ISO8859P2
......중간 생략......
Available national character set list
Charset name Equivalent Oracle Charset name
UTF8 AL32UTF8
UTF16 AL16UTF16system_install.sh의 목적과 수행하는 경우 각 옵션에 대하여 설명합니다.
DB를 최초로 설치할 때 SQL 파일을 수행하기 위해 만들어졌습니다. 이 셸을 실행하면 현재 디렉터리에 있는 SQL 파일이 수행됩니다. SQL 파일을 수행하면 role, system user, view, package 등이 생성됩니다.
$ system_install.sh -h
Usage: system_install.sh [option] [arg]
-h : display usage
-p1 password : sys password
-p2 password : syscat password
--except-example-user : do not create example users & roles
--install-xmltype : Install XMLTYPE as object type다음은 각 옵션에 대한 설명입니다.
-h
도움말 화면을 출력
-p1 password
sys 계정의 패스워드를 입력 (기본값: tibero)
-p2 password
syscat 계정의 패스워드를 입력(기본값: syscat)
--except-example-user
Example users의 생성 여부를 설정(기본값: N)
Y: Example users를 생성하지 않음
N: Example users를 생성
--install-xmltype
XMLTYPE의 내부 저장 타입을 지정 (기본값: N)
Y: object type으로 생성
N: clob type으로 생성
sample user 스키마와 설치 방법에 대해 설명합니다.
티베로 설치 후 테스트 편의를 위해 두 개의 스키마 더미 데이터를 제공합니다.
LIBRARY(LB)
Fitness(FC)
다음은 각 스키마에 대한 ERD입니다.
다음은 스키마 설치 방법입니다.
-- tbsql 접속
tbsql sys/tibero
-- 테이블 스페이스 생성
CREATE TABLESPACE MY_LIBRARY DATAFILE '/usr/tibero/dtf/my_library.dtf' SIZE 50M;
CREATE TABLESPACE MY_FITNESS DATAFILE '/usr/tibero/dtf/my_fitness.dtf' SIZE 50M;
-- LB 스키마 설치
SQL> @$TB_HOME/scripts/sample_user/LB/lb_install.sql
Spooling is started.
Enter a password for the user LIBRARY: tibero
Enter a tablespace for LIBRARY: my_library
Spooling is stopped: lb_install.log
-- FC 스키마 설치
SQL> @$TB_HOME/scripts/sample_user/FC/fc_install.sql
Spooling is started.
Enter a password for the user FITNESS: tibero
Enter a tablespace for FITNESS: my_fitness
Spooling is stopped: fc_install.log설치 시 LIBRARY에는 2550개, FITNESS에는 63개의 더미 데이터가 같이 설치됩니다.
다음은 삭제 방법입니다.


-- tbsql 접속
tbsql sys/tibero
@$TB_HOME/scripts/sample_user/LB/lb_uninstall.sql
@$TB_HOME/scripts/sample_user/FC/fc_uninstall.sqlTAC(Tibero Active Cluster) 환경을 구축하기 위한 Tibero의 설치 방법을 설명합니다.
TAC를 구축하기 전에 다음의 사항을 확인합니다.
시스템 요구 사항
TAC 설치를 위한 시스템 요구 사항의 내용은 “시스템 요구 사항”을 참고합니다.
설치 전 준비 사항
TAC를 구성하기 전 “설치 전 준비 사항”을 참고하여 기본적인 사항을 점검합니다.
인터커넥트 구성
IP 주소 및 포트 정보 확인
소켓 버퍼 설정
공유 디스크 타입 확인
인터커넥트(Interconnect)란 TAC 노드 간의 통신에 필요한 별도의 네트워크입니다.
인터커넥트를 구성할 때 노드 간 직접 연결보다는 별도의 인터커넥트 스위치(Switch)를 사용하는 것을 권고합니다. 노드 간 직접 연결 시 인터커넥트가 단일 장애점(Single point of failure)이 될 수 있고 3개 노드 이상 구성에 어려움이 있기 때문입니다. 별도의 인터커넥트 스위치 사용 시 노드 간 직접 연결보다 서비스 안정성 및 확장성 등의 측면에서 장점이 있습니다.
설치를 시작하기 전에 IP 주소와 포트 번호를 확인합니다. 기존 Tibero 단일 인스턴스에서 필요로 하는 IP 주소(외부 IP 주소)와 Listener 포트 번호 외에 추가로 Interconnect IP 주소와 포트 번호, CM 포트 번호가 필요합니다. VIP, IP 필터링 기능을 사용하는 경우 동일 서브넷에 IP가 부여되어 있는지 확인이 필요합니다.
IP 주소
포트 번호
운영체제의 소켓 버퍼 값을 설정합니다.
AIX
Linux
Solaris
TAC는 모든 인스턴스가 함께 사용할 수 있는 공유 디스크 공간을 필요로 합니다.
TAC의 실행과 운영을 위해서는 최소 7개의 공유 파일이 필요합니다. 파일의 위치는 설치할 때 사용자에게 입력받는 {SHARED_DISK_HOME}을 기준으로 생성되며 노드마다 필요로 하는 파일은 {TAC_INSTANCE_ID}를 붙여서 생성합니다. 예를 들어 {SHARED_DISK_HOME}이 dev/tac이고 {TAC_INSTANCE_ID}가 0일 경우 Undo 로그 파일의 경로는 'dev/tac/UNDO0.dtf'입니다.
다음은 처음 노드를 설치할 때 필요한 공유 파일의 목록과 파일 생성 경로입니다.
처음 노드 설치 이후 추가적으로 노드를 설치하기 위해 각 노드당 4개의 공유 파일이 요구됩니다. 각 파일의 경로는 위의 표를 참고합니다.
Redo 로그 파일 3개
Undo 로그 파일
수동으로 TAC 환경을 구축하고 Tibero를 설치하는 방법은 ""의 "14장 Tibero Cluster Manager"와 ""를 참조합니다.
설치 후 정상 작동 여부는 tbcm 명령어를 이용하여 확인할 수 있습니다.
실행 후 나타나는 화면을 통해 CM의 설정 상태를 확인할 수 있습니다.
TAC 환경에서 한 노드를 제거하기 위한 방법에는 콘솔 모드와 수동 모드가 있습니다.
콘솔 모드로 하나의 노드를 제거하는 순서는 다음과 같습니다.
Tibero 인스턴스를 종료합니다.
TBCM을 종료합니다.
Tibero가 설치된 디렉터리를 포함한 모든 하위 디렉터리를 해당 운영체제의 명령어로 삭제합니다.
수동으로 하나의 노드를 제거하는 순서는 다음과 같습니다.
Tibero 인스턴스를 종료합니다.
TBCM을 종료합니다.
Tibero 인스턴스가 설치된 디렉터리를 포함한 모든 하위 디렉터리를 삭제합니다.
Undo 로그 파일
{SHARED_DISK_HOME}/UNDO{TAC_INSTANCE_ID}.dtf
사용자 테이블 스페이스 파일
{SHARED_DISK_HOME}/usr001.dtf
시스템 테이블 스페이스 파일
{SHARED_DISK_HOME}/system001.dtf
임시 테이블 스페이스 파일
{SHARED_DISK_HOME}/temp001.dtf
외부 IP 주소
외부 통신을 위해 부여될 IP 주소를 확인
Interconnect IP 주소
각 노드 간 통신을 위해 부여될 내부 IP 주소를 확인
Listener 포트 번호
각 노드의 Tibero 인스턴스를 기동할 때 부여될 포트 번호를 확인
CM 포트 번호
각 노드의 통신을 위한 CM에 부여될 포트 번호를 확인
Interconnect 포트 번호
SB_MAX
4194304
TCP_RECVSPACE
4194304
TCP_SENDSPACE
net.core.rmem_max
67108864, OS 기존 설정값, TCP_RCVBUF_SIZE, _INC_TCP_RCVBUF_SIZE 중 최댓값
net.core.wmem_max
67108864, OS 기존 설정값, TCP_SNDBUF_SIZE, _INC_TCP_SNDBUF_SIZE 중 최댓값
max_buf
4194304
recv_buf
4194304
send_buf
컨트롤 파일
{SHARED_DISK_HOME}/c1.ctl(변경 가능)
CM용 클러스터 파일
{SHARED_DISK_HOME}/cfile/cls1_cfile(변경 가능)
Redo 로그 파일
각 노드의 Tibero 인스턴스 간에 통신할 포트 번호를 확인
1048576
1048576
{SHARED_DISK_HOME}/log{TAC_INSTANCE_ID}1.log
{SHARED_DISK_HOME}/log{TAC_INSTANCE_ID}2.log
{SHARED_DISK_HOME}/log{TAC_INSTANCE_ID}3.log
tbcm -sCM information
===============================================================
CM NAME : cm0
CM UI PORT : 8635
RESOURCE FILE PATH : /home/tibero7/cm0_res.crf
CM MODE : GUARD ON, FENCE OFF
LOG LEVEL : 2
===============================================================
tbdowntbcm -d$ rm -rf $TB_HOMEtbdowntbcm -drm -rf $TB_HOME멀티 인스턴스를 설치하고 제거하는 과정에 대해서 설명합니다.
Windows 계열과 UNIX (Linux) 계열에서 하나의 Tibero 바이너리 실행 파일과 라이선스 파일을 공유하면서 TB_SID와 환경 파일(.tip)을 따로 설정하여 두 개 이상의 서로 다른 데이터베이스 인스턴스를 동시에 설치할 수 있습니다.
Windows 환경에서 수동으로 Tibero 인스턴스를 두 개 이상 설치하는 순서는 다음과 같습니다.
먼저 “Windows 환경”을 참조하여 Tibero 인스턴스를 하나 설치합니다.
본 예제에서는 먼저 설치된 인스턴스의 환경 변수가 아래와 같다고 가정하고 설명을 진행합니다.
추가로 설치할 인스턴스를 위한 TB_SID 환경 변수를 설정합니다. 반드시 이전에 설치된 인스턴스의 TB_SID와 값이 달라야 합니다.
%TB_HOME%\bin 디렉터리에서 다음의 명령어를 입력합니다. 이때 서비스명은 생략할 수 있습니다.
이 명령이 실행되면 Tibero가 Windows 서비스에 등록됩니다. 등록된 Windows 서비스는 [시작] > [설정] > [제어판] > [관리 도구] > [서비스]에서 확인할 수 있습니다. 명령 프롬프트 창을 마우스 오른쪽 버튼으로 클릭한 후 [관리자 권한으로 실행]을 선택합니다.
%TB_HOME%\config 디렉터리에서 다음의 명령어를 입력합니다.
이 명령이 실행되면 환경 파일(.tip)과 tbdsn.tbr, psm_commands.bat 파일이 생성됩니다.
%TB_HOME%\config 디렉터리에 만들어진 환경 파일(.tip)을 열어서 LISTENER_PORT 값을 이전에 설치된 인스턴스의 LISTENER_PORT 값과 다르게 설정합니다.
이후 과정은 “Windows 환경”의 6번 이후의 절차와 동일합니다. 단, 8번 절차에서 CREATE DATABASE 문을 이용하여 원하는 데이터베이스를 생성할 때 로그 파일이나 데이터 파일의 경로를 새로운 인스턴스의 TB_SID와 맞게 수정해야 합니다.
UNIX 환경에서 수동으로 Tibero를 설치하는 순서는 기본적으로 싱글 인스턴스 설치와 동일하며, 순서는 다음과 같습니다.
먼저 “”을 참조하여 Tibero 인스턴스를 설치합니다.
본 예제에서는 먼저 설치된 인스턴스의 환경 변수가 아래와 같다고 가정하고 설명을 진행합니다.
추가로 설치할 인스턴스를 위한 TB_SID 환경 변수를 설정합니다. 반드시 이전에 설치된 인스턴스의 TB_SID와 값이 달라야 합니다.
$TB_HOME/config 디렉터리에서 다음의 명령어를 입력합니다.
이 명령이 실행되면 환경 파일(.tip)과 tbdsn.tbr, psm_commands 파일이 생성됩니다.
$TB_HOME/config 디렉터리에 만들어진 환경 파일(.tip)을 열어서 LISTENER_PORT 값을 이전에 설치된 인스턴스의 LISTENER_PORT 값과 다르게 설정합니다.
이후 과정은 “UNIX 환경”의 5번 이후 절차와 동일합니다. 단, 7번 절차에서 CREATE DATABASE 문을 이용하여 원하는 데이터베이스를 생성할 때 로그 파일이나 데이터 파일의 경로를 새로운 인스턴스의 TB_SID와 맞게 수정해야 합니다.
설치된 멀티 인스턴스를 제거하는 순서를 설명합니다.
Windows 환경에서 수동으로 Tibero 멀티 인스턴스를 제거하는 순서는 기본적으로 싱글 인스턴스 제거 절차와 동일합니다.
본 예제에서는 설치된 멀티 인스턴스의 환경 변수가 아래와 같다고 가정하고 설명을 진행합니다.
먼저 Tibero 인스턴스를 종료합니다. 제거할 인스턴스의 환경 변수를 설정한 후 인스턴스를 종료합니다.
%TB_HOME%\bin 디렉터리에서 다음의 명령어를 입력합니다.
이 명령이 실행되면 Windows 서비스에 등록된 Tibero가 제거됩니다. 명령 프롬프트 창을 마우스 오른쪽 버튼으로 클릭한 후 [관리자 권한으로 실행]을 선택합니다.
추가로 제거할 인스턴스의 TB_SID 환경 변수를 설정한 후 인스턴스 종료 및 서비스 제거 절차를 동일하게 수행합니다.
Tibero가 설치된 디렉터리를 포함한 모든 하위 디렉터리를 해당 운영체제의 명령어로 삭제합니다.
UNIX 환경에서 수동으로 Tibero를 제거하는 순서는 기본적으로 싱글 인스턴스 제거와 동일하며, 순서는 다음과 같습니다.
본 예제에서는 먼저 설치된 인스턴스의 환경 변수가 아래와 같다고 가정하고 설명을 진행합니다.
먼저 Tibero 인스턴스를 종료합니다. 제거할 인스턴스의 환경 변수를 설정한 후 인스턴스를 종료합니다.
추가로 제거할 인스턴스의 TB_SID 환경 변수를 설정한 후 인스턴스를 종료합니다.
Tibero가 설치된 디렉터리를 포함한 모든 하위 디렉터리를 해당 운영체제의 명령어로 삭제합니다.
TB_HOME
C:\Tibero\tibero7
TB_SID
tibero1
PATH
%TB_HOME%\bin;%TB_HOME%\client\bin
set TB_SID=tibero2tbinstall %TB_HOME% %TB_SID% [-s 서비스명]C:\Tibero\tibero7\bin>tbinstall %TB_HOME% %TB_SID%
Microsoft (R) Windows Script Host 버전 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
TB_HOME = C:\Tibero\tibero7
TB_SID = tibero2
service account = LocalSystem
Tibero_tibero2 installed successfully.gen_tip.batC:\Tibero\tibero7\config> gen_tip.bat
Using TB_SID [tibero2]
C:\Tibero\tibero7\config\tibero2.tip generated
C:\Tibero\tibero7\client\config\tbdsn.tbr generated.
C:\Tibero\tibero7\config\psm_commands.bat generated......중간 생략......
DB_NAME=tibero2
LISTENER_PORT=9629
......중간 생략......TB_HOME
/home/tibero/Tibero/tibero7
TB_SID
tibero1
LD_LIBRARY_PATH
export TB_SID=tibero2gen_tip.shtibero@Tibero:~/Tibero/tibero7/config$ gen_tip.sh
Using TB_SID "tibero2"
/home/tibero/Tibero/tibero7/config/tibero2.tip generated
/home/tibero/Tibero/tibero7/config/psm_commands generated
/home/tibero/Tibero/tibero7/client/config/tbdsn.tbr generated.
Running client/config/gen_esql_cfg.sh
Done.tibero@Tibero:~/Tibero/tibero7/config$ cat tibero2.tip
......중간 생략......
DB_NAME=tibero2
LISTENER_PORT=9629
......중간 생략......TB_HOME
C:\Tibero\tibero7
TB_SID
tibero1 tibero2
PATH
set TB_SID=tibero1
tbdowntbuninstall %TB_SID%C:\Tibero\tibero7\bin>tbuninstall %TB_SID%
Microsoft (R) Windows Script Host 버전 5.812 Copyright (C) Microsoft Corporation. All rights reserved.
TB_HOME = C:\Tibero\tibero7
TB_SID = tibero1
service name = Tibero_tibero1
Tibero_tibero1 uninstalled successfully.set TB_SID=tibero2
tbdownC:\Tibero\tibero7\bin>tbuninstall %TB_SID%
Microsoft (R) Windows Script Host 버전 5.812 Copyright (C) Microsoft Corporation. All rights reserved.
TB_HOME = C:\Tibero\tibero7
TB_SID = tibero2
service name = Tibero_tibero2
Tibero_tibero2 uninstalled successfully.rmdir %TB_HOME%TB_HOME
/home/tibero/Tibero/tibero7
TB_SID
tibero1 tibero2
LD_LIBRARY_PATH
export TB_SID=tibero1
tbdownexport TB_SID=tibero2
tbdownrm -rf $TB_HOME$TB_HOME/lib:$TB_HOME/client/lib
PATH
$PATH:$TB_HOME/bin:$TB_HOME/client/bin
%TB_HOME%\bin;%TB_HOME%\client\bin
$TB_HOME/lib:$TB_HOME/client/lib
PATH
$PATH:$TB_HOME/bin:$TB_HOME/client/bin