문서유형ㅣ기술정보
분야ㅣ설치
적용제품버전ㅣTibero7.2.3, ProSync 4.6.0
문서번호ㅣPINTI003
개요
총 4편에 걸쳐 ProSync 양방향 CM FailOver를 사용한 무중단 동기화 환경 구축` 가이드를 기술하였습니다.
본 문서에서는 1편 ProSync 양방향 설치를 기술하였습니다.
- 1편: ProSync 양방향 설치
- 2편: ProSync 양방향 동기화 확인
- 3편: CM Fail-Over 설정
- 4편: CM FailOver 동작
환경
| OS | Rocky Linux 8.10 |
|---|---|
| Tibero Version | Tibero 7.2.4 (build seq 305455) |
| ProSync Verison | ProSync 4.6.0 (build seq 308985) |
방법
양방향 CM FailOver 환경 구성
- TAC to TAC 설치가 되어 있는 상태를 전재로 진행 합니다.
- CM FailOver 구성을 위한 ProSync 엔진 또한 공유 파일시스템에 위치 해야 합니다.
| Node | Database Name | Instance Name | IP Adress |
|---|---|---|---|
| node1 | db12 | db120 | 10.10.10.65 |
| node2 | db121 | 10.10.10.66 | |
| node3 | db34 | db340 | 10.10.10.67 |
| node4 | db341 | 10.10.10.68 |
A Set ProSync 동기화 구성
| Node | Agent Name | ProSync Process |
|---|---|---|
| node1 | agent1_12_34 | ext1, llob |
| node2 | agent2_12_34 | ext2, llob(standby) |
| node3 | agent3_12_34 | apply |
| node4 | agent4_12_34 | apply(standby) |
※ 주의사항
CM FailOver 사용하는 경우 ProSync 엔진 경로는 공유 파일 시스템에 위치 해야 합니다.
그렇지 않으면, FailOVer 발생 후 동기화에 실패합니다.
tree $PRS_HOME/var/$INSTANCE_ID ├── alloc ├── lr1 │ ├── redo_data_16_0.tlr │ ├── redo_data_17_0.tlr │ ├── redo_data_18_0.tlr │ └── tli1.log └── lr2 ├── redo_data_10_0.tlr ├── redo_data_11_0.tlr └── tli2.log
B Set ProSync 동기화 구성
| Node | Agent Name | ProSync Process |
|---|---|---|
| node3 | agent1_34_12 | ext1, llob |
| node4 | agent2_34_12 | ext2, llob(standby) |
| node1 | agent3_34_12 | apply |
| node2 | agent4_34_12 | apply(standby) |
※ 주의사항
CM FailOver 사용하는 경우 ProSync 엔진 경로는 공유 파일 시스템에 위치 해야 합니다.
그렇지 않으면, FailOVer 발생 후 동기화에 실패합니다.
tree $PRS_HOME/var/$INSTANCE_ID ├── alloc ├── lr1 │ ├── redo_data_16_0.tlr │ ├── redo_data_17_0.tlr │ ├── redo_data_18_0.tlr │ └── tli1.log └── lr2 ├── redo_data_10_0.tlr ├── redo_data_11_0.tlr └── tli2.log
설치
A, B Set 공통 준비
User Profile
- 모든 Node에 다음 프로파일 정보 적용
- A Set의 동작일 경우 prs12 적용 후 작업
- B Set의 동작일 경우 prs34 적용 후 작업
#############################
# TIBERO ProSync environment variable
#############################
prs12(){
export PRS_HOME=/share/prosync4_12_34
export TOP_ID=prs_12_34
export INSTANCE_ID=$TOP_ID
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PRS_HOME/lib:$PRS_HOME/client/lib
export PATH=$PATH:$LD_LIBRARY_PATH:$PRS_HOME/bin
}
prs34(){
export PRS_HOME=/share/prosync4_34_12
export TOP_ID=prs_34_12
export INSTANCE_ID=$TOP_ID
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PRS_HOME/lib:$PRS_HOME/client/lib
export PATH=$PATH:$LD_LIBRARY_PATH:$PRS_HOME/bin
}
#### ProSync alias
alias phome='cd $PRS_HOME'
alias plog='cd $PRS_HOME/var/'
alias pcfg='cd $PRS_HOME/config'
User SQL
- node1, node2 TAC SQL 수행 (한쪽 노드에서만 수행)
- node3, node4 TAC SQL 수행 (한쪽 노드에서만 수행)
create user user_12_34 identified by 'tibero'; grant connect, resource to user_12_34; create user user_34_12 identified by 'tibero'; grant connect, resource to user_34_12;
Database $TB_SID.tip
- 양방향 동기화 설정이 진행되기 때문에 모든 Node에 해당 파라미터를 적용 시킵니다.
- 파라미터 적용을 위해선 데이터베이스 재 기동이 필요합니다.
############ ProSync #### Must _ENABLE_LOG_MINER=Y _DDL_TRIGGER_ENABLE=Y _SPAN_UNDO=N _ENABLE_MRG_TDD_MU=N
Cluster $CM_SID.tip
- CM_ID는 CM FailOver 기능 활성화 시 사용되는 파라미터입니다.
- CM 재기동 필요
- 다음 장을 위해 미리 적용 해둡니다.
# node1 $CM_SID.tip CM_ID=0 # node2 $CM_SID.tip CM_ID=1 # node3 $CM_SID.tip CM_ID=0 # node4 $CM_SID.tip CM_ID=1
tbdsn.tbr
- ProSync 설치 시 Database 접속 정보를 활용할 수 있도록 설정 값을 미리 설정합니다.
################################
# Database Name
################################
db12=(
(INSTANCE=(HOST=10.10.10.65)
(PORT=8629)
(DB_NAME=db12)
)
(INSTANCE=(HOST=10.10.10.66)
(PORT=8629)
(DB_NAME=db12)
)
)
db34=(
(INSTANCE=(HOST=10.10.10.67)
(PORT=8629)
(DB_NAME=db34)
)
(INSTANCE=(HOST=10.10.10.68)
(PORT=8629)
(DB_NAME=db34)
)
)
################################
# Instance Name
################################
db120=(
(INSTANCE=(HOST=10.10.10.65)
(PORT=8629)
(DB_NAME=db12)
)
(INSTANCE=(HOST=10.10.10.66)
(PORT=8629)
(DB_NAME=db12)
)
)
db121=(
(INSTANCE=(HOST=10.10.10.66)
(PORT=8629)
(DB_NAME=db12)
)
(INSTANCE=(HOST=10.10.10.65)
(PORT=8629)
(DB_NAME=db12)
)
)
################################
db340=(
(INSTANCE=(HOST=10.10.10.67)
(PORT=8629)
(DB_NAME=db34)
)
(INSTANCE=(HOST=10.10.10.68)
(PORT=8629)
(DB_NAME=db34)
)
)
db341=(
(INSTANCE=(HOST=10.10.10.68)
(PORT=8629)
(DB_NAME=db34)
)
(INSTANCE=(HOST=10.10.10.67)
(PORT=8629)
(DB_NAME=db34)
)
)
################################
ProSync 바이너리
- 각 Node별로 바이너리를 준비합니다.
- CM FailOver 사용을 위해서는 A Set, B Set 모두 공유 파일 시스템에 위치 해야합니다.
su - tibero cd /share/ tar -xvzf prosync4-bin-linux64_3.10-308985-20260120151605.tar.gz # A Set ProSync Engine /share/prosync4_12_34 # B Set ProSync Engine /share/prosync4_34_12
- A, B Set 모두
templates/에 위치한 설정 파일들을install/하위에 복사합니다.
cd $PRS_HOME/install cp $PRS_HOME/install/templates/prs_install_agent.cfg.template prs_install_agent.cfg cp $PRS_HOME/install/templates/prs_install.cfg.template prs_install.cfg cp $PRS_HOME/install/templates/prs_obj_group1.list.template prs_obj_group1.list ls -lt $PRS_HOME/install ... 생략 ... -rw-r--r-- 1 tibero dba 957 Mar 17 05:32 prs_install_agent.cfg -rw-r--r-- 1 tibero dba 2186 Mar 17 05:29 prs_install.cfg -rw-r--r-- 1 tibero dba 208 Mar 12 00:46 prs_obj_group1.list ... 생략 ...
A Set ProSync 준비
prs_install_agent.cfg
- Node별로 설정되는 Agent 정보를 미리 준비합니다.
- `
prs_install_agent.cfg` 파일에 Agent 설정을 미리 준비합니다.
AGENT_CNT=4 AGENT_ID_0=agent1_12_34 AGENT_HOST_0=10.10.10.65 AGENT_PORT_0=7600 AGENT_CM_GROUP_0=grp_src_12_34 AGENT_CM_ID_0=0 AGENT_ID_1=agent2_12_34 AGENT_HOST_1=10.10.10.66 AGENT_PORT_1=7601 AGENT_CM_GROUP_1=grp_src_12_34 AGENT_CM_ID_1=1 AGENT_ID_2=agent3_12_34 AGENT_HOST_2=10.10.10.67 AGENT_PORT_2=7602 AGENT_CM_GROUP_2=grp_tar_12_34 AGENT_CM_ID_2=0 AGENT_ID_3=agent4_12_34 AGENT_HOST_3=10.10.10.68 AGENT_PORT_3=7602 AGENT_CM_GROUP_3=grp_tar_12_34 AGENT_CM_ID_3=1
prs_install.cfg
- PoSync Agent 설치가 정상적으로 되었다면, ProSync Instance를 설치합니다.
prs_install.cfg파일에 ProSync Instance 설정을 미리 준비합니다.
# ProSync INSTAINCE 설정 INSTANCE_ID=prs_12_34 PRS_USER=prosync_12_34 PRS_PWD=tmax # ProSync Process 설정 AGENT_LIST_DELIMITER=, EXT_CNT=2 EXT_AGENT_ID_LIST_0=agent1_12_34,agent2_12_34 EXT_AGENT_ID_LIST_1=agent2_12_34,agent1_12_34 APPLY_PORT=7620 APPLY_AGENT_ID_LIST=agent3_12_34,agent4_12_34 LLOB_PORT=7630 LLOB_AGENT_ID_LIST=agent1_12_34,agent2_12_34 # Source 정보 SRC_DB_TYPE=TIBERO SRC_DB_NAME=db12 SRC_INSTALL_USER=sys SRC_INSTALL_PWD=tibero SRC_DB_CNT=2 SRC_DB_ALIAS_0=db120 SRC_DB_ALIAS_1=db121 # Target 정보 TAR_DB_TYPE=TIBERO TAR_DB_NAME=db34 TAR_INSTALL_USER=sys TAR_INSTALL_PWD=tibero TAR_DB_CNT=2
prs_obj_group1.list
prs_obj_group1.list파일에 동기화 리스트를 미리 설정합니다.- 동기화 대상을 나중에 설정하려면 값을 빈 값으로 두어도 됩니다.
USER_12_34.%
A Set ProSync 설치
ProSync Agent 설치
- ProSync Agent를 먼저 설치합니다.
su - tibero prs12 cd $PRS_HOME/install sh prs_install_agent.sh
- 설치 상세 출력 메시지 생략
- 출력 되는 메시지를 확인하여, 정상적으로 설치되었는지 확인합니다.
******************************************************************************** * Agent Install Step (4/4) * Creating files for CM ******************************************************************************** AGENT_CM_ID detected generating prs_0.sh... PRS_HOME=/share/prosync4_12_34 AGENT_ID=agent1_12_34 prs_0.sh has created in $PRS_HOME/bin/ AGENT_CM_ID detected generating prs_1.sh... PRS_HOME=/share/prosync4_12_34 AGENT_ID=agent2_12_34 prs_1.sh has created in $PRS_HOME/bin/ AGENT_CM_ID detected generating prs_0.sh... PRS_HOME=/share/prosync4_12_34 AGENT_ID=agent3_12_34 prs_0.sh has created in $PRS_HOME/bin/ AGENT_CM_ID detected generating prs_1.sh... PRS_HOME=/share/prosync4_12_34 AGENT_ID=agent4_12_34 prs_1.sh has created in $PRS_HOME/bin/ Agent installation Done.
ProSync Instance 설치
- ProSync Instance를 설치합니다.
su - tibero prs12 cd $PRS_HOME/install sh prs_install.sh
- 설치 상세 출력 메시지 생략
- 출력 되는 메시지를 확인하여, 정상적으로 설치되었는지 확인합니다.
******************************************************************************** * ProSync is installed successfully on Tue, 17 Mar 2026 05:34:17 +0000. * * PRS_HOME = /share/prosync4_12_34 * Binary Path = /share/prosync4_12_34/bin * ProSync User = prosync_12_34 * * Archived Log Path = /share/tac/tbarch0/ * Archived Log Format = log-t%t-r%r-s%s.arc * Initial log sequence# = 15 * * Archived Log Path = /share/tac/tbarch1/ * Archived Log Format = log-t%t-r%r-s%s.arc * Initial log sequence# = 9 * * Initial change# (TSN) = 337479 * ********************************************************************************
※ 주의사항
/share/prosync4_12_34/install/prs_common.sh: line 9: /share/prosync4_12_34/install/prs_util.sh: No such file or directory
$PRS_HOME/install/prs_common.sh 파일의 9번째 라인 수정
# 수정 전9 . prs_util.sh# 수정 후
9 . $PRS_HOME/install/prs_util.sh
B Set ProSync 준비
prs_install_agent.cfg
- Node별로 설정되는 Agent 정보를 미리 준비합니다.
- `
prs_install_agent.cfg` 파일에 Agent 설정을 미리 준비합니다.
AGENT_CNT=4 AGENT_ID_0=agent1_34_12 AGENT_HOST_0=10.10.10.67 AGENT_PORT_0=8600 AGENT_CM_GROUP_0=grp_src_34_12 AGENT_CM_ID_0=0 AGENT_ID_1=agent2_34_12 AGENT_HOST_1=10.10.10.68 AGENT_PORT_1=8601 AGENT_CM_GROUP_1=grp_src_34_12 AGENT_CM_ID_1=1 AGENT_ID_2=agent3_34_12 AGENT_HOST_2=10.10.10.65 AGENT_PORT_2=8602 AGENT_CM_GROUP_2=grp_tar_34_12 AGENT_CM_ID_2=0 AGENT_ID_3=agent4_34_12 AGENT_HOST_3=10.10.10.66 AGENT_PORT_3=8602 AGENT_CM_GROUP_3=grp_tar_34_12 AGENT_CM_ID_3=1
prs_install.cfg
- PoSync Agent 설치가 정상적으로 되었다면, ProSync Instance를 설치합니다.
prs_install.cfg파일에 ProSync Instance 설정을 미리 준비합니다.
# ProSync INSTAINCE 설정 INSTANCE_ID=prs_34_12 PRS_USER=prosync_34_12 PRS_PWD=tmax # ProSync Process 설정 AGENT_LIST_DELIMITER=, EXT_CNT=2 EXT_AGENT_ID_LIST_0=agent1_34_12,agent2_34_12 EXT_AGENT_ID_LIST_1=agent2_34_12,agent1_34_12 APPLY_PORT=6620 APPLY_AGENT_ID_LIST=agent3_34_12,agent4_34_12 LLOB_PORT=6630 LLOB_AGENT_ID_LIST=agent1_34_12,agent2_34_12 # Source 정보 SRC_DB_TYPE=TIBERO SRC_DB_NAME=db34 SRC_INSTALL_USER=sys SRC_INSTALL_PWD=tibero SRC_DB_CNT=2 SRC_DB_ALIAS_0=db340 SRC_DB_ALIAS_1=db341 # Target 정보 TAR_DB_TYPE=TIBERO TAR_DB_NAME=db12 TAR_INSTALL_USER=sys TAR_INSTALL_PWD=tibero TAR_DB_CNT=2
prs_obj_group1.list
prs_obj_group1.list파일에 동기화 리스트를 미리 설정합니다.- 동기화 대상을 나중에 설정하려면 값을 빈 값으로 두어도 됩니다.
USER_34_12.%
B Set ProSync 설치
ProSync Agent 설치
- ProSync Agent를 먼저 설치합니다.
su - tibero prs34 cd $PRS_HOME/install sh prs_install_agent.sh
- 설치 상세 출력 메시지 생략
- 출력 되는 메시지를 확인하여, 정상적으로 설치되었는지 확인합니다.
******************************************************************************** * Agent Install Step (4/4) * Creating files for CM ******************************************************************************** AGENT_CM_ID detected generating prs_0.sh... PRS_HOME=/share/prosync4_34_12 AGENT_ID=agent1_34_12 prs_0.sh has created in $PRS_HOME/bin/ AGENT_CM_ID detected generating prs_1.sh... PRS_HOME=/share/prosync4_34_12 AGENT_ID=agent2_34_12 prs_1.sh has created in $PRS_HOME/bin/ AGENT_CM_ID detected generating prs_0.sh... PRS_HOME=/share/prosync4_34_12 AGENT_ID=agent3_34_12 prs_0.sh has created in $PRS_HOME/bin/ AGENT_CM_ID detected generating prs_1.sh... PRS_HOME=/share/prosync4_34_12 AGENT_ID=agent4_34_12 prs_1.sh has created in $PRS_HOME/bin/ Agent installation Done.
ProSync Instance 설치
- ProSync Instance를 설치합니다.
su - tibero prs34 cd $PRS_HOME/install sh prs_install.sh
- 설치 상세 출력 메시지 생략
- 출력 되는 메시지를 확인하여, 정상적으로 설치되었는지 확인합니다.
******************************************************************************** * ProSync is installed successfully on Tue, 17 Mar 2026 05:28:40 +0000. * * PRS_HOME = /share/prosync4_34_12 * Binary Path = /share/prosync4_34_12/bin * ProSync User = prosync_34_12 * * Archived Log Path = /share/tac/tbarch0/ * Archived Log Format = log-t%t-r%r-s%s.arc * Initial log sequence# = 15 * * Archived Log Path = /share/tac/tbarch1/ * Archived Log Format = log-t%t-r%r-s%s.arc * Initial log sequence# = 9 * * Initial change# (TSN) = 333768 * ********************************************************************************
※ 주의사항
/share/prosync4_12_34/install/prs_common.sh: line 9: /share/prosync4_12_34/install/prs_util.sh: No such file or directory
$PRS_HOME/install/prs_common.sh 파일의 9번째 라인 수정
# 수정 전9 . prs_util.sh# 수정 후
9 . $PRS_HOME/install/prs_util.sh