설치를 위해서 리눅스 8.6에서 진행했고 Tibero바이너리는 Tibero를 통해서 제공 받은 바이너리로 진행 하였다.
OS : Red Hat Enterprise Linux release 8.6 (Ootpa)
DB : Tibero6 FS06 database TAC 3node 설치+ Rawdevice 구성(스토리지공유)
서버: 동일 환경으로 3ea 필요
서버 환경 모두 세팅된 후 부터 티베로 세팅만 작성했습니다
/*##############################################
TAC 설치 3node
##############################################*/
1. OS 설치 후 서버에 Tibero환경을 설치 하기 위한 경로는 지정 해야한다.
2. Technet을 통해 데모 라이선스(enterprise)를 다운 받은 후 tibero6/license 위치에 업로드 한다.(각 node당 hostname에 맞게) 3개를 hostname에 맞게 다운로드 한다
3..bash_profile 설정 각 노드에 아래와 같이 환경 설정을 넣는다
TB_SID나 CM_SID는 각 명칭에 맞게 수정하여 세팅
### Tibero RDBMS 6 ENV ###
export TB_HOME=/TIBERO/TIBERO6
export TB_SID=TAC1
export TB_PROF_DIR=$TB_HOME/bin/prof
export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin:$PATH
export LD_LIBRARY_PATH=$TB_HOME/lib:$TB_HOME/client/lib:$LD_LIBRARY_PATH
#### CM settings ###
export CM_HOME=/TIBERO/TIBERO6
export CM_SID=CM1
alias cmcfgv='vi $CM_HOME/config/$CM_SID.tip'
alias show='cmrctl show'
4.TAC tip 파일 생성
#-------------------------------------------------------------------------------
#
# TAC1 parameter
#
#-------------------------------------------------------------------------------
DB_NAME=TAC
LISTENER_PORT=4010
--본인은 rawdevice로 구성하여 아래와 같이 세팅됨
CONTROL_FILES="/dev/raw_vg/rlv_scontrol1_raw_01g","/dev/raw_vg/rlv_scontrol2_raw_01g"
#LOG_DEFAULT_DEST="/TIBERO/TBLOG"
MAX_SESSION_COUNT=1000
TOTAL_SHM_SIZE=70G
MEMORY_TARGET=100G
LOG_BUFFER=20M
-- 아카이브 파일 경로에 맞게 설정
LOG_ARCHIVE_DEST="/TBARCH"
#### TAC ENV #####
THREAD=0
UNDO_TABLESPACE=UNDO0
CLUSTER_DATABASE=Y
--CM클러스터 IP및 포트 설정 중복되지 않게 설정
LOCAL_CLUSTER_ADDR=50.0.0.131
LOCAL_CLUSTER_PORT=11029
CM_PORT=11039
#-------------------------------------------------------------------------------
#
# TAC2 initialization parameter
#
#-------------------------------------------------------------------------------
DB_NAME=TAC
LISTENER_PORT=4010
CONTROL_FILES="/dev/raw_vg/rlv_scontrol1_raw_01g","/dev/raw_vg/rlv_scontrol2_raw_01g"
#LOG_DEFAULT_DEST="/TIBERO/TBLOG"
MAX_SESSION_COUNT=1000
TOTAL_SHM_SIZE=70G
MEMORY_TARGET=100G
LOG_BUFFER=20M
LOG_ARCHIVE_DEST="/TBARCH"
#### TAC ENV #####
THREAD=1
UNDO_TABLESPACE=UNDO1
CLUSTER_DATABASE=Y
LOCAL_CLUSTER_ADDR=50.0.0.133
LOCAL_CLUSTER_PORT=11029
CM_PORT=11039
#-------------------------------------------------------------------------------
#
# TAC3 initialization parameter
#
#-------------------------------------------------------------------------------
DB_NAME=TAC
LISTENER_PORT=4010
CONTROL_FILES="/dev/raw_vg/rlv_scontrol1_raw_01g","/dev/raw_vg/rlv_scontrol2_raw_01g"
MAX_SESSION_COUNT=1000
TOTAL_SHM_SIZE=70G
MEMORY_TARGET=100G
LOG_BUFFER=20M
LOG_ARCHIVE_DEST="/TBARCH"
#### TAC ENV #####
THREAD=2
UNDO_TABLESPACE=UNDO2
CLUSTER_DATABASE=Y
LOCAL_CLUSTER_ADDR=50.0.0.135
LOCAL_CLUSTER_PORT=11029
CM_PORT=11039
5. CM tip 파일 생성
=============
CM1.tip
=============
CM_NAME=CM1
CM_UI_PORT=11039
CM_RESOURCE_FILE=/TIBERO/TIBERO6/config/cm1_res
#CM_WATCHDOG_EXPIRE=290
#CM_HEARTBEAT_EXPIRE=300
CM_WATCHDOG_EXPIRE=25
CM_HEARTBEAT_EXPIRE=30
CM_ENABLE_FAST_NET_ERROR_DETECTION=Y
CM_RESOURCE_FILE_BACKUP=/TIBERO/TIBERO6/config/cm1_res_bak
CM_RESOURCE_FILE_BACKUP_INTERVAL=1440
=============
CM2.tip
=============
CM_NAME=CM2
CM_UI_PORT=11039
CM_RESOURCE_FILE=/TIBERO/TIBERO6/config/cm2_res
#CM_WATCHDOG_EXPIRE=290
#CM_HEARTBEAT_EXPIRE=300
CM_WATCHDOG_EXPIRE=25
CM_HEARTBEAT_EXPIRE=30
CM_ENABLE_FAST_NET_ERROR_DETECTION=Y
CM_RESOURCE_FILE_BACKUP=/TIBERO/TIBERO6/config/cm2_res_bak
CM_RESOURCE_FILE_BACKUP_INTERVAL=1440
=============
CM3.tip
=============
CM_NAME=CM3
CM_UI_PORT=11039
CM_RESOURCE_FILE=/TIBERO/TIBERO6/config/cm3_res
#CM_WATCHDOG_EXPIRE=290
#CM_HEARTBEAT_EXPIRE=300
CM_WATCHDOG_EXPIRE=25
CM_HEARTBEAT_EXPIRE=30
CM_ENABLE_FAST_NET_ERROR_DETECTION=Y
CM_RESOURCE_FILE_BACKUP=/TIBERO/TIBERO6/config/cm3_res_bak
CM_RESOURCE_FILE_BACKUP_INTERVAL=1440
6.tbdsn.tbr
bash_profile을 세팅 후 gen_tip.sh를 수행했으면 기본적은 세팅정보와 파일이 생성됨니다.
그렇기 때문에 tbdsn파일은 환경에 맞게 수정바람니다.
7.tbcm 기동동 클러스터 세팅
각 서버의 interface정보를 확인 하여 tbcm등록시 참고 합니다.
$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 xx.xx.xx.xx 0.0.0.0 UG 0 0 0 ens192 <<
xx.xx.xx.xx 0.0.0.0 255.255.255.0 U 0 0 0 ens192 <<
xx.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ens161
각 노드별 tbcm를 구동한다음 클러스터에 network, Cluster등을 등록합니다.
--<node #1> network 등록
cmrctl add network --name inter1 --nettype private --ipaddr 50.0.0.131 --portno 21039
cmrctl add network --name pub1 --nettype public --ifname ens192
cmrctl add cluster --name cluster1 --incnet inter1 --pubnet pub1 --cfile "/dev/raw_vg/rlv_cluster00_05g"
cmrctl start cluster --name cluster1
cmrctl show
--<node #2> network 등록
cmrctl add network --name inter2 --nettype private --ipaddr 50.0.0.133 --portno 21039
cmrctl add network --name pub2 --nettype public --ifname ens192
cmrctl add cluster --name cluster1 --incnet inter2 --pubnet pub2 --cfile "/dev/raw_vg/rlv_cluster00_05g"
cmrctl start cluster --name cluster1
cmrctl show
--<node #3> network 등록
cmrctl add network --name inter3 --nettype private --ipaddr 50.0.0.135 --portno 21039
cmrctl add network --name pub3 --nettype public --ifname ens192
cmrctl add cluster --name cluster1 --incnet inter3 --pubnet pub3 --cfile "/dev/raw_vg/rlv_cluster00_05g"
cmrctl start cluster --name cluster1
cmrctl show
8. CM이 정상적으로 등록되었다면 instance및 서비스를 등록한다
CM에 TAC service & instance 등록
--<node #1>
. .bash_profile
echo $TB_SID -> TAC1확인
$ cmrctl add service --name TAC --cname cluster1 --type db
$ cmrctl add db --name TAC1 --svcname TAC --dbhome $TB_HOME --envfile $HOME/.bash_profile
--<node #2>
. .bash_profile
echo $TB_SID -> TAC2확인
$ cmrctl add db --name TAC2 --svcname TAC --dbhome $TB_HOME --envfile $HOME/.bash_profile
--<node #3>
. .bash_profile
echo $TB_SID -> TAC3확인
$ cmrctl add db --name TAC3 --svcname TAC --dbhome $TB_HOME --envfile $HOME/.bash_profile
9.TAC 기동 및 DB생성
--tac1번 서버만 DB를 nomount단계로 올려서 DB생성을 한다
> tbboot nomount
--tibero설치 디폴트 패스워드가 tibero이므로 설치 후 바로 바꾼다..
>tbsql sys/tibero
CREATE DATABASE "TAC"
USER sys IDENTIFIED BY tibero
MAXDATAFILES 2048
CHARACTER SET UTF8
LOGFILE
GROUP 0 ('/dev/raw_vg/rlv_redo011_02g', '/dev/raw_vg/rlv_redo012_02g') SIZE 200M,
GROUP 1 ('/dev/raw_vg/rlv_redo021_02g', '/dev/raw_vg/rlv_redo022_02g') SIZE 200M,
GROUP 2 ('/dev/raw_vg/rlv_redo031_02g', '/dev/raw_vg/rlv_redo032_02g') SIZE 200M,
GROUP 3 ('/dev/raw_vg/rlv_redo041_02g', '/dev/raw_vg/rlv_redo042_02g') SIZE 200M,
GROUP 4 ('/dev/raw_vg/rlv_redo051_02g', '/dev/raw_vg/rlv_redo052_02g') SIZE 200M
MAXLOGFILES 100
MAXLOGMEMBERS 8
ARCHIVELOG
DATAFILE '/dev/raw_vg/rlv_system001_05g' SIZE 500M AUTOEXTEND OFF
DEFAULT TABLESPACE USR
DATAFILE '/dev/raw_vg/rlv_ts_usr_05g' SIZE 500M AUTOEXTEND OFF
DEFAULT TEMPORARY TABLESPACE TEMP
TEMPFILE '/dev/raw_vg/rlv_temp001_10g' SIZE 10000M AUTOEXTEND OFF
UNDO TABLESPACE UNDO0
DATAFILE '/dev/raw_vg/rlv_undo001_20g' SIZE 20000M AUTOEXTEND OFF
;
정상적으로 DB가 생성되면 자동으로 immediate됨
10.DB생성 후 인스턴스별로 thread의 undo, redo 추가 필요
모든 용량은 각 사이즈에 맞게 조정바람
--<node #1>
tbboot
tbsql sys/tibero
alter tablespace undo0 add datafile '/dev/raw_vg/rlv_undo002_20g' size 20000M;
alter tablespace temp add tempfile '/dev/raw_vg/rlv_temp002_10g' size 10000M;
alter tablespace temp add tempfile '/dev/raw_vg/rlv_temp003_10g' size 10000M;
create tablespace SYSSUB datafile '/dev/raw_vg/rlv_tpr_ts_05g' size 500M autoextend off;
--<node #1>
--. 2번 노드에 undo 및 redo 추가
CREATE UNDO TABLESPACE UNDO1 datafile '/dev/raw_vg/rlv_undo011_20g' SIZE 20000M AUTOEXTEND OFF;
alter tablespace undo1 add datafile '/dev/raw_vg/rlv_undo012_20g' size 20000M;
alter database add logfile thread 1 group 5 ('/dev/raw_vg/rlv_redo111_02g', '/dev/raw_vg/rlv_redo112_02g') size 200M;
alter database add logfile thread 1 group 6 ('/dev/raw_vg/rlv_redo121_02g', '/dev/raw_vg/rlv_redo122_02g') size 200M;
alter database add logfile thread 1 group 7 ('/dev/raw_vg/rlv_redo131_02g', '/dev/raw_vg/rlv_redo132_02g') size 200M;
alter database add logfile thread 1 group 8 ('/dev/raw_vg/rlv_redo141_02g', '/dev/raw_vg/rlv_redo142_02g') size 200M;
alter database add logfile thread 1 group 9 ('/dev/raw_vg/rlv_redo151_02g', '/dev/raw_vg/rlv_redo152_02g') size 200M;
alter database enable public thread 1;
--<node #1>
--. 3번 노드에 undo 및 redo 추가
CREATE UNDO TABLESPACE UNDO2 datafile '/dev/raw_vg/rlv_undo021_20g' SIZE 20000M AUTOEXTEND OFF;
alter tablespace undo2 add datafile '/dev/raw_vg/rlv_undo022_20g' size 20000M;
alter database add logfile thread 2 group 10 ('/dev/raw_vg/rlv_redo211_02g', '/dev/raw_vg/rlv_redo212_02g') size 200M;
alter database add logfile thread 2 group 11 ('/dev/raw_vg/rlv_redo221_02g', '/dev/raw_vg/rlv_redo222_02g') size 200M;
alter database add logfile thread 2 group 12 ('/dev/raw_vg/rlv_redo231_02g', '/dev/raw_vg/rlv_redo232_02g') size 200M;
alter database add logfile thread 2 group 13 ('/dev/raw_vg/rlv_redo241_02g', '/dev/raw_vg/rlv_redo242_02g') size 200M;
alter database add logfile thread 2 group 14 ('/dev/raw_vg/rlv_redo251_02g', '/dev/raw_vg/rlv_redo252_02g') size 200M;
alter database enable public thread 2;
11. system.sh 실행을 하여 딕셔너리 정보를 생성한다.
$ sh $TB_HOME/scripts/system.sh -p1 tibero -p2 syscat -a1 y -a2 y -a3 y -a4 y
[설명]
-p1 password : sys password
-p2 password : syscat password
-a1 Y/N : create default system users & roles
-a2 Y/N : create system tables related to profile
-a3 Y/N : register dbms stat job to Job Scheduler
-a4 Y/N : create TPR tables
pkgonly : create psm built-in packages only
-sod Y/N : separation of duties
12. 위 세팅을 전체 완료 하고 나서 VIP를 세팅한다
VIP 세팅시 root 로그인이 필요하니 OS담당자에서 수행 해달라고하거나 접속해주면 거기서 수행한다.
각 서버의 root bash_profile에 tibero CM관련 환경 설정 추가
### 노드 1 ###
#### CM settings ###
export CM_HOME=/TIBERO/TIBERO6
export CM_SID=CM1
export PATH=.:$CM_HOME/bin:$CM_HOME/client/bin:$PATH
### 노드 2 ###
#### CM settings ###
export CM_HOME=/TIBERO/TIBERO6
export CM_SID=CM2
export PATH=.:$CM_HOME/bin:$CM_HOME/client/bin:$PATH
### 노드 3 ###
#### CM settings ###
export CM_HOME=/TIBERO/TIBERO6
export CM_SID=CM3
export PATH=.:$CM_HOME/bin:$CM_HOME/client/bin:$PATH
--<node #1,2,3>
1) CM, TAC 서비스 종료
--DB생성은 node#1에서만 수행 했으니 node #1에서만 DB만 내린다.
tbdown immediate
Tibero instance terminated (IMMEDIATE mode).
--CM는 다 올라간 상태이므로 node #1,2,3수행 하여 down한다
tbcm -d
### 노드 1 ###
su -
--root bash_profile에 세팅되어 있음
source /TIBERO/.bash_profile
tbcm -b
-- vip add command
$ cmrctl add vip --name VIP1 --node CM1 --svcname MENP --ipaddr xx.xx.xx.VIP
### 노드 2 ###
su -
--root bash_profile에 세팅되어 있음
source /TIBERO/.bash_profile
tbcm -b
-- vip add command
$ cmrctl add vip --name VIP2 --node CM2 --svcname MENP --ipaddr xx.xx.xx.VIP
### 노드 3 ###
su -
--root bash_profile에 세팅되어 있음
source /TIBERO/.bash_profile
tbcm -b
-- vip add command
$ cmrctl add vip --name VIP3 --node CM3 --svcname MENP --ipaddr xx.xx.xx.VIP
정상적으로 등록되면 아래 명령어로 전체 정보 확인가능
$ cmrctl show cluster --name cluster1 &&date
Cluster Resource Info
===============================================================
Cluster name : cluster1
Status : UP (ROOT)
Master node : (1) CM1
Last NID : 3
Local node : (1) CM1
Storage type : NORMAL
No. of cls files : 1
(1) /dev/raw_vg/rlv_cluster00_05g
===============================================================
| NODE LIST |
|-------------------------------------------------------------|
| NID Name IP/PORT Status Schd Mst FHB NHB |
| --- -------- -------------------- ------ ---- --- ---- ---- |
| 1 CM1 50.0.0.131/21039 UP Y R M [ LOCAL ] |
| 2 CM3 50.0.0.135/21039 UP Y R 300 305 |
| 3 CM2 50.0.0.133/21039 UP Y R 300 305 |
===============================================================
| CLUSTER RESOURCE STATUS |
|-------------------------------------------------------------|
| NAME TYPE STATUS NODE MISC. |
| ---------------- -------- -------- -------- --------------- |
| SERVICE: TAC |
| TAC1 DB UP(NRML) CM1 |
| TAC3 DB UP(NRML) CM3 |
| TAC2 DB UP(NRML) CM2 |
| VIP1 VIP UP CM1 CM1 |
| VIP2 VIP UP CM2 CM2 |
| VIP3 VIP UP CM3 CM3 |
===============================================================
'DBMS > Tibero' 카테고리의 다른 글
Tibero TAC+TAS 구축시 구동방법 (0) | 2023.06.26 |
---|---|
Tibero 접속을 위한 ODBC 드라이버 및 등록방법 (0) | 2023.06.26 |
Tibero TAS에서 사용되는 명령어 모음 (0) | 2023.06.26 |
Tibero 테이블 스페이스 용량 확인 방법 (1) | 2023.06.26 |
Tibero INVALID 오브젝트 한방에 컴파일하기 (0) | 2023.06.26 |