2019년 10월 6일 일요일

[CentOS 7] Tibero6 설치 방법

[CentOS7] Tibero6 설치 방법

이 문서는 JDK(jdk1.5.0_17 이상의 버전)가 이미 설치되어있다는것을 전제로 한다.
 *주의 : 티베로는 현재 jdk1.8 이상은 지원하지 않는다.(2019.10.27)

1.아래의 사이트에서 tibero6와 라이센스를 다운로드 받아둔다.
https://technet.tmaxsoft.com/ko/front/main/main.do

클릭하면 확대


2. 다음은 티베로 설치 전, 사전설치해야할 패키지들이다.
* 아래의 해당 버전 이상의 패키지가 설치되어 있어야 한다.
[Packages]
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

3. 환경설정 관련 사항
 # 커널파라미터
  - 설정파일  /etc/sysctl.conf
  - 설정값 (하단에 다음의 값을 추가한다)
-------------------------------------------------------------------------------
kernel.shmmni = 4096
#kernel.shmall = ceil(shmmax/PAGE_SIZE) : 2147483648/1024
kernel.shmall = 2097152
#kernel.shmmax = 물리적인 메모리의 절반(현재 4G)
kernel.shmmax = 2147483648
kernel.sem = 10000 32000 10000 10000

fs.file-max = 6815744

net.ipv4.ip_local_port_range = 1024 65500
--------------------------------------------------------------------------------

 # shell Limit 파라미터
  - 설정파일 /etc/security/limits.conf
  - 설정값 (하단에 다음의 값을 추가한다)
