Tibero/설치

Tibero6 설치

havy 2022. 12. 22. 16:17

 

Tibero6 유닉스 환경에서 설치하는 방법에 대해 포스팅해보려고 한다.

미리 이야기해둘것은 부서마다 설치하는 방법이 모두 다르다. 이 점 참고하여주시길,,,

 

 

1-1) 설치 환경

VM : VMware Workstation 16 Player

OS : CentOS 7.9

 

1-2) 설치 이전 필요한 패키지 (아래 버전 이상 필요)

└ 설치 확인 : yum list installed ( yum list installed | grep __ )

└ 설치 명령어 : yum install -y <패키지명>

- 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

 

+ 디스크 용량 확인, JDK 설치도 필요하다.

 

 

2. Tibero 다운로드

 

2-1) Tibero 설치 파일 다운로드

TmaxSoft Technet : https://technet.tmaxsoft.com/ko/front/main/main.do

 

해당 버튼을 클릭하여 라이센스를 발급받도록 하자.

설치파일, 바이너리파일, 라이센스 3가지를 다운받았다면 설치 준비는 끝났다.

 

 

3. OS 커널 파라미터, Shell Limits 설정 --> root 계정으로 진행

Linux 환경에서 필요한 파라미터 값들을 설정하는 작업 -> 다 하고 sysctl -p를 꼭 해주어야한다.

 

vi /etc/sysctl.conf

 

 

 

kernel.sem = 10000 32000 10000 10000 (SEMMSL SEMMNS SEMMNI SEMOPM)

커널 세마포어 파라미터

- SEMMSL : 배열 당 최대 세마포어 수

- SEMMNS : 시스템 전체 최대 세마포어 수

- SEMMNI : 최대 배열 수

- SEMOPM : 세마포어 호출 당 최대 operation 수

 

kernel.shmall = shmmax/PAGE_SIZE

- shmall : 시스템에서 사용 가능한 공유 메모리의 최대 크기 (사용 가능한 세그먼트의 총합 크기)

- 최소 ceil(shmmax / PAGE_SIZE)의 크기보다는 커야 한다. (page 단위)

 

kernel.shmmax = 물리적인 메모리의 절반

- shmmax : 공유 메모리 세그먼트의 최대 크기

- 4096MB / 2 (shmmni) 를 byte 단위로 환산한 값

 물리적 메모리

 

ㄴ 위 2개는 free -b를 하여 메모리를 알아내어 직접 계산해주어야한다.

 

 

kernel.shmmni = 4096 (물리적인 메모리)

- shmmni : 공유 메모리 세그먼트의 최대 숫자 (default : 4096) -- 변경할 필요 x

- dmidecode | grep 'Size.*MB' 명령어로 확인 가능

 

fs.file-max = 6815744

- 커널에서 사용 가능한 파일의 최대 개수

 

net.ipv4.ip_local_port_range = 1024 65000

- 어떤 시스템에 동시에 가질 수 있는 클라이언트 소켓 수의 범위

 

 

 

 

 

 

vi /etc/security/limits.conf

 

 

 

tibero soft nproc  16384
tibero hard nproc  16384
tibero soft nofile  65536
tibero hard nofile  65536

 
 

프로세스의 자원 한계를 설정하기 위해 사용자 리소스를 설정하는 작업

- Soft : 새로운 프로그램 생성시 default로 적용되는 값

- Hard : Soft 제한 값에서 최대 늘릴 수 있는 값

--> OS 유저가 soft ~ hard 까지 늘릴 수 있다.

 

- nproc : User당 사용할 수 있는 최대 프로세스 개수

- nofile : User당 오픈할 수 있는 파일 개수

(내가 속한 부서의 경우 그냥 다 최댓값으로 맞춰주었다)

 

 

 

 

vi /etc/systemd/logind.conf

 

RemoveIPC No 설정

이후 systemctl restart systemd-logind로 적용

 

 

4. Tibero 설치를 위한 사용자 계정 설정

 

4-1) 사용자 계정 생성

(1) groupadd dba

(2) useradd -g dba -d /tibero tibero(사용자 이름) , chown -R tibero:dba tibero

(3) su - tibero 로 사용자 변경

 

 

vi .bash_profile로 환경 변수를 설정해준다.

(참고

.bashrc : 이미 로그인한 상태에서 새 터미널 창을 오픈할 때마다 실행

.bash_profile : 시스템에 로그인할 때마다 실행

.profile : 로그인할 때 로드됨)

 

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

 

# User specific environment and startup programs

 

PATH=$PATH:$HOME/bin

 

export PATH

 

 

set -o vi

stty erase ^?H

 

######## Profile ENV Config ###############

export PS1=`uname -n`'@$LOGNAME:$PWD $ '

export TERM=vt100

umask 022

export EDITOR=vi

 

 

### Tibero RDBMS 6 ENV ###

export TB_HOME=/home/tibero/tibero6 #dbms 엔진 경로

export TB_SID=tibero #DBMS 서비스 ID

export TB_PROF_DIR=$TB_HOME/bin/prof

export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin:$JAVA_HOME:$PATH

