데이터베이스 설치

Tibero 설치 방법에 대하여 설명합니다.

Tibero에서는 제품 설치를 위한 방법을 아래의 형태로 제공하고 있습니다.

수동 설치

Tibero가 지원하는 모든 플랫폼에 대하여 데이터베이스를 수동으로 설치할 수 있습니다. 이를 수동 설치라 정의합니다.

수동설치는 모든 플랫폼에 대하여 tibero7-bin-<fixset>_<platform>.tar.gz 형태로 제공됩니다.

UNIX 환경

아래는 UNIX 환경에서 수동으로 Tibero를 설치하는 순서입니다.

  1. 아래 두 가지 파일이 준비되었는지 확인합니다.

  • 바이너리 실행 파일(tar.gz)

  • 라이선스 파일(license.xml)

  1. 해당 운영체제의 사용자 계정별로 존재하는 환경설정 파일(.bashrc, .bash_profile, .profile 등)에 환경변수를 설정합니다. 본 예제에서는 아래와 같이 환경변수를 설정합니다.

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/bin

환경변수를 변경하는 방법은 OS에 따라 다르므로, 자세한 내용은 각 OS 안내서를 참고합니다.

각 환경변수 값에 대한 설명은 “사용자 환경설정 파일의 적용 및 확인”을 참고합니다.

  1. /home/tibero/Tibero 디렉터리에서 압축된 바이너리 실행 파일(tar.gz)을 해제합니다. 그 후에 발급받은 라이선스 파일(license.xml)을 $TB_HOME/license 디렉터리에 복사합니다.

  1. $TB_HOME/config 디렉터리에서 아래 명령어를 입력합니다.

gen_tip.sh

위 명령이 실행되면 환경 파일(.tip)과 tbdsn.tbr, psm_commands 파일이 생성됩니다.

tibero@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.

  1. Tibero 서버를 'NOMOUNT 모드'로 기동합니다.

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).

  1. tbSQL 유틸리티를 이용하여 데이터베이스에 접속합니다. (본 예제에서는 'sys' 사용자로 접속합니다.)

tibero@Tibero:~/Tibero/tibero7/client/bin$ tbsql sys/tibero

tbSQL 7

TmaxData Corporation Copyright (c) 2008-. All rights reserved.

Connected to Tibero.

SQL>

  1. CREATE DATABASE 문을 이용하여 원하는 데이터베이스를 생성합니다. (본 예제에서는 '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 
Disconnected.

해당 과정에서 설정하는 주요 항목 설명 입니다.

항목

설명

maxdatafiles

데이터베이스에서 사용할 데이터 파일의 최댓값을 설정 (기본값: 100)

character set

데이터베이스의 문자 집합을 설정

maxloggroups

로그 그룹의 최댓값을 설정 (기본값: 255)

maxlogmembers

로그 그룹 내의 로그 파일의 최댓값을 설정 (기본값: 8)

CREATE DATABASE 문에 대한 자세한 내용은 "Tibero SQL 참조 안내서"를 참고합니다.

  1. 데이터베이스 생성이 완료되면 tbboot 명령어로 Tibero를 다시 기동합니다.

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).

  1. $TB_HOME/scripts 디렉터리에서 system.sh 셸을 실행합니다. 이 셸을 실행하면 현재 디렉터리에 있는 SQL 파일이 수행됩니다. SQL 파일을 수행하면 role, system user, view, package 등이 생성됩니다. (사용되는 sys 및 syscat 계정에 대한 기본 암호는 각각 tibero, syscat입니다.)

tibero@Tibero:~/Tibero/tibero7/scripts$ system.sh
Enter SYS password:

Enter SYSCAT password:

Creating the role DBA...
create default system users & roles?(Y/N):

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 outline table...
Creating system package specifications:
    Running /home/tibero/Tibero/tibero7/scripts/pkg/pkg_standard.sql... 
    Running /home/tibero/Tibero/tibero7/scripts/pkg/pkg_dbms_output.sql... 
    Running /home/tibero/Tibero/tibero7/scripts/pkg/pkg_dbms_lob.sql...
    Running /home/tibero/Tibero/tibero7/scripts/pkg/pkg_dbms_utility.sql...
    ......중간 생략......
    