-------------------------------------------------------------------------------
#setting for tibero
tibero           soft    nproc           2047
tibero           hard    nproc           16384
tibero           soft    nofile          1024
tibero           hard    nofile          65536
--------------------------------------------------------------------------------

 #RHEL 7.2(CentOS도 동일)이상 버전 부터는 다음의 커널 파라미터 설정이 필요하다.
  - 설정파일 /etc/sysyemd/logind.conf
  - 설정값 (하단에 다음의 값을 추가한다. 또는 #(주석)을 지운다.)
-------------------------------------------------------------------------------
RemoveIPC=no
-------------------------------------------------------------------------------

4. 설정을 마쳤으면 설치를 원하는 위치에 tibero를 설치한다.
/home/tibero/Tibero 디렉터리에 압축파일을 해제한다.

그 후 발급받은 라이선스 파일(license.xml)을
$TB_HOME/license 디렉터리에 복사한다

-압축풀기 명령-
 tar -zxvf tibero6-bin-FS07_CS_1902-linux64-166256-opt.tar.gz

설치를 했으면 다음과 같이 환경변수를 설정한다
  - 설정파일 /etc/profile
export TB_HOME=/home/tibero/Tibero/tibero6
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

5. $TB_HOME/config 디렉터리에서 다음의 명령어를 입력한다

./gen_tip.sh

이 명령이 실행되면 환경 파일(.tip)과 tbdsn.tbr, psm_commands 파일이 생성된다.
tibero@Tibero:~/Tibero/tibero6/config$ gen_tip.sh
Using TB_SID "tibero"
/home/tibero/Tibero/tibero6/config/tibero.tip generated
/home/tibero/Tibero/tibero6/config/psm_commands generated
/home/tibero/Tibero/tibero6/client/config/tbdsn.tbr generated.
Running client/config/gen_esql_cfg.sh
Done.

6. Tibero 서버를 'NOMOUNT 모드'로 기동한다.
tibero@Tibero:~/Tibero/tibero6/bin$ tbboot nomount
Change core dump dir to /home/tibero6/tibero6/bin/prof.
Listener port = 8629

Tibero6

TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Tibero instance started up (NOMOUNT mode).

7. tbSQL 유틸리티를 이용하여 데이터베이스에 접속한다. 본 예제에서는 'sys' 사용자로 접속한다.
tibero@Tibero:~/Tibero/tibero6/client/bin$ tbsql sys/tibero

tbSQL 6

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

Connected to Tibero.

SQL>

8. 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 100M, 
    group 2 'log002.log' size 100M, 
    group 3 'log003.log' size 100M 
  maxloggroups 255 
  maxlogmembers 8 
  noarchivelog 
    datafile 'system001.dtf' size 100M autoextend on next 100M maxsize unlimited 
    default temporary tablespace TEMP 
      tempfile 'temp001.dtf' size 100M autoextend on next 100M maxsize unlimited 
      extent management local autoallocate 
    undo tablespace UNDO 
      datafile 'undo001.dtf' size 100M autoextend on next 100M maxsize unlimited 
      extent management local autoallocate;
Database created.

SQL> quit
Disconnected.

9. 데이터베이스 생성이 완료되면 tbboot 명령어로 Tibero를 다시 기동한다.
tibero@Tibero:~/Tibero/tibero6/bin$ tbboot
Change core dump dir to /home/tibero6/tibero6/bin/prof.
Listener port = 25010

Tibero 6  

TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Tibero instance started up (NORMAL mode).

10. $TB_HOME/scripts 디렉터리에서 system.sh 셸을 실행한다. 이 셸을 실행하면 현재 디렉터리에 있는 SQL 파일이 수행된다. SQL 파일을 수행하면 role, System user, view, package 등이 생성된다. 사용되는 sys 및 syscat 계정에 대한 기본 암호는 각각 tibero, syscat이다.
tibero@Tibero:~/Tibero/tibero6/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/tibero6/scripts/pkg/pkg_standard.sql...
    Running /home/tibero/Tibero/tibero6/scripts/pkg/pkg_dbms_output.sql...
    Running /home/tibero/Tibero/tibero6/scripts/pkg/pkg_dbms_lob.sql...
    Running /home/tibero/Tibero/tibero6/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/tibero6/tibero6/instance/tibero/log/system_init.log.

11. Tibero의 설치가 정상적으로 완료되면 Tibero 프로세스가 실행된다. 이 프로세스는 다음의 명령어를 실행하면 확인할 수 있다.
tibero@Tibero:~/Tibero/tibero6/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    ...  

12. 디렉터리 구조
Tibero가 설치되면 다음과 같은 디렉터리가 생성된다.
$TB_HOME
    +- bin
    |   |
    |   +- update
    |
    +- client
    |   |
    |   +- bin
    |   +- config
    |   +- include
    |   +- lib
    |   |   |
    |   |   +- jar
    |   |   +- php
    |   +- ssl
    |   |   |
    |   |   +- misc
    |   +- epa
    |   |   |
    |   |   +- java
    |   |       |
    |   |       +- config
    |   |       +- lib
    |   +- win32
    |   |   |
    |   |   +- bin
    |   |   +- lib
    |   +- win64
    |       |
    |       +- bin
    |       +- 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로 바꿔서 읽어야 한다.

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

Tibero가 설치된 후에 사용자의 환경설정 파일에는 다음의 내용이 추가된다.
환경변수설명
TB_HOME
Tibero가 설치된 디렉터리이다.
만약, Tibero를 설치하는 과정에서 설치 디렉터리를 입력하지 않았다면 디폴트로 {사용자의 홈 디렉터리}/Tibero/tibero6가 TB_HOME으로 설정된다.
TB_SID설치 과정 중에 입력한 SID가 여기에 해당한다. 설치 과정 중에 입력하지 않았다면 디폴트로 tibero가 SID로 설정된다.
LD_LIBRARY_PATH
Tibero를 사용할 때 필요한 공유 라이브러리가 위치한 경로이다.
필요한 라이브러리는 모두 $TB_HOME/lib와 $TB_HOME/client/lib 안에 있고, OS별로 환경변수가 다르게 지정된다.
  • SunOS, Linux: LD_LIBRARY_PATH
  • HP-UX: SHLIB_PATH
  • AIX: LIBPATH
PATHTibero를 사용하기 위한 디렉터리 경로이다. 디폴트로 $TB_HOME/bin과 $TB_HOME/client/bin이 설정된다.


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

 # 기동
Tibero의 기동은 tbboot 명령어를 사용한다. 옵션을 포함한 tbboot의 명령어는 다음과 같다.
tbboot [-h] [-v] [-l] [-C] [-c] [-t BOOTMODE]
옵션설명
-htbboot 명령어의 도움말을 보여주는 옵션이다.
-vTibero의 버전 정보를 보여주는 옵션이다.
-lTibero의 라이선스 정보를 보여주는 옵션이다.
-CTibero가 지원하는 문자 집합의 정보를 보여주는 옵션이다.
-cTibero가 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]
옵션설명
-htbdown 명령어의 도움말을 보여주는 옵션이다.
-t DOWNMODE
Tibero 서버를 기동할 수 있는 옵션이다. 이 옵션은 생략이 가능하다.
Tibero에서는 tbdown 명령어에서 다운 모드(downmode)를 제공한다.
  • NORMAL: 일반적인 종료 모드이다.
  • POST_TX: 모든 트랜잭션이 끝날 때까지 대기한 후 Tibero를 종료하는 모드이다.
  • IMMEDIATE: 현재 수행 중인 모든 작업을 강제로 중단시키며 진행 중인 모든 트랜잭션을 롤백하고 Tibero를 종료하는 모드이다.
  • ABORT: Tibero의 프로세스를 강제로 종료하는 모드이다.
  • SWITCHOVER: Standby DB와 Primary DB를 동기화시킨 후 Primary DB를 NORMAL 모드처럼 종료하는 모드이다.
  • ABNORMAL: Tibero 서버에 접속하지 않고 서버 프로세스를 무조건 강제로 종료시키는 모드이다.