export LD_LIBRARY_PATH=$TB_HOME/lib:$TB_HOME/client/lib:$LD_LIBRARY_PATH

 

 

######## TIBERO alias ######## #단축키

alias tbhome='cd $TB_HOME'

alias tbbin='cd $TB_HOME/bin'

alias tblog='cd /tblog'

alias tbcfg='cd $TB_HOME/config'

alias tbcfgv='vi $TB_HOME/config/$TB_SID.tip'

alias tbcli='cd ${TB_HOME}/client/config'

alias tbcliv='vi ${TB_HOME}/client/config/tbdsn.tbr'

 

alias tbi='cd ~/tbinary'

alias tm='cd ~/tbinary/monitor;monitor;cd -'

 

### JAVA ENV ###

export JAVA_HOME=/usr/local/jdk1.8.0_201

export JDK_HOME=$JAVA_HOME

export PATH=$JAVA_HOME/bin:/usr/local/bin:$PATH

 

######## 2011.01.26 don't make core file ########

ulimit -c 0

 

export LANG=C

#export LANG=ko_KR.euckr

export LC_ALL=C

 

이후 . .bash_profile로 적용

(만약 .bash_profile이라는 파일이 존재하지 않으면 그냥 새로 만들어줘서 작성 후

. .bash_profile하면 된다.)

 

5. 설치, 라이선스 파일 옮기기

필자는 mobaxterm을 사용하였기때문에 다음과 같이 GUI 환경에서 편하게 옮길 수 있었다.

 

 

 

 

license 파일, tibero 설치 파일, (tbinary 파일)을 /tibero 디렉토리에 복사

 

절차)

$ tar -xzvf tibero6-bin-FS07_CS_2005-linux64_3.10-256308-20221201132413-tested.tar.gz

$ tar -xvf tbinary_v1.4.19.tar

$ mv license.xml ./tibero6/license/

        -x     : tar 아카이브에서 파일 추출. (파일 풀 때 사용)
        -v     : 처리되는 과정(파일 정보)을 자세하게 나열.
        -z     : gzip 압축 적용 옵션.
        -f     : 대상 tar 아카이브 지정. (기본 옵션)

 

 

6. gen_tip.sh 실행

명령어 : cd $TB_HOME/config --> sh gen_tip.sh

 

 

get_tip.sh 파일을 실행하면 환경 파일(.tip) tbdsn.tbr, psm_commands 파일이 생성됨

 

 

8. $TB_SID.tip 수정

(하단의 내용은 고객사의 요청서에 따라 얼마든지 달라질 수 있다. 각 페러미터에 대한 설명은 알아서 찾아보자,,,필자는 따로 참조 가이드를 보고 문서로 정리해두었다.)

 

##########################################

### Database Identification

###########################################

DB_NAME=hwtcdb #DBMS Name

LISTENER_PORT=8629 #서비스포트#

 

##########################################

### File Configuration

############################################

CONTROL_FILES="/tbdata/hwtcdb/control/control01.ctl","/tbdata/hwtcdb/control/control02.ctl" #(control file 디렉토리 경로/control file name))

DB_CREATE_FILE_DEST="/tbdata/hwtcdb" #control file 디렉토리 경로 #### default : $TB_HOME/database/DB_NAME

 

##########################################

### Memory & Session

###########################################

TOTAL_SHM_SIZE=12G #MEMORY_TARGET의 절반

MEMORY_TARGET=20G #DBMS 가용 메모리 용량

LOG_BUFFER=50M

MAX_SESSION_COUNT=20 #담당자에게 물어봐야함...

 

###########################################

### Undo and Rollback Segments

############################################

UNDO_RETENTION=900

 

##########################################

### Archive Log Mode

############################################

LOG_ARCHIVE_FORMAT="log-t%t-r%r-s%s.arc"

LOG_ARCHIVE_DEST="/tbarch" #아카이브 경로

 

##########################################

### Log Dest

############################################

AUDIT_FILE_DEST="/tblog/audit"

CALLSTACK_DUMP_DEST="/tblog/dump"

DBMS_LOG_DEST="/tblog/dlog"

LSNR_LOG_DEST="/tblog/lsnr"

SLOG_DEST="/tblog/slog"

ILOG_DEST="/tblog/ilog"

SQL_TRACE_DEST="/tblog/sqltrace"

TRACE_DUMP_DEST="/tblog/dump/tracedump"

_ACF_DIAG_TRACE_DEST="/tblog/dump/diag"

ACT_LOG_DEST="/tblog/dump/act"

MEM_LOG_DEST="/tblog/dump/memlog"

 

##########################################

### Log Size

############################################

AUDIT_LOG_TOTAL_SIZE_LIMIT=1G

ILOG_TOTAL_SIZE_LIMIT=10G

SLOG_TOTAL_SIZE_LIMIT=3G

LSNR_LOG_TOTAL_SIZE_LIMIT=1G

DBMS_LOG_TOTAL_SIZE_LIMIT=1G

 

###########################################

### TPR Report

############################################

TIBERO_PERFORMANCE_REPOSITORY=Y

TPR_SNAPSHOT_SAMPLING_INTERVAL=60

