TAS 인스턴스 관리

본 장에서는 TAS의 초기화 파라미터 설정과 TAS 인스턴스 기동 방법, 그리고 TAS를 사용하는 Tibero의 초기화 파라미터 설정 및 데이터베이스 생성 방법을 설명합니다.

TAS 초기화 파라미터 설정

LISTENER_PORT, MAX_SESSION_COUNT, MEMORY_TARGET, TOTAL_SHM_SIZE를 시스템 구성에 맞게 설정합니다.

참고

기본 초기화 파라미터 설정은 "Tibero 참조 안내서"를 참고합니다.

추가로 다음 초기화 파라미터들을 설정합니다.

파라미터
설명

INSTANCE_TYPE

문자열 타입의 값으로 다음 중에 설정한다.

  • 타입 : 문자열

  • 설정 가능한 값 : "TIBERO" | "AS" | "ACTIVE_STORAGE"

  • 기본값 : "TIBERO"

AS_DISKSTRING

TAS 디스크로 사용할 디스크 장치들의 경로를 설정한다.

  • 타입 : 문자열

  • 설정 가능한 값 : 디스크 장치 경로

  • 기본값 : ""

다음은 파라미터로 설정 가능한 형태에 대한 예제입니다.

  • 디스크 한 개를 지정하는 경우

"/devs/disk1"

  • 디스크 한 개 이상을 사용하는 경우(콤마로 구분)

"/devs/disk1,/devs/disk2"

  • 디스크 한 개 이상을 패턴으로 지정하는 경우

"/devs/disk*"

  • 경로 제일 앞에 '?' 문자를 사용하면, TAS의 홈 디렉터리로 치환합니다.

"?/devs/disk*"

다음 초기화 파라미터들은 필요에 따라 설정합니다.

파라미터
설명

AS_ALLOW_ON LY_RAW_DISKS

'N'으로 설정할 경우 일반 파일 시스템에 있는 파일을 TAS 디스크로 사용할 디스크 장치로 인식하도록 한다.

  • 타입 : 참, 거짓 값

  • 설정 가능한 값 : Y | N

  • 기본값 : Y

AS_WTHR_CNT

TAS 인스턴스를 기동할 때 생성할 리밸런스 스레드 수를 설정한다. 리밸런 스 작업 또는 리싱크로나이제이션 작업을 담당한다.

  • 타입 : 정수

  • 설정 가능한 값 : 양수

  • 기본값 : 10


TAS 인스턴스 관리

본 절에서는 TAS 인스턴스를 관리하는 방법에 대해서 설명합니다.

기동 전 준비 사항

  • TB_SID, TB_HOME 환경변수를 설정합니다.

  • tbsql을 사용한 접속을 위해 $TB_HOME/client/config/tbdsn.tbr 파일에 TAS 접속 정보를 설정합니다.

  • TAS 인스턴스 설정을 위한 tip 파일을 작성합니다.

  • TAS 사용을 위해서 최소 한 개 이상의 디스크 장치가 필요합니다.

  • TAS 클러스터링 기능을 사용하려면 최소 한 개 이상의 공유 디스크가 필요합니다.

TAS 기동

본 절에서는 TAS 인스턴스를 기동하는데 필요한 환경설정을 예제 파일로 설명합니다.

예제의 tip 파일을 사용하는 TAS 인스턴스는 "/devs/disk*"에 해당하는 모든 디스크 장치들을 TAS 디스크로 사용합니다.

[예 1] TAS 인스턴스 tip 파일 예제

LISTENER_PORT=9620 
MAX_SESSION_COUNT=100

MEMORY_TARGET=2G 
TOTAL_SHM_SIZE=1G

INSTANCE_TYPE=AS
AS_DISKSTRING="/devs/disk*"

TAS 인스턴스를 최초로 기동할 때 NOMOUNT 모드로 기동해야 합니다. 이는 TAS 설치를 위하여 최초의 디 스크 스페이스를 생성하기 위함입니다.

[TB_SID=as]$ tbboot nomount

NOMOUNT 모드로 기동한 TAS 인스턴스에 tbsql로 접속한 후 CREATE DISKSPACE SQL 문으로 기본 디스크 스페이스를 생성합니다.

아래의 DDL 구문은 CREATE DISKSPACE 예제입니다.