15. tbSQL 유틸리티를 이용한 데이터베이스 접속
tbsql 명령으로 데이터베이스에 접속한다. 다음과 같이 데이터베이스 사용자의 ID와 패스워드를 함께 입력하여 접속할 수 있다.
tbsql sys/tibero

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

16. 사용자 계정
Tibero가 설치되면 아래와 같은 사용자 계정이 자동으로 생성된다.
계정설명
SYS데이터베이스 관리를 위한 계정으로서 시스템 패키지, 동의어, 사용자, 역할, 가상 테이블, 시퀀스, 동적 뷰 등을 생성하고 관리한다.
SYSCAT데이터베이스 관리를 위한 정적 카탈로그 뷰를 생성하고 관리하는 계정이다.
OUTLN동일한 SQL을 수행할 때 항상 같은 질의 플랜(plan)으로 수행될 수 있게 관련 힌트(hint)를 저장하는 등의 일을 하는 계정이다.
SYSGISGIS(Geographic Information System)와 관련된 테이블 생성 및 관리를 하는 계정이다.
TIBEROCONNECT, RESOURCE, DBA 역할이 부여된 샘플 사용자 계정이다.
TIBERO1CONNECT, RESOURCE, DBA 역할이 부여된 샘플 사용자 계정이다.

17. 데이터베이스 제거
Linux 계열에서 콘솔 모드로 Tibero를 제거하는 순서는 다음과 같다.

$TB_HOME/uninstall에서 다음 명령어를 실행한다.
$ $TB_HOME/.installation/Tibero_Uninstaller

    ......중간 생략......

===============================================================================
Introduction
------------

Tibero_Uninstaller will remove the features that were installed during product
installation. 
All data files in the TB_HOME directory will be deleted. 
Files and folders created after the installation will not be removed.

To continue, press the <ENTER>. To cancel Uninstallation, enter 'quit'.

PRESS <ENTER> TO CONTINUE: 
다음과 같이 제거가 완료되면 다음과 같은 메시지가 출력된다.
===============================================================================
Uninstallation Complete
-----------------------
All items of Tibero have been successfully uninstalled.

===============================================================================
PRESS <ENTER> TO CONTINUE: 
Tibero 제거가 완료되면 콘솔 창으로 자동으로 빠져 나온다. Tibero를 제거하는 과정에서 데이터베이스 파일은 삭제되지만 물리적인 파일은 삭제되지 않는다.

따라서 물리적인 파일은 제거 과정이 모두 끝난 후 다음과 같이 별도로 운영체제의 명령어를 이용하여 삭제한다.
$ rm -rf Tibero

18. 수동 제거
Linux 계열에서 수동 모드로 Tibero를 제거하는 순서는 다음과 같다.

Tibero를 종료한다.
tbdown

Tibero가 설치된 디렉터리를 포함한 모든 하위 디렉터리를 해당 운영체제의 명령어로 삭제한다.
rm –rf $TB_HOME





댓글 없음: