문서유형ㅣ기술정보
분야ㅣ설치
적용제품버전ㅣTibero 7FS04PS
문서번호ㅣPINTI008
개요
Source DB(TAC)에서 Target DB(TAC) 단방향 동기화 구성에서 CM Failover 설정 방법에 대해 기술하였습니다.
본 문서는 "2편 Instance 설치"에 대해 기술하였습니다.
- 1편 : Prosync 설치 준비 및 Agent 설치
- 2편 : Instnace 설치
- 3편 : CM Failover 설정
- 4편 : CM Failover 테스트
테스트 환경
| 구분 | OS | IP | DBMS Version | Prosync Version |
|---|---|---|---|---|
| Source_TAC0 | Rocky Linux release 8.10 | 10.10.10.61 | Tibero 7.2.4 (build 305455) | 4.6.0 (build 308985) |
| Source_TAC1 | Rocky Linux release 8.10 | 10.10.10.62 | Tibero 7.2.4 (build 305455) | 4.6.0 (build 308985) |
| Target_TAC0 | Rocky Linux release 8.10 | 10.10.10.63 | Tibero 7.2.4 (build 305455) | 4.6.0 (build 308985) |
| Target_TAC1 | Rocky Linux release 8.10 | 10.10.10.64 | Tibero 7.2.4 (build 305455) | 4.6.0 (build 308985) |
참고
Prosync CM Failover 기능은 Prosync 4.3 이상 버전부터 지원됩니다.
방법
Instance 설치
tbdsn.tbr 설정
서버 환경에 맞게 alias 및 ip를 설정합니다. source/target DB alias의 경우 이중화로 설정합니다.
vi $TB_HOME/client/config/tbdsn.tbr source_tac0=( (INSTANCE=(HOST=localhost) (PORT=8629) (DB_NAME=source_tac) ) ) source_tac1=( (INSTANCE=(HOST=10.10.10.62) (PORT=8629) (DB_NAME=source_tac) ) ) SRC_DB=( (INSTANCE=(HOST=localhost) (PORT=8629) (DB_NAME=source_tac) ) (INSTANCE=(HOST=10.10.10.62) (PORT=8629) (DB_NAME=source_tac) ) ) TAR_DB=( (INSTANCE=(HOST=10.10.10.63) (PORT=8629) (DB_NAME=target_tac) ) (INSTANCE=(HOST=10.10.10.64) (PORT=8629) (DB_NAME=target_tac) ) )
동기화 대상 테이블
동기화 대상 테이블을 설정합니다.
$ cp $PRS_HOME/install/templates/prs_obj_group1.list.template $PRS_HOME/install/prs_obj_group1.list $ vi $PRS_HOME/install/prs_obj_group1.list TEST.T1 TEST.T2 TEST.T3 # 혹은 TEST.% # TEST 유저에 대한 전체 테이블
설치 파라미터 설정
Instance 설치를 위해 아래와 같이 prs_install.cfg 를 설정합니다. (source DB 한쪽 노드에서만 수행합니다.)
$ cp $PRS_HOME/install/templates/prs_install.cfg.template $PRS_HOME/install/prs_install.cfg $ vi $PRS_HOME/install/prs_install.cfg # Prosync Instnace 설정 INSTANCE_ID=PRS_FAILOVER PRS_USER=prosync PRS_PWD=prosync # Prosync Process 설정 AGENT_LIST_DELIMITER=, EXT_CNT=2 EXT_AGENT_ID_LIST_0=src_agent1,src_agent2 EXT_AGENT_ID_LIST_1=src_agent2,src_agent1 APPLY_PORT=7620 APPLY_AGENT_ID_LIST=tar_agent1,tar_agent2 LLOB_PORT=7630 LLOB_AGENT_ID_LIST=src_agent1,src_agent2 # Source DB 설정 SRC_DB_TYPE=TIBERO SRC_DB_NAME=SRC_DB SRC_INSTALL_USER=sys SRC_INSTALL_PWD=tibero SRC_DB_CNT=2 SRC_DB_ALIAS_0=source_tac0 SRC_DB_ALIAS_1=source_tac1 # Target DB 설정 TAR_DB_TYPE=TIBERO TAR_DB_NAME=TAR_DB TAR_INSTALL_USER=sys TAR_INSTALL_PWD=tibero TAR_DB_CNT=2
Instance install 스크립트 수행
prs_install.cfg 설정 완료 후 아래와 같이 설치 스크립트를 실행합니다.
$ . $PRS_HOME/install/prs_install.sh
********************************************************************************
* Check System Parameters (1/5)
********************************************************************************
Checking system type... Linux
Checking PRS_HOME... /share/prosync4
Checking TB_HOME... /share/tibero_engine
Checking ORACLE_HOME... not found
Checking psql ... not available
********************************************************************************
* Check Installation Parameters (2/5)
********************************************************************************
Checking configuration file... ok
Checking prs_instance.map file... ok
Checking Instance Id from prs_instance.map...
* instance information for PRS_FAILOVER was not found. It will be written in this script...
ok
Checking proecsses infos...
* Checking Ext processes Informations... EXT_CNT: 2
* Delimiter: [,]
* Ext[0] process's Agent Id List
* Agent ID[src_agent1]
* [src_agent1] found.
* Agent ID[src_agent2]
* [src_agent2] found.
* Ext[1] process's Agent Id List
* Agent ID[src_agent2]
* [src_agent2] found.
* Agent ID[src_agent1]
* [src_agent1] found.
* Checking Apply process Informations...
* Checking Apply Port..
* APPLY_PORT=[7620]
* Checking Apply process's Agent Id List..
* Agent ID[tar_agent1]
* [tar_agent1] found.
* Agent ID[tar_agent2]
* [tar_agent2] found.
* Checking Llob process Informations...
* Checking Llob Port..
* LLOB_PORT=[7630]
* Checking Llob process's Agent Id List..
* Agent ID[src_agent1]
* [src_agent1] found.
* Agent ID[src_agent2]
* [src_agent2] found.
Checking INSTANCE_ID... PRS_FAILOVER
Checking PRS_USER... prosync
Checking PRS_TS_NAME... PRS_FAILOVER_ts
Checking PRS_TS_FILE... PRS_FAILOVER_ts.dtf
Checking PRS_TS_SIZE... 1G
Checking PRS_EXT_IP... %
Checking PRS_APPLY_IP... %
Checking SRC_DB_CNT... 2
Checking SRC_DB_TYPE... TIBERO
Checking SRC_INSTALL_USER... sys
Checking SRC_DB_NAME... SRC_DB
Checking SRC_DB_ALIAS_0... source_tac0
Checking SRC_DB_ALIAS_1... source_tac1
Checking source connection(1/2)... ok
Checking source connection(2/2)... ok
_list_create: Variable TAR_DB_IP_0 is undefined or empty.
_list_create: Variable TAR_DB_PORT_0 is undefined or empty.
Checking TAR_DB_TYPE... TIBERO
Checking TAR_INSTALL_USER... sys
Checking TAR_DB_NAME... TAR_DB
Checking target connection [TAR_DB](1/2)... ok
Checking target connection [TAR_DB](2/2)... ok
********************************************************************************
* Install to Source Database (3/5)
********************************************************************************
Checking archived log mode... ok
Checking log mining parameters [source_tac0]... ok
Checking log mining parameters [source_tac1]... ok
Get Archive log directory [source_tac0]... ok
Get Archive log format [source_tac0]... ok
Get Archive log directory [source_tac1]... ok
Get Archive log format [source_tac1]... ok
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE PRS_FAILOVER_ts INCLUDING CONTENTS AND DATAFILES;
done
ok
Creating ProSync tablespace... ok
Dropping ProSync user... ok
Creating ProSync user... ok
Granting privileges... ok
Granting privileges for trigger... ok
Creating ProSync internal tables... ok
Creating ProSync internal package... ok
Creating ProSync internal trigger... ok
Prosync user prosync to uppercase PROSYNC... ok
Checking source object file(group num : 1)... ok
Building source object for TEST.T1... ok
Building source object for TEST.T2... ok
Building source object for TEST.T3... ok
Adding table supplemental log... 4, and one for prosync
"PROSYNC"."PRS_DUMMY_TBL" : Supplemental logging set
"TEST"."T1" : Supplemental logging set
"TEST"."T2" : Supplemental logging set
"TEST"."T3" : Supplemental logging set
prosync.PRS_DUMMY_TBL : supplemental log already exists, continue.
Counting total source objects... 4
Generating initial DDL history... ok
Checking initial DDL history... ok
Insert default value in PRS_DUMMY_TBL...ok
ok
Querying NLS_CHARACTERSET... UTF8
Querying NLS_NCHAR_CHARACTERSET... UTF16
Switching logfile [source_tac0]... ok
Switching logfile [source_tac1]... ok
Querying current log sequence [source_tac0]... 9
Querying current log sequence [source_tac1]... 5
Querying current snapshot#... 176172
********************************************************************************
* Install to Target Database (4/5)
********************************************************************************
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE PRS_FAILOVER_ts INCLUDING CONTENTS AND DATAFILES;
done
ok
Creating ProSync tablespace... ok
Dropping ProSync user... ok
Creating ProSync user... ok
Granting privileges... ok
Creating ProSync internal tables... ok
Generating initial construct history [source_tac0 (group 1)]... ok
Generating initial construct history [source_tac1 (group 1)]... ok
Generating initial commit history... ok
********************************************************************************
* Generate Configuration Parameters (5/5)
********************************************************************************
Generating Wallet... ok
Generating Extract [source_tac0] configuration... ok
Generating Extract [source_tac1] configuration... ok
Generating Apply [TAR_DB] configuration... ok
Generating Apply [TAR_DB] configuration... ok
Generating LONG/LOB configuration... ok
Generating instance map to prs_instance.map ...
mv: overwrite '/share/prosync4/config/prs_instance.map'? y
********************************************************************************
* ProSync is installed successfully on Fri, 06 Mar 2026 03:36:40 +0000.
*
* PRS_HOME = /share/prosync4
* Binary Path = /share/prosync4/bin
* ProSync User = prosync
*
* Archived Log Path = /share/tac/tbarch0/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 9
*
* Archived Log Path = /share/tac/tbarch1/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 5
*
* Initial change# (TSN) = 176172
*
********************************************************************************
Instance 설치 결과 확인
설치가 완료되면 다음 경로에서 결과 파일을 확인할 수 있습니다.
$ cd $PRS_HOME/config
$ ls -al
total 60
drwxr-xr-x 3 tibero dba 4096 Mar 9 05:15 .
drwxr-xr-x 8 tibero dba 4096 Mar 6 00:24 ..
-rw-r--r-- 1 tibero dba 512 Mar 6 03:36 PRS_FAILOVER_apply1.cfg
-rw-r--r-- 1 tibero dba 512 Mar 6 03:36 PRS_FAILOVER_apply2.cfg
-rw-r--r-- 1 tibero dba 519 Mar 9 05:06 PRS_FAILOVER_ext1.cfg
-rw-r--r-- 1 tibero dba 519 Mar 9 05:06 PRS_FAILOVER_ext2.cfg
-rw-r--r-- 1 tibero dba 431 Mar 6 03:36 PRS_FAILOVER_llob.cfg
-rw-r--r-- 1 tibero dba 310 Mar 6 04:17 prs_adm.cfg
-rw-r--r-- 1 tibero dba 1018 Mar 9 05:07 prs_agent_src_agent1.cfg
-rw-r--r-- 1 tibero dba 1012 Mar 9 05:07 prs_agent_src_agent2.cfg
-rw-r--r-- 1 tibero dba 1010 Mar 6 04:46 prs_agent_tar_agent1.cfg
-rw-r--r-- 1 tibero dba 1010 Mar 6 04:46 prs_agent_tar_agent2.cfg
-rw-r--r-- 1 tibero dba 728 Mar 6 03:36 prs_instance.map
drwxr-xr-x 2 tibero dba 4096 Mar 6 04:38 templates
-rw-rw-r-- 1 tibero dba 4 Jan 20 06:16 variant
$ cat $PRS_HOME/config/prs_instance.map
AGENT=(ID=src_agent1)(HOST=10.10.10.61)(PORT=7600)(CM_GROUP=SRC_CM)(CM_ID=0)
AGENT=(ID=src_agent2)(HOST=10.10.10.62)(PORT=7700)(CM_GROUP=SRC_CM)(CM_ID=1)
AGENT=(ID=tar_agent1)(HOST=10.10.10.63)(PORT=7800)(CM_GROUP=TAR_CM)(CM_ID=0)
AGENT=(ID=tar_agent2)(HOST=10.10.10.64)(PORT=7900)(CM_GROUP=TAR_CM)(CM_ID=1)
PRS_FAILOVER=(
EXT1=(AGENT=src_agent1)(AGENT=src_agent2)(PROGRAM=prs_ext)
EXT2=(AGENT=src_agent2)(AGENT=src_agent1)(PROGRAM=prs_ext)
APPLY1=(AGENT=tar_agent1)(AGENT=tar_agent2)(PORT=7620)(PROGRAM=prs_apply)
LLOB=(AGENT=src_agent1)(AGENT=src_agent2)(PORT=7630)(PROGRAM=prs_llob)
)
Prosync 설정 파일 복사
prosync config, var 폴더를 각 서버 (Source TAC1, Target TAC0,1)에 복사해 줍니다.
복사 후에는 각 서버 경로에 맞게 환경설정 수정 필요합니다.