$ CREATE DISKSPACE ds0 NORMAL REDUNDANCY
FAILGROUP fg1 DISK
'/devs/disk101' NAME disk101, 
'/devs/disk102' NAME disk102, 
'/devs/disk103' NAME disk103, 
'/devs/disk104' NAME disk104 
FAILGROUP fg2 DISK
'/devs/disk201' NAME disk201, 
'/devs/disk202' NAME disk202, 
'/devs/disk203' NAME disk203, 
'/devs/disk204' NAME disk204 
ATTRIBUTE 'AU_SIZE'='4M';

기본 디스크 스페이스 생성을 완료하면 TAS 인스턴스가 자동으로 종료됩니다. 기본 디스크 스페이스가 있으면 TAS 인스턴스를 NORMAL 모드로 기동할 수 있으며, 이 상태에서 디스크 스페이스를 추가로 생성해도 인스턴스가 종료되지 않습니다.

참고

디스크 스페이스 생성에 대한 자세한 내용은 “디스크 스페이스 생성” 을 참고합니다.

다음 예제는 TAS 인스턴스 2개를 클러스터로 기동하는데 필요한 인스턴스별 tip 파일을 보여줍니다. 이 tip 파일을 사용하는 TAS 인스턴스들은 "/devs/disk*"에 해당하는 모든 공유 디스크 장치들을 TAS 디스크로 사용합니다. CM_PORT에는 CM_TIP 파일의 CM_UI_PORT에 등록한 포트를 입력해야 합니다.

[예 2] TAS 인스턴스 클러스터링 tip 파일 예제 : <<as0.tip>>

LISTENER_PORT=9620 
MAX_SESSION_COUNT=100

MEMORY_TARGET=2G 
TOTAL_SHM_SIZE=1G

INSTANCE_TYPE=AS
AS_DISKSTRING="/devs/disk*"

CLUSTER_DATABASE=Y 
LOCAL_CLUSTER_ADDR=192.168.1.1 
LOCAL_CLUSTER_PORT=20000 
CM_CLUSTER_MODE=ACTIVE_SHARED 
CM_PORT=20005
THREAD=0

[예 3] TAS 인스턴스 클러스터링 tip 파일 예제 : <<cm0.tip>>

CM_NAME=cm0 
CM_UI_PORT=20005
CM_RESOUCE_FILE=/home/tibero/config/cm0_res.crf

[예 4] TAS 인스턴스 클러스터링 tip 파일 예제 : <<as1.tip>>

LISTENER_PORT=9620 
MAX_SESSION_COUNT=100

MEMORY_TARGET=2G 
TOTAL_SHM_SIZE=1G

INSTANCE_TYPE=AS
AS_DISKSTRING="/devs/disk*"

CLUSTER_DATABASE=Y 
LOCAL_CLUSTER_ADDR=192.168.1.2 
LOCAL_CLUSTER_PORT=20000 
CM_CLUSTER_MODE=ACTIVE_SHARED 
CM_PORT=20005
THREAD=1

[예 5] TAS 인스턴스 클러스터링 tip 파일 예제 : <<cm1.tip>>

CM_NAME=cm1 
CM_UI_PORT=20005
CM_RESOUCE_FILE=/home/tibero/config/cm1_res.crf

TAS 인스턴스들을 클러스터로 기동하기 전에 먼저 하나의 TAS 인스턴스를 NOMOUNT 모드로 기동한 후 기본 디스크 스페이스를 생성해야 합니다. 기본 디스크 스페이스를 생성한 후 TAS 인스턴스들의 클러스터링을 위한 TBCM을 기동하고 클러스터링을 위한 리소스를 아래 예제와 같이 추가합니다.

클러스터 리소스를 추가할 때 cfile attribute의 경우 tip 파일 AS_DISKSTRING에 설정한 디스크 경로를 입력하되 앞에 '+'를 붙여주어야 TAS용 경로로 인식합니다. as 리소스를 추가할 때에는 envfile attribute에 [예 6]과 같이 AS 바이너리를 실행하기 위해 필요한 환경설정용 파일을 미리 생성하고 이 파일의 경로를 입력해주어야 합니다. name attribute는 가동할 인스턴스의 TB_SID와 같아야 합니다.