Creating spatial meta tables and views ...
Creating internal system jobs...
Creating internal system notice queue ...
Done.
For details, check /home/tibero7/tibero7/instance/tibero/log/system_init.log.

system.sh(.vbs)에서 제공되는 각 옵션에 대한 설명은 “system.sh”를 참고합니다.

  1. Tibero의 설치가 정상적으로 완료되면 Tibero 프로세스가 실행됩니다. 이 프로세스는 아래의 명령어를 실행하면 확인할 수 있습니다.

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	...


설치 확인

본 절에서는 Tibero가 설치된 후 정상적인 설치 여부를 확인하는 방법에 대해서 설명합니다.

디렉터리 구조

Tibero가 설치되면 아래와 같은 디렉터리가 생성됩니다.

$TB_HOME
    +- bin
    |	|
    |	+- update
    |
    +- client
    |   |
    |   +- bin
    |   +- config
    |   +- include
    |   +- lib
    |   |   |
    |   |   +- jar
    |   |   +- php
    |   +- ssl
    |   |   |
    |   |   +- misc
    |   +- epa
    |	|
    |	+- java
    |	|
    |	+- config
    |	+- lib
    |
    +- config
    |
    +- database
    |	+- $TB_SID
    |	|
    |	+- java
    |
    +- instance
    |	|
    |	+- $TB_SID
    |	|
    |	+- audit
    |	+- dump
    |	| |
    |	| +- act
    |	| +- diag
    |	| +- tracedump
    |	+- log
    |	| +- dlog
    |	| +- ilog
    |	| +- lsnr
    |	| +- slog
    |	| +- sqltrace
    |	+- path
    |
    +- lib
    |
    +- license
    | |
    | +- oss_licenses
    |
    +- nls
    | |
    | +- zoneinfo
    |
    +- scripts
        |
        +- pkg

위의 디렉터리 구조에서 $TB_SID 로 보이는 부분은 각각의 시스템 환경에 맞는 서버의 SID로 변경하여읽습니다.

Tibero에서 사용하는 기본 디렉터리

bin

Tibero의 실행 파일과 서버 관리를 위한 유틸리티가 위치한 디렉터리입니다. 이 디렉터리에 속한 파일 중에서 tbsvr과 tblistener는 Tibero를 구성하는 실행 파일이며, tbboot와 tbdown은 각각 Tibero를 기동하고 종료하는 역할을 담당합니다.

client

아래는 하위 디렉터리에 대한 설명입니다.

하위 디렉터리
설명

bin

Tibero의 클라이언트 실행 파일이 있는 디렉터리이다.

디렉터리 내 유틸리티

  • tbSQL 기본적인 클라이언트 프로그램으로 사용자가 직접 SQL 질의를 하고 그 결과를 확인할 수 있다.

  • T-Up 다른 데이터베이스에서 Tibero로의 호환성 평가와 마이그레이션을 지원한다.

  • tbExport 논리적 백업이나 데이터베이스 간에 데이터 이동을 위해 데이터베이스의 내용을 외부 파일로 저장한다.

  • tbImport 외부 파일에 저장된 내용을 데이터베이스로 가져온다.

  • tbLoader 대량의 데이터를 데이터베이스로 한꺼번에 읽어 들인다.

  • tbpc C 언어로 작성된 프로그램 안에서 내장 SQL(Embedded SQL)을 사용하는 프로그램을 개발할 때 이를 C 프로그램으로 변환한다. 이렇게 변환된 프로그램을 C 컴파일러를 통해 컴파일할 수 있도록 도와주는 역할도 담당한다.

(유틸리티에 대한 내용은 "Tibero 유틸리티 안내서"를 참고 단, tbpc 유틸리티는 "Tibero tbESQL/C 안내서"를 참고)

config

Tibero의 클라이언트 프로그램을 실행하기 위한 설정 파일이 위치하는 디렉터리이다.

include

Tibero의 클라이언트 프로그램을 작성할 때 필요한 헤더 파일이 위치하는 디렉터리이다.

