Tibero Installation
1. Tibero Installation Overview
Tibero 설치 가능 O/S
지원 플랫폼 및 운영체제
H/W,S/W | CPU | OS | Binary Bits |
HP | Itanium | HP-UX 11i v2 (11.23) HP-UX 11i v3 (11.31) |
64Bit |
SUN | SPARC | Solaris 10, 11 | 64Bit |
x86 | Solaris 10 | 64Bit | |
IBM | PPC | AIX 5.3 , 6.1 , 7.1 | 64Bit |
GNU | X86(Pentium4 이상) | Red Hat Enterprise Linux 4 ~ 6 SUSE Linux Enterprise Server 10 | 32bits |
Red Hat Enterprise Linux 4 ~ 7 SUSE Linux Enterprise Server 10 | 64bits | ||
Itanium | Red Hat Enterprise Linux 4 ~ 7 | 64bits | |
Power8 (Big / Little) | Red Hat Enterprise Linux 7 | 64bits | |
Microsoft | X86, AMD64(X64) | Windows 7 Windows 2000 |
32Bit |
Windows 7 Windows 2008 Windows 2012 |
64Bit |
** Windows 32bit의 경우 클라이언트만 지원한다.
Tibero 설치 요구사항
H/W 및 S/W 요구사항
OS | RAM | Swap Space | /tmp Directory Space | HDD Space (Full / Client Only) |
LINUX | 1GB | 2GB | 500MB | 2.5GB / 400M |
HP-UX/itanium | 1GB | 2GB | 500MB | 3GB / 400M |
Solaris | 1GB | 2GB | 500MB | 2.5GB / 400M |
AIX | 1GB | 2GB | 500MB | 2.5GB / 400M |
Windows | 1GB | - | - | 2GB / 400M |
OS | OS Version | Compiler | JDK Version | |
LINUX | x86 | 6 Red Hat Enterprise Linux 4 kernel 2.6.9 이상 | gcc version 3.4.6 이상, C99 지원 | JDK 1.5.17 이상 |
Itanium | 6 Red Hat Enterprise Linux 4 kernel 2.6.9 이상 | gcc version 3.4.6 이상, C99 지원 | JDK 1.5.17 이상 | |
Power8 | Red Hat Enterprise Linux 7 kernel 3.10.0 이상 | gcc version 3.4.6 이상, C99 지원 | JDK 1.5.17 이상 | |
HP-UX/itanium | HP-UX 11i v2 (11.23) with BUNDLE11i (== HP-UX 11i v2 (B.11.23), Septe mber 2004) 64Bit 커널 | HP aC++/ANSI C B3910B A.06.02, C99 지원 | JDK 1.5 for HP-UX 이상 | |
Solaris | Solaris 10,11 64Bit 커널 | Sun C 5.8 2005/10/13, C99 지원 J | JDK 1.5.17 이상 | |
AIX | AIX 5L version 5.3, AIX 6.1, AIX 7.1 64Bit 커널 | IBM XL C/C++ Enterprise Edition V7.0, C99 지원 | JDK 1.5.17 이상 | |
Windows | Windows 7 Windows Server 2008 Windows Server 2012(64bit Only) |
C99 지원 컴파일러 | JDK 1.5.17 이상 |
Tibero 설치 준비사항
Tibero를 설치하기 전에 확인하고 설정해야 할 준비사항
디스크 용량 확인
JDK 설치
운영 체제별 패키지 설치
운영체제별 커널 파라미터 설정
운영체제별 Shell Limits 설정
호스트명과 포트 번호, 시스템 계정 확인
커널 파라미터(kernel parameter) 설정
kernel parameter 확인 명령어
sysctl –a
fs.file-max : 커널이 할당할 수 있는 파일 핸들 최대값 (권장값 : 65536) / 파일(/proc/sys/fs/file-max)
kernel.sem : 세마포어 관련 설정. semmsl -> semmns -> semopm -> semmni 순서로 설정 파일(/proc/sys/kernel/sem)
LINUX 커널 파라미터 설정
커널 파라미터 | 값 | 파일 |
semmsl semmns semopm semmni |
10000 32000 10000 10000 |
/proc/sys/kernel/sem |
shmall | ceil(shmmax/PAGE_SIZE) | /proc/sys/kernel/shmall |
shmmax | 물리적인 메모리의 절반 (byte) | /proc/sys/kernel/shmmax |
shmmni | 4096 | /proc/sys/kernel/shmmni |
file-max | 6815744 | /proc/sys/fs/file-max |
ip_local_port_range | 1024 ~ 65000 | /proc/sys/net/ipv4/ip_local_port_range |
커널 파라미터(kernel parameter) 수정
root 로 접속하여 아래 제시한 권장 값을 기준으로 각 사이트 운영 환경에 맞추어 설정.
kernel parameter 동적 변경
kernel parameter 정적 변경
▪ 시스템 환경파일을 vi 에디터
vi /etc/sysctl.conf
▪ kernel parameter 항목을 sysctl.conf 파일에 추가.
fs.file-max = 65536
kernel.sem = 10000 32000 10000 10000
kernel.shmmax = 2684354560
▪ sysctl.conf에 추가한 후 sysctl –p 명령으로 동적으로 적용 가능
Shell Limits 설정
− 프로세스의 리소스 사용 제한
− 소프트 한도 : 새로운 프로세스가 만들어졌을 때 디폴트로 적용
− 하드 한도 : OS 유저가 소프트 한도 이상으로 큰 값을 적용할 수 있으나, 최대 크기는 하드 한도 까지 임
설정 파일
/etc/security/limits.conf
설정 값
파라미터 | Soft Limit | Hard Limit |
nofile | 1024 | 65536 |
nproc | 2047 | 16384 |
호스트명과 포트 번호, 시스템 계정 확인
라이선스를 요청할 때 필요한 호스트명을 확인. /etc/hosts 파일을 확인하거나 콘솔 화면에서 명령어 uname -n 를 입력하여 확인.
포트 번호
▪ Tibero가 기동할 때 부여될 포트 번호를 확인한다. (기본값 : 8629)
종류 | 설명 | 사용시점 |
서비스 포트(Service port) | Tibero가 사용자의 요청을 처리하고 응답할 포트 번호를 확인한다. (기본값 : 8629) |
All the time |
스페셜 포트(Special port) | Session Full 과 같은 상황에서 응급조치를 하기 위해 사용할 포트를 확인한다. tip 파일에 _LSNR_SPECIAL_PORT를 이용한 임의 설정도 가능하다. (기본값 : 서비스 포트 + 1) |
All the time |
SSL 포트(SSL port) | 보안 통신을 위해 사용할 포트를 확인한다. tip 파일에 _LSNR_SSL_PORT를 이용한 임의 설정도 가능하다. (기본값 : 서비스 포트 + 2) |
보안통신 사용시 |
CM 포트(CM port) | CM이 사용할 포트를 확인한다. tip 파일에 CM_PORT를 이용한 임의 설정도 가능하다. (기본값 : 서비스 포트 + 3) |
TAC 사용시 |
시스템 계정 확인 : Tibero 설치 및 운영을 위한 계정을 확인.
그룹 및 사용자 생성
그룹 추가 (권장 값 : dba)
groupadd dba
사용자 추가 (권장 값 : tibero)
useradd -g dba tibero
사용자 환경변수 설정
− 사용자 계정 홈 디렉토리있는 환경파일에 다음과 같은 내용을 추가함(bash shell일 경우 .bash_profile)
### JAVA ENV ###
export JAVA_HOME=/usr/java6
export JDK_HOME=$JAVA_HOME
export PATH=$JAVA_HOME/bin:/usr/local/bin:$PATH
TIBERO 환경 변수
−TB_HOME : Tibero 소프트웨어가 설치된 디렉토리
−TB_SID : Tibero System Identify 서비스 명
−TB_PROF_DIR : core 파일이 발생할 경우 파일 생성 위치 지정
−PATH : Tibero 서버를 사용하기 위한 실행파일 경로 설정
−LD_LIBRARY_PATH : Tibero 서버 사용시 필요한 공유 라이브러리 패스 설정
TIBERO 파라미터
파라미터 | 설명 |
CONTROL_FILES | 컨트롤 파일이 존재하는 위치로서 절대 경로로 설정한다. |
DB_NAME | 데이터베이스 이름을 설정한다. (기본값: tibero) |
MAX_SESSION_COUNT | 데이터베이스에 접속 가능한 최대 세션 수를 설정한다. (기본값: 20) |
MEMORY_TARGET | 데이터베이스가 사용할 수 있는 메모리의 총 크기를 설정한다. |
TOTAL_SHM_SIZE | 데이터베이스의 인스턴스 내에서 사용할 전체 공유 메모리의 크기를 설정한다. |
LISTENER_PORT | 리스너가 사용할 포트 번호를 설정한다. (기본값: 8629) |
TIBERO 데이터베이스 생성 항목
항목 | 설명 |
SYS password | Tibero 시스템 사용자의 패스워드 |
Character Set | 데이터베이스의 문자 집합(기본값: MSWIN949) |
National Character Set | 데이터베이스의 내셔널 문자 집합(기본값: UTF16) |
MAXDATAFILES | 데이터베이스에서 사용할 데이터 파일의 최댓값을 설정한다. (기본값: 100) |
MAXLOGGROUPS | 로그 그룹의 최댓값을 설정한다. (기본값: 255) |
MAXLOGMEMBERS | 로그 그룹 내의 로그 파일의 최댓값을 설정한다. (기본값: 8) |
ARCHIVE LOG mode | 로그 아카이브 모드를 설정한다. (기본값: NO) |
LOG Group | LOG GROUP을 설정한다. |
SYSTEM Tablespace | 시스템 테이블 스페이스의 데이터 파일을 설정한다. |
TABLESPACE | 테이블 스페이스를 설정한다. |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
2. Tibero Installation
Tibero 설치 과정
1. 설치 파일 준비 ( Tibero 바이너리, 라이센스 파일 등 )
2. 환경설정 파일에 환경변수 설정
3. Tibero 바이너리 압축해제, 라이센스 파일 복사
4. 파라미터 파일 생성용 shell 실행
5. Tibero 인스턴스 기동( nomount 모드 )
6. Database 생성
7. Tibero 인스턴스 기동( normal 모드 )
8. Sytem object 생성용 shell 실행
Tibero 설치
사용자 환경변수 설정
사용자 계정 홈 디렉토리있는 환경파일 내용 추가(bash shell일 경우 .bash_profile)
######## TIBERO ENV ########
export TB_HOME=/tibero/tibero6
export TB_SID=tibero
export TB_PROF_DIR=$TB_HOME/bin/prof
export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin:~/tbinary/monitor:$PATH
export LD_LIBRARY_PATH=$TB_HOME/lib:$TB_HOME/client/lib:$LD_LIBRARY_PATH
export SHLIB_PATH=$LD_LIBRARY_PATH:$SHLIB_PATH
export LIBPATH=$LD_LIBRARY_PATH:$LIBPATH
######## TIBERO alias ########
alias tbhome='cd $TB_HOME'
alias tbbin='cd $TB_HOME/bin'
alias tblog='cd $TB_HOME/instance/$TB_SID/log'
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 tbcliv='vi ${TB_HOME}/client/config/tbnet_alias.tbr'
alias tbdata='cd $TB_HOME/tbdata'
alias tbi='cd ~/tbinary'
alias clean='tbdown clean'
alias dba='tbsql sys/tibero'
alias tm='cd ~/tbinary/monitor;monitor;cd -'
Tibero 설치 준비사항
사용자 환경변수 설정(계속)
환경변수 적용
source ~/.bash_profile
환경변수 확인
−.bash_porofile 의 환경변수가 적용되었는지 확인한다.
$ echo $TB_SID
tibero
$ echo $TB_HOME
/tibero/tibero6
티베로 바이너리, 라이센스 파일 준비
− 티베로바이너리파일, 라이센스 파일을 준비하여 /tibero 디렉토리에 위치시킨다.
$ ls -l
-rw-r--r-- 1 tibero dba 471 Oct 10 11:12 license.xml
-rwxr-x--- 1 tibero dba 386220636 May 15 17:24 tibero6-bin-FS06-linux64-151366-opt-tested.tar.gz
Tibero 바이너리 설치
티베로에 접속하여 티베로 압축 파일 해제
$ cd /tibero
$ tar -xvzf tibero6-bin-FS06-linux64-151366-opt-tested.tar.gz
tibero6/bin/nbboot
tibero6/bin/alterdd.sh
……
라이센스 적용
Tibero를 설치한 hostname에 맞는 license.xml 파일을 발급
$TB_HOME/license 디렉토리 생성 후 라이센스 파일을 이 디렉토리에 복사
초기 환경파일 생성
$ cd $TB_HOME/config
$ ./gen_tip.sh
$TB_SID.tip 파일 생성 : Tibero 파라미터 파일
tbdsn.tbr 파일 생성 : Tibero Client 접속 설정 파일
Tibero 파라미터 파일($TB_HOME/config/$TB_SID.tip) 수정
DB_NAME=tibero
LISTENER_PORT=8629
CONTROL_FILES="/tibero/tbdata/tibero/c1.ctl","/tibero/tbdata/tibero/c2.ctl"
DB_CREATE_FILE_DEST=/tibero/tbdata/tibero
LOG_ARCHIVE_DEST=/tibero/tbdata/tibero/arch
MAX_SESSION_COUNT=20
TOTAL_SHM_SIZE=600M
MEMORY_TARGET=1G
•••• 중략 ••••
Network 설정 파일($TB_HOME/client/config/tbdsn.tbr) 수정 가능
− Client가 Tibero에 접속 시 필요한 통신 환경을 설정하는 파일
tibero=( # SID name
(INSTANCE=(HOST=localhost) # 접속할 Tibero IP
(PORT=8629) # 접속할 Tibero Port
(DB_NAME=tibero) # 접속할 Tibero Database 명
)
)
Tibero 데이터베이스 생성
Tibero를 nomount 모드로 부팅
$ tbboot nomount
listener port = 8629
change core dump dir to /tibero/tibero6/bin/prof
Tibero 6
Copyright (c) 2008, 2009, 2011 Tibero Corporation. All rights reserved.
Tibero instance started suspended at NOMOUNT mode.
System 유저로 접속
$ tbsql sys/tibero
tbSQL 6
Copyright (c) 2008, 2009, 2011 Tibero Corporation. All rights reserved.
Connected to Tibero
Database 생성 스크립트
SQL> CREATE DATABASE
USER sys IDENTIFIED BY tibero
MAXDATAFILES 256
CHARACTER SET MSWIN949 -- UTF8, EUCKR, ASCII ...
NATIONAL CHARACTER SET UTF16
LOGFILE
GROUP 0 'log01.log' SIZE 50M,
GROUP 1 'log11.log' SIZE 50M,
GROUP 2 'log21.log' SIZE 50M
MAXLOGFILES 100
MAXLOGMEMBERS 2
NOARCHIVELOG
DATAFILE 'system001.dtf' SIZE 100M
AUTOEXTEND ON NEXT 64M MAXSIZE 3G
DEFAULT TEMPORARY TABLESPACE TEMP
TEMPFILE 'temp001.dtf' SIZE 100M
AUTOEXTEND ON NEXT 64M MAXSIZE 3G
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
UNDO TABLESPACE UNDO
DATAFILE 'undo001.dtf' SIZE 200M
AUTOEXTEND ON NEXT 64M MAXSIZE 3G
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128k
DEFAULT TABLESPACE USR
DATAFILE 'usr001.dtf' SIZE 50m
AUTOEXTEND ON NEXT 64m MAXSIZE 3G
SYSSUB
DATAFILE 'syssub001.dtf' SIZE 50m
AUTOEXTEND ON NEXT 64M MAXSIZE 3G ;
Tibero 재기동
$ tbdown
Tibero instance terminated (NORMAL mode).
$ tbboot
listener port = 8629
change core dump dir to /home/tibero6/tibero6/bin/prof
Tibero 6
Copyright (c) 2008, 2009, 2011 Tibero Corporation. All rights reserved.
Tibero instance started up (NORMAL mode).
Data Dictionary 및 system 패키지 생성
$ cd $TB_HOME/scripts
$ sh system.sh
Creating the role DBA...
Creating system users & roles...
Creating virtual tables(1)...
Creating virtual tables(2)...
Granting public access to _VT_DUAL...
Creating the system generated sequences...
Creating internal dynamic performance views...
Creating system packages:
Running /home/tibero6/tibero6/scripts/pkg/pkg_stan
system.sh 수행 옵션
옵션 | 설명 |
-p1 password | sys 계정의 패스워드를 입력한다. (기본값: tibero) |
-p2 password | syscat 계정의 패스워드를 입력한다. (기본값: syscat) |
-a1 | 시스템 유저 생성 및 권한부여 여부를 설정한다. 최초 설치일 경우 반드시 'Y'로 설정한다. Y: 시스템 유저 생성 및 권한을 부여한다. N: 데이터를 보존한다. |
-a2 | 데이터베이스 사용자의 패스워드 관리 정책을 지정할 수 있는 프로파일을 위한 테이블의 생성 여부를 설정한다. 최초 설치일 경우 반드시 'Y'로 설정한다. Y: 기존 테이블을 삭제한 후 생성한다. N: 데이터를 보존한다. |
-a3 | 데이터베이스 객체의 통계 정보 수집을 위한 Job 스케줄링 등록 여부를 설정한 다. 최초 설치일 경우 'Y'로 설정하는 것을 권장한다. Y: 통계정보 수집을 위한 Job을 삭제한 후 등록한다. N: 등록하지 않는다. |
-a4 | 통계정보를 주기적으로 자동 수집하기 위한 TPR 관련 테이블의 생성여부를 설정한 다. 최초 설치일 경우 반드시 'Y'로 설정한다. Y: 기존 테이블을 삭제한 후 생성한다. N: 데이터를 보존한다. |
pkgonly | PSM built-in package 스크립트들만 수행한다. |
-sod | 보안을 위하여 기존 하나의 관리자 권한을 아래와 같이 3개의 관리자로 나뉘어 설 치할 것인지에 대한 여부를 설정한다. (기본값: N, Windows 계열에서는 미지원) SYSSEC: 보안 관리자 SYSAUD: 감사 관리자 SYSADM: 시스템 관리자 |
error | system.sh 수행 중 특정 스크립트에서 에러가 발생할 경우 에러 내용을 터미널에 출력한다. (Windows 계열에서는 미지원) |
설치 에러 해결 방법
사용하는 port 를 다른 곳에서 사용할 경우
listener port = 8629
Error: timeout while trying to open port 6999
Tibero instance startup failed!
▪ 다른곳에서 해당 포트번호를 사용을 하고 있는지 확인
▪ 명령어> netstat –an | grep 8629
▪ 2개 파일에서 포트 번호를 변경하여 처리함.
– $TB_HOME/config/tibero.tip
– $TB_HOME/client/config/tbnet_alias.tbr
Shared Memory 할당 못 받는 현상
Cannot attach to shared memory segment: SHM_KEY = 0x1a71a8f3, size = 335544320, errno = 29Tibero instance startup failed!
▪ 해당 에러는 티베로가 종료된 상태임에도 공유 메모리 해제를 제대로 못해주면서 발생한것으로써 ipcs 로 shared memory 에 존재하는지 확인하여야 한다.
▪ ipcrm 명령어로 해당 자원을 해제하도록 한다.
– ex) ipcrm –m 32768
ipcrm –s 131072
Tibero 제거
Tibero 제거
Tibero프로세스 종료
$ tbdown 또는 tbdown immediate
$TB_HOME 에 해당하는 디렉토리를 포함한 하위 모든 디렉토리를 OS 명령으로 삭제
$ rm –rf $TB_HOME
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
3. Tibero 기동, 종료
Tibero 기동 환경
Tibero 기동을 위해서는 OS 커널파라미터 및 환경변수 그리고 Tibero 바이너리, 데이터베이스 파일이 정상적으로 설정 및 설치 가 되어 있어야 함
Tibero 는 OS 환경변수를 참조하여 구동 되므로, 적절한 값이 설정되어 있어야 한다.
환경변수 | 설명 |
TB_HOME | Tibero가 설치된 디렉터리이다. 예: /tibero/tibero6 |
TB_SID | Tibero 인스턴스 식별자 이며, 파라미터 파일의 이름, 각종 로그 생성 경로 등에 영향을 준다. 예: tibero |
LD_LIBRARY_PATH | Tibero를 사용할 때 필요한 공유 라이브러리가 위치한 경로이다. 필요한 라이브러리는 모두 $TB_HOME/lib와 $TB_HOME/client/lib 안에 있고, OS별로 환경변수 가 다르게 지정된다. SunOS, Linux : LD_LIBRARY_PATH HP-UX : SHLIB_PATH AIX : LIBPATH |
PATH | Tibero 의 실행파일 디렉터리 경로이다. OS 기본 $PATH 에 $TB_HOME/bin 와 $TB_HOME/client/bin 을 추가하여 설정한다. 예: /tibero/tibero6/bin , /tibero/tibero6/client/bin |
Tibero 서버는 다음과 같은 디렉터리로 구성되며, 구동을 위해서는 Tibero 바이너리 파일이 정상적으로 설치되어 있어야 한다.
Tibero 서버 기동을 위해서는 데이터베이스 파일이 정상적으로 생성되어 있어야 한다.
Datafiles
• Tables & Indexes 들과 같은 데이터 저장 객체를 물리적으로 저장하고 있는 파일.
Redo Log Files
• 복구를 위하여 Database에서 변경된 모든 것을 기록 하는 파일.
Control Files
• Database의 물리적 구조와 상태를 기록 하는 파일.
tbSQL 유틸리티
Tibero 관리를 위해서 사용하는 기본 도구로서 tbSQL 를 제공하고 있다. tbSQL은 TEXT 모드의 대화형 SQL 명령어 처리를 지원하는 유틸리티이다. SQL 질의, 데이터 정의어, 트랜잭션과 관련된 SQL 문장 등을 실행할 수 있다.
Tibero 기동 종료
tbboot
• tbboot는 Tibero가 설치된 머신에서 실행해야 한다.
• tbboot를 실행하기 전에 반드시 환경변수가 제대로 설정되어 있어야 한다.
• 이 명령어와 관련된 환경변수는 $TB_HOME과 $TB_SID이다.
• tbboot는 실행 파일을 실행할 수 있는 권한이 있는 사용자라면 어느 누구든 Tibero를 기동할 수 있으므로, Tibero를 설치한 사용자만 Tibero의 실행 파일에 접근할 수 있도록 권한을 설정할 것을 권장한다.
옵션 | 설명 |
옵션이 없는 경우 Tibero를 부트 모드(bootmode) 중 NORMAL로 기동하는 옵션이다. | |
-h | tbboot를 사용하기 위한 간단한 도움말을 보여주는 옵션이다. |
-v | Tibero의 버전 정보를 보여주는 옵션이다. |
-C | Tibero에서 사용 가능한 character set 정보와 nls_date_lang 정보를 보여주는 옵션이다. |
-c | Tibero가 replication mode로 설정되어 있을 경우 replication mode를 사용하지 않는 옵션이다. |
-t | Tibero 서버를 기동할 수 있는 옵션이다. 이 옵션은 생략이 가능하다. |
Tibero Instance 기동
Tibero Instance 종료
tbdown
tbdown -h
tbdown [ normal | post_tx | immediate | abort | switchover | abnormal |
NORMAL | POST_TX | IMMEDIATE | ABORT | SWITCHOVER | ABNORMAL ]
Tibero Instance 종료 과정
• Database Close
– TSM에 있는 모든 Database Data와 Recovery Data를 Data File과 Redo Log File에 각각 기록.
• Dismounting Database
– Control File을 Close.
• Instance Shutdown
– TSM에 있는 Memory가 제거되고, Process가 종료.
– Abnormal Shutdown이 되었을 경우 TSM에 Memory가 상주해 있거나 Process가 종료되지 않을 수가 있다. 따라서 남아 있는 이전 Instance를 제거하거나, tbdown abort 명령어를 이용하여 새로운 Instance를 강제로 종료 하고, tbdown clean.
tbdown abort
Tibero의 프로세스를 강제로 종료하는 모드.
ABORT는 Tibero에 SYS 사용자로 접속한 다음 Tibero의 MTHR 프로세스가 모든 프로세스를 OS의 강제 종료 시그널을 전달하여 강제로 종료시키는 모드. 따라서 이 모드는 비상 시에 사용하며. 다음 번에 TiberoRDBMS를 기동할 때 파손 복구 과정이 필요.
ABORT는 Tibero가 강제로 종료시키므로 사용하던 시스템 리소스를 해제할 기회 미존재. 따라서 서버가 종료된 다음에도 공유 메모리(Shared Memory), 세마포어(Semaphore) 등의 시스템 리소스가 남아있을 수 있으며, 로그 파일이나 데이터 파일도 동일.
tbdown abort 이후에 Tibero 재기동 시 파손복구에 많은 시간이 소요 가능성 존재.
ABORT 는 다음과 같은 상황에서만 사용하도록 권장
-Tibero 의 내부 에러로 인한 정상적인 종료가 불가능한 경우. (예를 들어, 모든 세션이 사용 중인 상태에서 클라이언트의 접속이 증가하는 경우.)
-H/W에 문제가 발생하여 Tibero 를 즉시 종료해야 하는 경우.
-해킹 등의 비상 상태가 발생하여 Tibero 를 즉시 종료해야 하는 경우.
tbdown clean
요즘은 tbdown clean_shm로 왠만한거는 다 정리된다.
옵션 | 설명 |
clean | Tibero 서버가 비정상 종료된 상태에서 운영중에 사용하였던 공유 메모리나 세마포어 자원들을 해제하는 옵션. Tibero 서버가 운영 중일 때는 사용 할 수 없는 옵션. |
kill 명령으로 종료한 경우, tbdown clean 를 실행.
- 만약 Tibero 서버가 Kill 과 같은 시스템 내부 명령어에 의해서 비정상적으로 종료된 경우, 운영 중에 사용하였던 공유 메모리나 세마포어 자원들이 해제가 않될 수 있다. 이런 경우 Tibero 가 정상적으로 재 기동 하지않게 되므로, tbdown clean 으로 기존 자원을 해제시킨 후 tbboot 를 실행.
tbdown POST_TX
모든 트랜잭션이 끝날 때까지 기다리고 나서 Tibero를 종료하는 모드.
POST_TX는 Tibero에 SYS 사용자로 접속한 다음 모든 트랜잭션이 끝날 때까지 기다림. 그 다음 Tibero RDBMS를 종료. tbdown 실행이 시작되면 더는 데이터베이스에 접속할 수 없고, 이미 열려 있던 세션에서도 새로운 트랜잭션을 시작할 수 없음. 다만, 현재 수행 중인 트랜잭션은 Commit 혹은 Rollback 할 때까지 제한 없이 수행할 수 있으며, Commit이나 Rollback을 하는 순간 자동으로 데이터베이스 접속을 종료.
tbdown 실행이 시작되면 데이터베이스에 접속한 클라이언트에게 서버 종료를 알리는 메시지를 보내지 않음
tbSQL 유틸리티 등에서는 클라이언트가 서버 종료를 즉시 알지 못하고, 그 다음 명령을 실행할 때 비로소 Tibero RDBMS가 종료되었음을 알리게 됨
tbdown IMMEDIATE
현재 수행 중인 모든 작업을 강제로 중단시키며, 진행 중인 모든 트랜잭션을 롤백하고 Tibero를 종료하는 모드.
IMMEDIATE는 Tibero에 SYS 사용자로 접속한 다음 현재 수행 중인 모든 작업을 강제로 종료하고, 진행 중이던 모든 트랜잭션을 롤백한 후, Tibero를 종료. 클라이언트에서 Tibero 종료를 알지 못하는 것은 POST_TX 모드와 동일.
트랜잭션이 오래 걸리는 작업 중에 있었다면, 이를 모두 롤백하기 위해서 다소 시간이 걸림.
사용 예
--------------------------------------------------------------------------------------------------------------------------------------------------------------- 4. Tibero Directory 구조
Directory 구성
Tibero 로그 개요
로그의 종류
− Tibero 인스턴스를 구성하는 각종 프로세스, 스레드들은 중요한 작업 이력을 로그파일에 기록한다
로그 파일 | 설명 |
트레이스 로그 파일 (SLOG) | 디버깅을 위한 파일이다. 서버가 하는 중요한 일이 기록되는 파일이며, 서버 성능이 저하되는 원인을 찾거나 Tibero 자체의 버그를 해결하는 데 사용될 수 있다. |
DBMS 로그 파일 (DLOG) | 트레이스 로그 파일에 기록되는 정보보다 좀 더 중요한 정보가 기록되는 파일이며, 서버 기동 및 종류, DDL 문장의 수행 등이 기록되는 파일이다. |
EVENT 로그 파일 (ILOG) | 설정된 event에 대한 트레이스 로그가 기록되는 파일이며, event 로그를 보려면 tbev를 이용해야한다. |
LISTENER 로그 파일 | Listener의 디버깅을 위한 파일이다. 리스너에서 일어난 중요한 일이 기록되는 파일이며, 리스너의 버 그를 해결하는 데 사용될 수 있다. |
CM 로그 파일 | TAC 환경에서 구동하는 CM( Tibero Cluster Manager) 동작 정보가 기록되는 파일이다. |
로그 경로와 크기
$TB_HOME/instance/$TB_SID/log
로그별 저장 경로와 파일 크기의 제한 설정이 가능함
전체 디렉터리의 최대 크기를 지정할 수 있으며, Tibero는 그 지정된 크기를 넘어가지 않도록 오래된 파일을 삭제한다.
Tibero 로그 설정
로그 경로 설정을 위한 파라미터
초기화 파라미터 (=> T6 FS06 일때) | 설명 |
LOG_DEFAULT_DEST | 로그 전체 경로( 기본값: $TB_HOME/instance/$TB_SID/log ) 를 설정한다. |
LSNR_LOG_DEST | 리스너 로그 경로( 기본값: $TB_HOME/instance/$TB_SID/log/lsnr ) 를 설정한다. |
TRACE_LOG_DEST => SLOG_DEST | 트레이스 로그 경로( 기본값: $TB_HOME/instance/$TB_SID/log/tracelog (=> slog) ) 를 설정한다 |
DBMS_LOG_DEST | DBMS 로그 경로( 기본값: $TB_HOME/instance/$TB_SID/log/dbmslog (=> dlog) 를 설정한다. |
EVENT_TRACE_DEST => ILOG_DEST | 이벤트 로그 경로( 기본값: $TB_HOME/instance/$TB_SID/log/event (=> ilog ) 를 설정한다 |
CM_LOG_DEST | CM 로그 경로를 설정한다. - 기본값: TIBERO 6 FS04 버전 까지는 $TB_HOME/instance/$TB_SID/log/cm TIBERO 6 FS05 버전 부터 $CM_HOME/instance/$CM_SID/log |
로그 크기 설정을 위한 파라미터
초기화 파라미터 | 설명 |
DBMS_LOG_FILE_SIZE | DBMS 로그 파일 하나의 최대 크기를 설정한다. |
DBMS_LOG_TOTAL_SIZE_LIMIT | DBMS 로그 파일이 저장된 디렉터리의 최대 크기를 설정한다. |
TRACE_LOG_FILE_SIZE => SLOG_FILE_SIZE | 트레이스 로그 파일 하나의 최대 크기를 설정한다. |
TRACE_LOG_TOTAL_SIZE_LIMIT => SLOG_TOTAL_SIZE_LIMIT | 트레이스 로그 파일이 저장된 디렉터리의 최대 크기를 설정한다. |
EVENT_TRACE_FILE_SIZE => ILOG_FILE_SIZE | Event 로그 파일 하나의 최대 크기를 설정한다. |
EVENT_TRACE_TOTAL_SIZE_LIMIT => ILOG_TOTAL_SIZE_LIMIT | Event 로그 파일이 저장된 디렉터리의 최대 크기를 설정한다. |
LSNR_LOG_FILE_SIZE | Listener 로그 파일 하나의 최대 크기를 설정한다. |
LSNR_LOG_TOTAL_SIZE_LIMIT | Listener 로그 파일이 저장된 디렉터리의 최대 크기를 설정한다. |
CM_LOG_FILE_SIZE | CM 로그 파일 하나의 최대 크기를 설정한다. |
CM_LOG_TOTAL_SIZE_LIMIT | CM 로그 파일이 저장된 디렉터리의 최대 크기를 설정한다. |
'DB > Tibero' 카테고리의 다른 글
[Tibero] 아카이브모드 설정 방법 및 조회 방법 (0) | 2022.12.21 |
---|---|
[Tibero교육] Tibero Backup & Recovery (0) | 2022.12.15 |
[Tibero교육] Tibero Database Administration (0) | 2022.12.07 |
[Tibero] MVCC 기능 시나리오 따라하다가 생긴 의문점 (0) | 2022.11.28 |
[Tibero] Operating GuideFor Beginner (0) | 2022.11.28 |