TPR_SNAPSHOT_RETENTION=14

TPR_SNAPSHOT_TOP_SQL_CNT=10

 

###########################################

## Miscellaneous

############################################

USE_RECYCLEBIN=Y

_USE_PARALLEL_DPI=N

_USE_DYNAMIC_SAMPLING=N

_OPT_BIND_PEEKING=N

_ADAPTIVE_CURSOR_SHARING=N

NLS_DATE_FORMAT="YYYY/MM/DD HH24:MI:SS"

 

 

8. Tibero6 boot

명령어 : tbboot nomount

 

Warning: The initialization parameter 'MEMORY_TARGET' value is ...

└ 다음과 같은 오류가 발생할 시 해결 방법

 

vi $TB_HOME/config/$TB_SID.tip으로 TOTAL_SHM_SIZE와 MEMORY_TARGET 조정해주면 된다.

TOTAL_SHM_SIZE : 데이터베이스가 인스턴스 내에서 사용할 전체 공유 메모리 크기

MEMORY_TARGET : 데이터베이스가 사용할 수 있는 총 메모리 크기

 

9. /tibero/tbinary/sql/cre_db.sql 를 열어서 create database 구문 가져옴

(마찬가지로 얼마든지 달라질 수 있는 내용이다. 각 줄이 뭘 의미하는지는 따로 공부하도록 하자. 또한 해당 구문은

sql디렉토리안에 따로 vi편집기를 이용해 텍스트 파일을 만들어줘서 어떻게 데이터베이스를 만들었는지 증빙자료로

남겨두도록 하자.)

 

 

create database

user sys identified by tibero

character set UTF8

logfile

group 0 ('redo001.log','redo002.log') size 100M,

group 1 ('redo011.log','redo012.log') size 100M,

group 2 ('redo021.log','redo022.log') size 100M,

group 3 ('redo031.log','redo032.log') size 100M,

group 4 ('redo041.log','redo042.log') size 100M

maxdatafiles 1024

maxlogfiles 100

maxlogmembers 8

archivelog

datafile '/tbdata/system/system001.dtf' size 100M autoextend off

default tablespace USR

datafile '/tbdata/system/usr001.dtf' size 128M autoextend off

default temporary tablespace TEMP

tempfile 'temp001.dtf' size 10G autoextend off

undo tablespace UNDO

datafile 'undo001.dtf' size 10G autoextend off;

 

10. vi tbdsn.tbr

PORT = 서비스포트, DB_NAME = DBMS NAME

수정하도록 하자

 

11. tbsql sys/tibero

명령어를 입력해 아까 작성한 CREATE DATABASE 문구를 입력하여 실행하도록 하자.

 

12. tbboot로 티베로를 재기동을 하도록 하자

 

13. scripts 안에 있는

tpr_create_obj.sql를 control file 디렉토리 경로를 추가(/tpr_ts.dtf), size의 autoextended off하여 수정(tdf를 dtf로 수정)

tpr_create_ts_sql="create tablespace syssub datafile '/tbdata/system/tpr_ts.dtf' size 10m reuse autoextend off"

tpr_create_obj.sh를 control file 디렉토리 경로를 추가(/tpr_ts.dtf), size의 autoextended off하여 수정

create tablespace syssub datafile '/tbdata/system/tpr_ts.dtf' size 10m reuse autoextend off

 

14. scripts 디렉토리에서 system.sh 실행 (system.sh -p1 tibero -p2 syscat -a1 y -a2 y -a3 y -a4 y)

p1 : sys 계정 암호

- p2 : syscat 계정 암호

- a1 : 시스템 유저 생성 및 권한 부여 여부

- a2 : 데이터베이스 사용자의 패스워드 관리 정책을 지정할 수 있는 프로파일을 위한 테이블 생성 여부

- a3 : 데이터베이스 객체의 통계 정보 수집을 위한 job 스케줄링 등록 여부

- a4 : 통계 정보를 주기적으로 자동 수집하기 위한 TPR 관련 테이블의 생성 여부

 

 

위 명령어를 쓰는 이유는 미리 패스워드를 입력하고 yes/no 구문에 모두 y를 대답해 번거로움을 줄이기 위함

 

 

15. Tibero 설치가 정상적으로 완료되면 Tibero 프로세스가 실행됨

- 이 프로세스는 ps -ef | grep tbsvr 명령어로 확인할 수 있다.

 

 

 

 

16. 쿼리 작동 확인

$ tbsql sys/tibero

SQL> select 1 from dual;

--> 간단한 SQL을 입력하여 결과가 잘 출력되는지 확인

 

 

 

 

 

 

출력이 잘 된다면 OS에 티베로가 성공적으로 설치된 것이다.

 

'Tibero > 설치' 카테고리의 다른 글

Create Database문 정리 (Single)  (0) 2023.01.19
Tibero TAC 설치  (1) 2023.01.19
TB_HOME내 디렉토리 의미 정리  (0) 2022.12.22
sysctl.conf, limits.conf 정리  (0) 2022.12.22
TB_SID.tip 정리  (0) 2022.12.22