lib

Tibero의 클라이언트 프로그램을 작성할 때 필요한 라이브러리 파일이 위치 하는 디렉터리이다. (자세한 내용은 "Tibero 애플리케이션 개발자 안내서"와 "TiberotbESQL/C 안내서"를 참고)

ssl

서버 보안을 위한 인증서와 개인 키를 저장하는 디렉터리

epa

External Procedure와 관련된 설정 파일과 로그 파일이 있는 디렉터리 (자세한 내용은 "Tibero External Procedure 안내서"를 참고)

config

Tibero의 환경설정 파일이 위치하는 디렉터리입니다. 이 위치에 존재하는 $TB_SID.tip 파일이 Tibero의 환경설정을 결정합니다.

database

아래는 하위 디렉터리에 대한 설명입니다.

  • $TB_SID Tibero의 데이터베이스 정보를 별도로 설정하지 않는 한 모든 데이터베이스 정보가 이 디렉터리와 그 하위 디렉터리에 저장됩니다. 이 디렉터리에는 데이터 자체에 대한 메타데이터(metadata)뿐만 아니라 아래와 같은 종류의 파일이 있습니다.

파일
설명

컨트롤 파일

다른 모든 파일의 위치를 담고 있는 파일

데이터 파일

실제 데이터를 저장하고 있는 파일

로그 파일

데이터 복구를 위해 데이터에 대한 모든 변경 사항을 저장하는 파일

  • $TB_SID/java JAVA_CLASS_PATH가 정의되지 않은 경우 Java EPA Class File이 저장되는 디렉터리입니다.

instance

아래는 하위 디렉터리에 대한 설명입니다.

  • $TB_SID/audit 데이터베이스 사용자가 시스템 특권 또는 스키마 객체 특권을 사용하는 것을 감시(AUDIT)한 내용을 기록한 파일이 저장되는 디렉터리입니다.

  • $TB_SID/log Tibero의 시스템 로그 파일(slog)과 DBMS 로그(dlog), Internal 로그(ilog), Listener 로그(lsnr), memlog 파일이 저장되는 디렉터리입니다.

파일
설명

시스템 로그 파일(slog)

디버깅을 위한 파일 서버가 하는 중요한 일이 기록되는 파일로, 서버 성능이 저하되는 원인을 찾거나 Tibero 자체의 버그 해결에 사용가능

DBMS 로그 파일(dlog)

시스템 로그 파일에 기록되는 정보보다 좀 더 중요한 정보가 기록되는 파일

서버 기동 및 종류, DDL 문장의 수행 등이 기록되는 파일

Internal 로그 파일(ilog)

스레드별로 설정된 이벤트에 대한 시스템 로그가 기록되는 파일 tbiv를 이용해 Internal 로그 확인 가능

Listener 로그 파일(lsnr)

Listener의 디버깅을 위한 파일 리스너에서 일어난 중요한 일이 기록되는 파일로, 리스너의 버그 해결에 사용가능

시스템 로그 파일, DBMS 로그 파일, Internal 로그 파일, Listener 로그 파일은 데이터베이스를 사용 할수록 계속 누적되어 저장됩니다. 또한 전체 디렉터리의 최대 크기를 지정할 수 있으며, Tibero는 그 지정된 크기를 넘어가지 않도록 오래된 파일을 삭제합니다.

로그 파일을 설정하는 초기화 파라미터

초기화 파라미터
설명

DBMS_LOG_FILE_SIZE

DBMS 로그 파일 하나의 최대 크기를 설정

DBMS_LOG_TOTAL_SIZE_LIMIT

DBMS 로그 파일이 저장된 디렉터리의 최대 크기를 설정

SLOG_FILE_SIZE

시스템 로그 파일 하나의 최대 크기를 설정

SLOG_TOTAL_SIZE_LIMIT

시스템 로그 파일이 저장된 디렉터리의 최대 크기를 설정

ILOG_FILE_SIZE

Internal 로그 파일 하나의 최대 크기를 설정

ILOG_TOTAL_SIZE_LIMIT

