[Docker] Tibero6 설치하는 방법.(이미지 다운로드, 컨테이너 생성/실행, 원격에서 Tibero 서버로 접속 ...)

2021. 11. 5. 13:52Tool/docker

728x90
728x90

도커 서버 설치 참고.

docker hub에서 다운받을 tibero6 이미지 확인

도커 로그인 수행.

$docker login

tibero6 이미지 다운로드

$docker pull dimensigon/tibero

다운로드한 이미지 확인.

$docker images | grep tibero
dimensigon/tibero           latest       59c86c1e4794        3 days ago          2.21GB

도커 서버에 볼륨(tibero6) 생성.

$docker volume create tibero6

티베로6 컨테이너 생성.

  • 볼륨 처리 옵션 : -v
  • 포트바인딩 처리 옵션 : -p
$docker run -idt --name tibero6 -p 8629:8629 -v tibero6:/home/tibero/tibero6/:z --restart=always dimensigon/tibero

tibero6 컨테이너 기동 확인.

$docker ps | grep tibero6
943b74b5f44f        dimensigon/tibero       "/bin/sh -c 'su - ..."   30 seconds ago      Up 29 seconds       0.0.0.0:8629->8629/tcp, 8630-8649/tcp            tibero6

컨테이너 접속.

$docker exec -it tibero6 bash

prepare.bash 실행.

  • tibero 사용을 위한 패키지 다운로드, 계정 추가 등의 작업을 수행하는 스크립트 파일, 작업에 20분정도 소요됨.
bash /root/prepare.bash

티베로 환경변수 적용.

  • [/home/tibero] 경로에서 .bash_profile 실행.
[/home/tibero] $. ./.bash_profile

티베로 DB 서버/클라이언트 설정 파일 실행.

  • [$TB_HOME/config] 경로에서 gen_tip.sh 실행
[$TB_HOME/config] ./gen_tip.sh 
Using TB_SID "tibero"
There's already /home/tibero/tibero6/config/tibero.tip!!  Nothing has changed!!
Already exists /home/tibero/tibero6/config/psm_commands!! Nothing has changed
There's already /home/tibero/tibero6/client/config/tbdsn.tbr!!
Client config file already contains SID "tibero":
    please check if port number equals 8629...
> #-------------------------------------------------
> # /home/tibero/tibero6/client/config/tbdsn.tbr
> # Network Configuration File.
> # Generated by gen_tip.sh at Wed Nov  3 05:59:18 UTC 2021
> tibero=(
>     (INSTANCE=(HOST=localhost)
>               (PORT=8629)
>               (DB_NAME=tibero)
>     )
> )
Running client/config/gen_esql_cfg.sh
Done.

티베로 라이선스 발급 & 적용.

1.테크넷 접속

2.라이센스 신청

3.발급 신청 제출.(host name은 container ID임.)

4.이메일로 발급받은 라이선스를 도커 서버로 이관.

5.도커 서버 경로 -> 컨테이너 내부 경로 파일 복사 명령어로 라이선스를 컨테이너 내부로 이관

노마운트로 티베로 서버 기동.

$tbboot nomount
Listener port = 8629
Tibero 6  
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Tibero instance started up (NOMOUNT mode).

nomount mode로 기동된 tibero 서버에 sys 계정으로 접속.

$tbsql sys/tibero
tbSQL 6  
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Connected to Tibero.
SQL>

티베로 서버에 DB(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;

티베로 서버 재기동.

$tbboot
Listener port = 8629
Tibero 6  
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Tibero instance started up (NORMAL mode).

테이블 스페이스 생성 테스트.

SQL> CREATE TABLESPACE gomu92
DATAFILE '/home/tibero/tibero6/database/tibero/gomu92.dbf' SIZE 500M
AUTOEXTEND ON NEXT 50M;
Tablespace created.

계정 생성 테스트.

SQL> CREATE USER gomu92 IDENTIFIED BY gomu92 DEFAULT TABLESPACE gomu92;
User 'GOMU92' created.
SQL> grant connect, resource, dba to gomu92;
Granted.

외부에서 컨테이너 접속이 가능한지 확인.(포트 바인딩 확인)

1.admin tool을 활용한 접속 확인.

  • sys 계정의 passwd는 "tibero"이며, 글쓴이는 tibero admin을 활용함.

2.tibero client 환경에서 tbsql을 활용한 접속 확인.

2.1.tibero client 환경의 $TB_HOME/client/config/tbdsn.tbr 설정.

tibero6=(

    (INSTANCE=(HOST=xxx.xxx.xxx.xxx)

              (PORT=8629)

              (DB_NAME=tibero)

    )

)

2.2.tibero client 환경에서 sqlplus를 사용하여 접속 확인.

$tbsql sys/tibero@tibero6
tbSQL 6
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Connected to Tibero using tibero6.
SQL>

컨테이너 볼륨 처리 확인.

1.컨테이너의 볼륨 경로 확인.

$pwd
/home/tibero/tibero6
$ls
bin  client  config  database  instance  lib  license  nls  scripts

2.도커 서버(로컬/호스트)의 볼륨 경로 확인.

$pwd
/var/lib/docker/volumes/tibero6/_data
$ls
bin  client  config  database  instance  lib  license  nls  scripts

3.도커 서버(로컬/호스트)의 볼륨 경로에서 생성한 테이블 스페이스(gomu92.dbf)가 존재하는지 확인.

$pwd
/var/lib/docker/volumes/tibero6/_data/database/tibero
$ls
c1.ctl      java        log002.log  system001.dtf  tpr_ts.dtf   usr001.dtf
gomu92.dbf  log001.log  log003.log  temp001.dtf    undo001.dtf
728x90
728x90