[CM_SID=cm0]$ tbcm -b # TBCM 기동
[CM_SID=cm0]$ cmrctl add network --name net0 --ipaddr 192.168.1.1 --portno 20010 
[CM_SID=cm0]$ cmrctl add cluster --name cls0 --incnet net0 --cfile "+/devs/disk*" 
[CM_SID=cm0]$ cmrctl start cluster --name cls0
[CM_SID=cm0]$ cmrctl add service --type as --name tas --cname cls0 
[CM_SID=cm0]$ cmrctl add as --name as0 --svcname tas --envfile 
"$TB_HOME/as0.profile" --dbhome "$TB_HOME"

[예 6] as 리소스 envfile attribute 환경설정용 파일 예제 : <<as0.profile>>

[CM_SID=cm0]$ cat $TB_HOME/as0.profile 
export TB_SID=as0

참고

  • TBCM(Tibero Cluster Manager)에 대한 자세한 설명은 "Tibero 관리자 안내서"를 참고합니다.

  • Cluster Manager가 필요한 이유는 가용성을 높이고 관리의 편의를 지원하기 위함입니다. 이를 이용하면 여러 Active Storage 인스턴스 중 일부가 다운되더라도 지속적인 운영이 가능합니다.

이제 TB_SID가 as0인 TAS 인스턴스를 기동할 수 있습니다.

CM_SID=cm0]$ cmrctl start as --name as0 # 또는 [TB_SID=as0]$ tbboot 
[CM_SID=cm0]$ cmrctl show # 리소스 정보 확인

TB_SID가 as1인 TAS 인스턴스를 기동하기 전에, 해당 인스턴스의 REDO 스레드를 추가해야 합니다.

$ tbsql sys/tibero@as0 

tbSQL 7

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

Connected to Tibero.

SQL> ALTER DISKSPACE ds0 ADD THREAD 1;

Diskspace altered.

여기서 ds0은 위에서 생성한 기본 디스크 스페이스의 이름이며, REDO 스레드 번호 1은 TB_SID가 as1인 TAS 인스턴스의 tip 파일 [예 4]에 있는 THREAD 초기화 파라미터 값과 동일해야 합니다.

또한 as0을 기동할 때와 동일한 방식으로 TBCM을 기동하고 클러스터링을 위한 리소스를 아래와 같이 추가해주어야 합니다. cm0 설정 때 추가해 주었던 서비스 리소스는 추가할 필요가 없습니다.

[CM_SID=cm1]$ tbcm -b # TBCM 기동
[CM_SID=cm1]$ cmrctl add network --name net1 --ipaddr 192.168.1.2 --portno 20010 
[CM_SID=cm1]$ cmrctl add cluster --name cls0 --incnet net1 --cfile "+/devs/disk*" 
[CM_SID=cm1]$ cmrctl start cluster --name cls0
[CM_SID=cm1]$ cmrctl add as --name as1 --svcname tas --envfile 
"$TB_HOME/as1.profile" --dbhome "$TB_HOME"

[예 7] as 리소스 envfile attribute 환경설정용 파일 예제 : <<as1.profile>>

[CM_SID=cm1]$ cat $TB_HOME/as1.profile 
export TB_SID=as1

이제 TB_SID가 as1인 TAS 인스턴스를 기동할 수 있습니다.

[CM_SID=cm1]$ cmrctl start as --name as1 # 또는 [TB_SID=as1]$ tbboot 
[CM_SID=cm1]$ cmrctl show # 리소스 정보 확인

TAS 종료

종료할 TAS 인스턴스에 대해 tbdown 명령을 실행합니다. 이때, 해당 TAS 인스턴스를 사용중인 모든 Tibero인스턴스들이 같이 종료됩니다.

참고

Tibero 인스턴스가 사용 중인 TAS 인스턴스를 먼저 강제종료할 경우 Tibero 인스턴스가 비정상 종료하므로 가급적 해당 Tibero 인스턴스를 먼저 종료한 후 TAS 인스턴스를 종료합니다.

TAS 바이너리 교체

이미 TAS 인스턴스를 구성해둔 상태에서 바이너리를 교체할 경우 기존 버전과 신규 버전 사이의 호환성 문제를 해소하기 위해 아래와 같은 동작을 수행해야 합니다.

$ tbsql sys/tibero@as0 

tbSQL 7

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

Connected to Tibero.

SQL> ALTER DISKSPACE ds0 CHECK VERSION;

Diskspace altered.

여기서 ds0은 기본 디스크 스페이스의 이름입니다.


Tibero 인스턴스 구성