Internal 로그 파일이 저장된 디렉터리의 최대 크기를 설정

LSNR_LOG_FILE_SIZE

Listener 로그 파일 하나의 최대 크기를 설정

LSNR_LOG_TOTAL_SIZE_LIMIT

Listener 로그 파일이 저장된 디렉터리의 최대 크기를 설정

  • $TB_SID/dump Tibero의 DDL 또는 실행 중 에러에 의해 발생하는 덤프 파일이 저장되는 디렉터리입니다.

설명

act

스레드 액티비티 모니터에 의한 정보가 남는 디렉터리

diag

TAC의 diag 기능을 사용하는 경우 로그 및 덤프가 남는 디렉터리

tracedump

SQL 수행 중 에러가 발생하는 경우 디버깅을 위해 sql, psm 정보를 수집해서 남김 이외에도 DDL dump 명령을 통해 남긴 덤프가 남는 디렉터리

  • $TB_SID/path Tibero의 프로세스 간에 통신을 위한 소켓 파일이 있는 디렉터리입니다. Tibero가 운영 중일 때 이 위치에 존재하는 파일을 읽거나 수정해서는 안 됩니다.

lib

Tibero 서버에서 Spatial과 관련된 함수를 사용하기 위한 라이브러리 파일이 있는 디렉터리입니다.

license

Tibero의 라이선스 파일(license.xml)이 있는 디렉터리입니다. XML 형식이므로 일반 텍스트 편집기로도 라이선스의 내용을 확인할 수 있습니다.

다음은 하위 디렉터리에 대한 설명입니다.

하위 디렉터리
설명

oss_licenses

반드시 준수해야 하는 오픈소스 라이선스의 대한 정보를 확인할 수 있는 디렉터리

nls

다음은 하위 디렉터리에 대한 설명입니다.

하위 디렉터리
설명

zoneinfo

Tibero에서 사용하는 시간대 파일이 있는 디렉터리

scripts

Tibero의 데이터베이스를 생성할 때 사용하는 각종 SQL 문장이 있는 디렉터리입니다. 또한 Tibero의 현 재 상태를 보여주는 각종 뷰의 정의도 이 디렉터리에 있습니다.

다음은 하위 디렉터리에 대한 설명입니다.

하위 디렉터리
설명

pkg

Tibero에서 사용하는 패키지의 생성문이 저장되는 디렉터리

사용자 환경설정 파일 적용 및 확인

Tibero가 설치된 후에 사용자의 환경설정 파일에는 다음의 내용이 추가됩니다.

환경변수

설명

TB_HOME

Tibero가 설치된 디렉터리

만약, Tibero를 설치하는 과정에서 설치 디렉터리를 입력하지 않았다면 기본적으로 {사용자의 홈 디렉터리}/Tibero/tibero7가 TB_HOME으로 설정

TB_SID

설치 과정 중에 입력한 SID가 여기에 해당 설치 과정 중에 입력하지 않았 다면 기본적으로 tibero가 SID로 설정

LD_LIBRARY_PATH

Tibero를 사용할 때 필요한 공유 라이브러리가 위치한 경로

필요한 라이브러리는 모두 $TB_HOME/lib와 $TB_HOME/client/lib 안에 있고, OS별로 환경변수가 다르게 지정

  • SunOS, Linux : LD_LIBRARY_PATH

  • AIX : LIBPATH

PATH

Tibero를 사용하기 위한 디렉터리 경로

기본적으로 $TB_HOME/bin과 $TB_HOME/client/bin이 설정

UNIX에서는 비정상적으로 프로세스를 종료할 경우 가상 메모리 정보를 디스크로 남깁니다. (Core Dump)

이 과정에서 많은 컴퓨팅 자원을 요구하여 시스템 성능을 순간적으로 저하시키며, 이때 생성되는 Core 파 일은 많은 디스크 용량을 필요로 합니다. 따라서 Tibero에서는 이 기능을 사용하기를 권장하지 않습니다.

Core Dump 기능을 사용하지 않으려면 사용자 계정의 환경설정 파일(.profile)에 다음의 명령어를 추가합니다.

