TAS 인스턴스 관리
본 장에서는 TAS의 초기화 파라미터 설정과 TAS 인스턴스 기동 방법, 그리고 TAS를 사용하는 Tibero의 초기화 파라미터 설정 및 데이터베이스 생성 방법을 설명합니다.
TAS 초기화 파라미터 설정
LISTENER_PORT, MAX_SESSION_COUNT, MEMORY_TARGET, TOTAL_SHM_SIZE를 시스템 구성에 맞게 설정합니다.
추가로 다음 초기화 파라미터들을 설정합니다.
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
이제 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인스턴스들이 같이 종료됩니다.
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;
Last updated