Tibero 인스턴스가 TAS의 디스크 스페이스를 사용하려면 다음 초기화 파라미터를 Tibero의 tip 파일에 설정합니다.

파라미터
설명

USE_ACTIVE_STORAGE

Active Storage 파일 사용 여부를 결정한다. 'Y'로 설정한다.

  • 타입 : 참, 거짓 값

  • 설정 가능한 값 : Y | N

  • 기본값 : N

AS_ADDR

Tibero 인스턴스가 사용할 TAS 인스턴스의 IP 주소를 설정한다.

  • 타입 : 문자열

  • 설정 가능한 값 : IP 주소 문자열

  • 기본값 : "127.0.0.1"

AS_PORT

Tibero 인스턴스가 사용할 TAS 인스턴스의 'LISTENER_PORT' 값으로 설정한다.

  • 타입 : 정수

  • 설정 가능한 값 : 1024 ~ 65535

  • 기본값 : 0

다음은 TAS 인스턴스를 사용하는 Tibero 인스턴스를 기동하는데 필요한 tip 파일을 보여줍니다. 이 tip 파일을 사용하는Tibero 인스턴스는 디스크 스페이스 ds0에 컨트롤 파일을 저장합니다.

[예 8] TAS 인스턴스를 사용하는 Tibero 인스턴스 tip 파일 예제

DB_NAME=tibero 
CONTROL_FILES="+DS0/c1.ctl"

LISTENER_PORT=8629 
MAX_SESSION_COUNT=20

TOTAL_SHM_SIZE=1G 
MEMORY_TARGET=2G

USE_ACTIVE_STORAGE=Y 
AS_PORT=9620

DB_CREATE_FILE_DEST 초기화 파라미터를 '+{디스크 스페이스 이름}'으로 설정할 경우, LOG_ARCHIVE_DEST, PSM_SHLIB_DIR, JAVA_CLASS_PATH 초기화 파라미터들을 직접 설정하지 않으면 기본값이 DB_CREATE_FILE_DEST의 하위 디렉터리로 설정됩니다. 경로를 설정해 준 경우 파일들이 해당 디렉터리 아래에 생성됩니다.

DB_CREATE_FILE_DEST="+DS0"
LOG_ARCHIVE_DEST="/home/tibero/database/tibero/archive" 
PSM_SHLIB_DIR="/home/tibero/database/tibero/psm" 
JAVA_CLASS_PATH="/home/tibero/database/tibero/java"

다음 예제는 TAS 파일을 사용하는 Tibero 인스턴스의 데이터베이스 생성을 보여줍니다. 데이터베이스를 구성하는 파일들 중 디스크 스페이스 ds0에 저장할 파일들의 경로를 '+DS0/...' 형태로 지정합니다.

[예 9] TAS 파일을 사용하는 Tibero 인스턴스의 CREATE DATABASE 예제

CREATE DATABASE "tibero"
    USER SYS IDENTIFIED BY tibero 
    MAXINSTANCES 8
    MAXDATAFILES 100 
    CHARACTER SET MSWIN949
    LOGFILE GROUP 1 '+DS0/log0001.log' SIZE 100M, 
            GROUP 2 '+DS0/log0002.log' SIZE 100M, 
            GROUP 3 '+DS0/log0003.log' SIZE 100M
    MAXLOGGROUPS 255
    MAXLOGMEMBERS 8 
    NOARCHIVELOG
    DATAFILE '+DS0/system001.dtf' SIZE 100M 
            AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
    SYSSUB DATAFILE '+DS0/syssub001.dtf' SIZE 100M
            AUTOEXTEND ON NEXT 100M 
    DEFAULT TEMPORARY TABLESPACE tmp
            TEMPFILE '+DS0/temp001.dtf' SIZE 100M 
            AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED 
            EXTENT MANAGEMENT LOCAL AUTOALLOCATE
    UNDO TABLESPACE undo00
            DATAFILE '+DS0/undo001.dtf' SIZE 100M 
            AUTOEXTEND ON NEXT 100M
            EXTENT MANAGEMENT LOCAL AUTOALLOCATE 
    DEFAULT TABLESPACE usr
            DATAFILE '+DS0/usr001.dtf' SIZE 100M 
            AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED 
            EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

참고 Tibero 인스턴스의 초기화 파라미터 설정은 "Tibero 참조 안내서", 데이터베이스 생성 구문은 "Tibero SQL 참조 안내서"를 참고합니다.

Last updated