ulimit -c 0

위와 같이 사용자의 환경설정 파일이 생성되어도 실제로 적용된 것은 아닙니다. 환경설정 파일 적용을 위해 아래와 같은 과정을 수행합니다.

  1. 다음의 명령어를 입력하여 사용자 환경설정 파일을 적용합니다.

sh .profile

  1. 환경설정 파일이 제대로 적용되었는지 확인하려면 다음의 명령어를 입력합니다.

echo $TB_HOME

기동 및 종료

Tibero의 기동과 종료는 데이터베이스 관리자(DBA: Database Administrator, 이하 DBA)만 할 수 있습니다.

기동

Tibero의 기동은 tbboot 명령어를 사용한다. 옵션을 포함한 tbboot의 명령어는 다음과 같습니다.

tbboot [-h] [-v] [-l] [-C] [-c] [-t BOOTMODE]
옵션
설명

-h

tbboot 명령어의 도움말을 보여주는 옵션

-v

Tibero의 버전 정보를 보여주는 옵션

-l

Tibero의 라이선스 정보를 보여주는 옵션

-C

Tibero가 지원하는 문자 집합의 정보를 보여주는 옵션

-c

Tibero가 replication mode로 설정되어 있을 경우 replication mode를 사용하지 않는 옵션

-t BOOTMODE

Tibero 서버를 기동할 수 있는 옵션이다. 이 옵션은 생략 가능 Tibero에서는 tbboot 명령어에서 부트 모드(bootmode)를 제공

  • NOMOUNT : Tibero의 프로세스만 기동시키는 모드

  • MOUNT : 미디어 복구 등의 데이터베이스 관리를 위해 사용하는 모드

  • RECOVERY : Tibero Standby Cluster를 구축할 때 standby 쪽의 데이터베이스 를 운영하는 모드

  • NORMAL : 정상적으로 데이터베이스의 모든 기능을 사용할 수 있는 모드

  • RESETLOGS : Tibero 서버를 기동하는 과정에서 로그 파일을 초기화하며, 불 완전 미디어 복구 이후에 사용하는 모드

  • READONLY : 데이터베이스를 읽는 작업만 허용하고, 변경 작업을 허용하지 않 는 모드

  • FAILOVER : Tibero Standby Cluster 환경에서 Standby를 Primary로 사용하기 위한 모드

종료

Tibero의 종료는 tbdown 명령어를 사용합니다.

옵션을 포함한 tbdown의 명령어는 다음과 같습니다.

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 모드처럼 종료하는 모드

  • ABNORMAL : Tibero 서버에 접속하지 않고 서버 프로세스를 무조건 강제로 종 료시키는 모드

tbSQL 유틸리티를 이용한 데이터베이스 접속

tbsql 명령으로 데이터베이스에 접속합니다. 아래와 같이 데이터베이스 사용자의 ID와 패스워드를 함께 입력하여 접속할 수 있습니다.

tbsql sys/tibero

리스너를 통한 접속을 위해서는 다음과 같이 데이터베이스 사용자 ID와 패스워드 뒤에 @을 입력하고 @ 뒤에는 tbdsn.tbr 파일에 지정된 별칭을 입력합니다.

tbsql sys/tibero@tibero

사용자 계정

Tibero가 설치되면 아래와 같은 사용자 계정이 자동으로 생성됩니다.

계정
설명

SYS

데이터베이스 관리를 위한 계정으로서 시스템 패키지, 동의어, 사용자, 역할, 가상테이블, 시퀀스, 동적 뷰 등을 생성하고 관리

SYSCAT

데이터베이스 관리를 위한 정적 카탈로그 뷰를 생성하고 관리하는 계정

SYSGIS

GIS(Geographic Information System)와 관련된 테이블 생성 및 관리를 하는 계정

OUTLN

동일한 SQL을 수행할 때 항상 같은 질의 플랜(plan)으로 수행될 수 있게 관련 힌 트(hint)를 저장하는 등의 일을 하는 계정

TIBERO, TIBERO1

CONNECT, RESOURCE, DBA 역할이 부여된 샘플 사용자 계정

Last updated