Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
ProSync 제품 소개 및 설계 내용을 안내한다.
ProSync를 설치하는 과정을 순차적으로 안내한다. '제품 설계' 페이지에서 소개된 프로세스들의 설치과정과 시스템 요구사항 등의 내용을 모두 포함한다.
ProSync 설치 및 운영을 위해 필요한 시스템 환경 정보를 제공한다. 하드웨어, 운영체제, 데이터베이스, 네트워크, 소프트웨어 요구사항 및 필요한 권한을 항목별로 명시한다.
ProSync를 설치하고 운영하기 위해 필요한 소프트웨어 환경을 설명한다. 지원되는 데이터베이스 시스템과의 호환성, 운영체제 및 플랫폼, 컴파일러, JDK 등의 시스템 환경 요구사항에 대해 안내한다.
ProSync를 설치하기 전에 반드시 확인해야 할 항목들을 안내한다. 환경 변수 설정, DB 사전 설정 등 설치가 원활히 진행되기 위한 준비 과정을 설명한다.
ProSync의 다양한 CDC 구성 예시를 통해 실제 환경에 맞는 설치 방안을 제시한다. 필요 시 '제품 구성도'를 참고한다.
본 문서는 ProSync Extract프로세스에 대한 대부분의 내용을 포함하고있다. Extract 프로세스 정의부터 역할 및 세부적인 Configuration 등을 안내한다.
본 문서는 ProSync Apply 프로세스에 관한 설명 및 운영 등 전반적인 내용을 포함한다. Apply 프로세스 정의 및 역할, 세부적인 Configuration 등을 안내한다.
Llob 프로세스에 관한 설명 및 운영 방법을 안내한다.
장애 상황에 대한 조치로서, 프로세스 별 장애 상황과 이에 대한 내용들을 안내한다.
ALTER SYSTEM SWITCH LOGFILE;vf.cfg 삭제 확인prs_mgr.cfg → prs_agent_{agent_id}.cfg 으로 변경 BLOBexport PATH=$PRS_HOME/bin:$PRS_HOME/client/bin:$PATHexport LD_LIBRARY_PATH=$PRS_HOME/lib:$PRS_HOME/client/lib:$LD_LIBRARY_PATH_ENABLE_LOG_MINER=Y # ProSync가 사용하기 위한 추가적인 redo log를 남기기 위함
_SPAN_UNDO=N # Tibero 6 FS07 이상에서 설정
_DDL_TRIGGER_ENABLE=Y # meta table정보관리를 위한 설정, 기본값은 Y이므로 설정하지 않아도 무방함$ tbboot -t mount
$ tbsql sys/password
SQL> ALTER DATABASE ARCHIVELOG;
SQL> QUIT
$ tbdown
$ tbboot$ sqlplus / as sysdba
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
SQL> ALTER DATABASE OPEN;$ sqlplus / as sysdba
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=4 SCOPE=SPFILE;
SQL> ALTER SYSTEM SET OPEN_LINKS=4 SCOPE=SPFILE;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=1 SCOPE=SPFILE;$ cat postgresql.conf | grep wal_level
wal_level = logical # minimal, replica, or logical$TB_HOME/client/config/tbdsn.tbr[SOURCE_SID]=(
(INSTANCE=(HOST=SOURCE DB IP)
(PORT=SOURCE DB PORT)
(DB_NAME=SOURCE DB NAME))
)
[TARGET_SID]=(
(INSTANCE=(HOST=TARGET DB IP)
(PORT=TARGET DB PORT)
(DB_NAME=TARGET DB NAME))
)$ORACLE_HOME/network/admin/tnsnames.ora[SOURCE_ALIAS]=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)
(HOST=SOURCE DB IP)
(PORT=SOURCE DB PORT))
(CONNECT_DATA=(SERVER=DEDICATED)
(SERVICE_NAME=SOURCE DB SERVICE NAME))
)
[TARGET_ALIAS]=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)
(HOST=TARGET DB IP)
(PORT=TARGET DB PORT))
(CONNECT_DATA=(SERVER=DEDICATED)
(SERVICE_NAME=TARGET DB SERVICE NAME))
)~/pg_service.conf[SOURCE_ALIAS]
host=SOURCE DB IP
port=SOURCE DB PORT
dbname=SOURCE DB NAME
[SOURCE_ALIAS]
host=TARGET DB IP
port=TARGET DB PORT
dbname=TARGET DB NAME
[EXAMPLE_FOR_REPLICATION]
host=SOURCE DB IP
port=SOURCE DB PORT
dbname=SOURCE DB NAME
replication=database$ tbsql sys/password
SQL> CREATE USER TEST IDENTIFIED BY PASSWORD;
SQL> GRANT RESOURCE, CONNECT TO TEST;
SQL> CREATE TABLE TEST.T1 (C1 NUMBER PRIMARY KEY, C2 VARCHAR(10));
SQL> CREATE TABLE TEST.T2 (C1 NUMBER PRIMARY KEY, C2 VARCHAR(10));
SQL> CREATE TABLE TEST.T3 (C1 NUMBER PRIMARY KEY, C2 VARCHAR(10));$PRS_HOME/install/prs_obj_group1.listTEST.T1
TEST.T2
TEST.T3TEST.%
TEST%.%############################################
#
# ProSync Agent Configurations (Template)
#
############################################
# ID have to be unique in prs_instance.map.
# It will checked when execute prs_install_agent.sh.
# Because of multi-agent environment,
# HOSTNAME(defined in /etc/hosts) is not recommended, IP will be better.
# AGENT_HOST[%d]=192.xxx.xxx.xxx
# AGENT_ID is unique key in prosync
# All nodes have to use same AGENT_ID in same agent.
AGENT_CNT=1
AGENT_ID_0=agent
AGENT_HOST_0=localhost
AGENT_PORT_0=7600
#AGENT_CM_GROUP_0=0
#AGENT_CM_ID_0=0
#AGENT_ID_1=agent2
#AGENT_HOST_1=localhost
#AGENT_PORT_1=7601
#AGENT_CM_GROUP_1=1
#AGENT_CM_ID_1=1AGENT_CNT=4
AGENT_ID_0=agent1
AGENT_HOST_0=172.17.0.1
AGENT_PORT_0=7600
AGENT_CM_GROUP_0=CM1
AGENT_CM_ID_0=0
AGENT_ID_1=agent2
AGENT_HOST_1=172.17.0.2
AGENT_PORT_1=7601
AGENT_CM_GROUP_1=CM1
AGENT_CM_ID_1=1
AGENT_ID_2=agent3
AGENT_HOST_2=172.17.0.3
AGENT_PORT_2=7602
AGENT_CM_GROUP_2=CM2
AGENT_CM_ID_2=0
AGENT_ID_3=agent4
AGENT_HOST_3=172.17.0.4
AGENT_PORT_3=7603
AGENT_CM_GROUP_3=CM2
AGENT_CM_ID_3=1$ . prs_install_agent.sh [option] [config file]$ cd $PRS_HOME/install
$ . prs_install_agent.sh********************************************************************************
* Agent Install Step (1/4)
* Check System Parameters
********************************************************************************
* Checking system type...
Linux
* Checking PRS_HOME...
PRS_HOME: /home/prosync/example
********************************************************************************
* Agent Install Step (2/4)
* Check install agent config file [prs_install_agent.cfg]
* Check Instance file [prs_instance.map]
********************************************************************************
* Checking configuration file...
[/home/prosync/example/install/prs_install_agent.cfg] exists.
* Checking Agent configuration...
parameter check for Agent[0] Started
AGENT_ID: agent1
AGENT_HOST: 172.17.0.1
AGENT_PORT: 7600
AGENT_CM_GROUP: CM1
AGENT_CM_ID: 0
parameter check for Agent[0] Done
parameter check for Agent[1] Started
AGENT_ID: agent2
AGENT_HOST: 172.17.0.2
AGENT_PORT: 7601
AGENT_CM_GROUP: CM1
AGENT_CM_ID: 1
parameter check for Agent[1] Done
parameter check for Agent[2] Started
AGENT_ID: agent3
AGENT_HOST: 172.17.0.3
AGENT_PORT: 7602
AGENT_CM_GROUP: CM2
AGENT_CM_ID: 0
parameter check for Agent[2] Done
parameter check for Agent[3] Started
AGENT_ID: agent4
AGENT_HOST: 172.17.0.4
AGENT_PORT: 7603
AGENT_CM_GROUP: CM2
AGENT_CM_ID: 1
parameter check for Agent[3] Done
* Checking prs_instance.map file...
[/home/prosync/example/config/prs_instance.map] exists.
********************************************************************************
* Agent Install Step (3/4)
* Writing agent config file [/home/prosync/example/install/prs_install_agent.cfg]
* Writing Instance file [/home/prosync/example/config/prs_instance.map]
* Total Agent Cnt [4]
********************************************************************************
* Writing all agents.. cnt: 4
* Writing Agent.. Index: 0
* Writing Agent.. AGENT_ID: agent1
* Writing Agent.. AGENT_HOST: 172.17.0.1
* Writing Agent.. AGENT_PORT: 7600
* Writing Agent.. AGENT_CM_GROUP: CM1
* Writing Agent.. AGENT_CM_ID: 0
* Writing Agent configuration...
File already exists...
[/home/prosync/example/config/prs_agent_agent1.cfg]
Want to Delete ? (Y/N)
n
Skip deleteing...
* Writing Agent information...
Agent information already exist
Want to Replace ? (Y/N)
n
Skipped...
* Writing Agent.. Index: 1
* Writing Agent.. AGENT_ID: agent2
* Writing Agent.. AGENT_HOST: 172.17.0.2
* Writing Agent.. AGENT_PORT: 7601
* Writing Agent.. AGENT_CM_GROUP: CM1
* Writing Agent.. AGENT_CM_ID: 1
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent2.cfg not found. Writing files...
Done.
* Writing Agent information...
* Writing Agent.. Index: 2
* Writing Agent.. AGENT_ID: agent3
* Writing Agent.. AGENT_HOST: 172.17.0.3
* Writing Agent.. AGENT_PORT: 7602
* Writing Agent.. AGENT_CM_GROUP: CM2
* Writing Agent.. AGENT_CM_ID: 0
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent3.cfg not found. Writing files...
Done.
* Writing Agent information...
* Writing Agent.. Index: 3
* Writing Agent.. AGENT_ID: agent4
* Writing Agent.. AGENT_HOST: 172.17.0.4
* Writing Agent.. AGENT_PORT: 7603
* Writing Agent.. AGENT_CM_GROUP: CM2
* Writing Agent.. AGENT_CM_ID: 1
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent4.cfg not found. Writing files...
Done.
* Writing Agent information...
* Creating var directory...
* Already Created.
********************************************************************************
* Agent Install Step (4/4)
* Creating files for CM
********************************************************************************
AGENT_CM_ID detected
generating prs_0.sh...
PRS_HOME=/home/prosync/example
AGENT_ID=agent1
prs_0.sh has created in $PRS_HOME/bin/
AGENT_CM_ID detected
generating prs_1.sh...
PRS_HOME=/home/prosync/example
AGENT_ID=agent2
prs_1.sh has created in $PRS_HOME/bin/
AGENT_CM_ID detected
generating prs_0.sh...
PRS_HOME=/home/prosync/example
AGENT_ID=agent3
prs_0.sh has created in $PRS_HOME/bin/
AGENT_CM_ID detected
generating prs_1.sh...
PRS_HOME=/home/prosync/example
AGENT_ID=agent4
prs_1.sh has created in $PRS_HOME/bin/
Agent installation Done.$ cd $PRS_HOME/config
$ ls -al
total 51
drwxr-xr-x 3 users users 4096 Apr 16 15:42 .
drwxr-xr-x 15 users users 4096 Apr 14 15:08 ..
-rw-r--r-- 1 users users 367 Feb 27 19:22 prs_agent_agent1.cfg
-rw-r--r-- 1 users users 367 Apr 16 15:32 prs_agent_agent2.cfg
-rw-r--r-- 1 users users 367 Apr 16 15:32 prs_agent_agent3.cfg
-rw-r--r-- 1 users users 367 Apr 16 15:32 prs_agent_agent4.cfg
-rw-r--r-- 1 users users 1272 Apr 16 15:32 prs_instance.map
drwxr-xr-x 2 users users 4096 Apr 14 15:08 templates
-rw-r--r-- 1 users users 5 Feb 27 13:06 variant#--------------------------------------------------------
# ProSync Instances Map (prs_instance.map)
#
# Generated by Dummy Time: 04-16T14:22:21.920319
#
AGENT=(ID=agent1)(HOST=172.17.0.1)(PORT=7600)(CM_GROUP=CM1)(CM_ID=0)
#--------------------------------------------------------
# Appended by prs_install_agent.sh at Wed Apr 16 03:32:37 PM KST 2025
#
AGENT=(ID=agent2)(HOST=172.17.0.2)(PORT=7601)(CM_GROUP=CM1)(CM_ID=1)
#--------------------------------------------------------
# Appended by prs_install_agent.sh at Wed Apr 16 03:32:37 PM KST 2025
#
AGENT=(ID=agent3)(HOST=172.17.0.3)(PORT=7602)(CM_GROUP=CM2)(CM_ID=0)
#--------------------------------------------------------
# Appended by prs_install_agent.sh at Wed Apr 16 03:32:37 PM KST 2025
#
AGENT=(ID=agent4)(HOST=172.17.0.4)(PORT=7603)(CM_GROUP=CM2)(CM_ID=1)
################################################################################
# ProSync Agent Configurations (Template)
################################################################################
LISTENER_PORT=7600
LOG_LEVEL=3
LOG_DIR=/home/prosync/example/var/agent/agent1/log
LOG_BACKUP_DIR=/home/prosync/example/var/agent/agentA/log/backup#!/bin/sh
export TB_HOME=
export PRS_HOME=/home/prosync/example
AGENT_ID=agent1
TIMEOUT_CNT=7
source $PRS_HOME/bin/prs_cm.sh
export logdir=$PRS_HOME/var
echo "------------------------------------------------------------" >> $logdir/cmagent.log
echo "`date +%Y/%m/%d\ %H:%M:%S` cm agent Start (Agent Command $1)" >> $logdir/cmagent.log
case $1 in
START)
echo "start $TIMEOUT_CNT $AGENT_ID" >> $logdir/cmagent.log
start $TIMEOUT_CNT $AGENT_ID
rc=$?
;;
PROBE)
echo "probe $TIMEOUT_CNT $AGENT_ID" >> $logdir/cmagent.log
probe $TIMEOUT_CNT $AGENT_ID
rc=$?
;;
DOWN)
echo "stop $TIMEOUT_CNT $AGENT_ID" >> $logdir/cmagent.log
stop $TIMEOUT_CNT $AGENT_ID
rc=$?
;;
KILL)
echo "stop $TIMEOUT_CNT $AGENT_ID" >> $logdir/cmagent.log
stop $TIMEOUT_CNT $AGENT_ID
rc=$?
;;
NOTI)
rc=0
;;
COMMIT)
echo "send $TIMEOUT_CNT $AGENT_ID ${@:2}" >> $logdir/cmagent.log
send $TIMEOUT_CNT $AGENT_ID ${@:2}
rc=$?
;;
*)
;;
esac
echo "result : $rc" >> $logdir/cmagent.log
echo "`date +%Y/%m/%d\ %H:%M:%S` cm agent End (Agent Command $1)" >> $logdir/cmagent.log
exit $rc
CONNECT RESOURCE ALTER SYSTEM
CREATE TABLE ALTER ANY TABLE DROP ANY TABLE
FLASHBACK ANY TABLE SELECT ANY TABLE LOCK ANY TABLE
SELECT ON V$DATABASE SELECT ON V$INSTANCE SELECT ANY DICTIONARY
EXECUTE ON SYS.SEAFCONNECT RESOURCE ALTER SYSTEM
CREATE TABLE ALTER ANY TABLE DROP ANY TABLE
FLASHBACK ANY TABLE SELECT ANY TABLE LOCK ANY TABLE
ADMINISTER DATABASE TRIGGER SELECT ANY DICTIONARY EXECUTE ON SYS.DBMS_AQADM
EXECUTE ON SYS.DBMS_AQ EXECUTE ON SYS.DBMS_AQIN AQ_ADMINISTRATOR_ROLE
SELECT ON SYS.USER$ EXECUTE ON SYS.DBMS_AQADM_SYS
SELECT ANY TRANSACTION
# (12c 이상)
LOGMINING CREATE ANY DIRECTORY
READ, WRITE ON DIRECTORY PRS_DICT_$INSTANCE_ID
# 권한외 필요한사전 설정
ALTER USER PRS_USER QUOTA UNLIMITED ON PRS_TS_NAME
CREATE OR REPLACE DIRECTORY PRS_DICT AS DICT_FILE_DIRCONNECT RESOURCE CREATE SESSION
INSERT ANY TABLE CREATE ANY TABLE CREATE ANY SEQUENCE
CREATE ANY INDEX CREATE ANY TRIGGER CREATE ANY SYNONYM
CREATE ANY VIEW CREATE ANY PROCEDURE UPDATE ANY TABLE
DELETE ANY TABLE SELECT ANY TABLE SELECT ANY DICTIONARY
ALTER SESSION ALTER ANY TABLE ALTER ANY INDEX
ALTER ANY TRIGGER ALTER ANY SEQUENCE ALTER ANY PROCEDURE
DROP ANY TABLE DROP ANY INDEX DROP ANY TRIGGER
DROP ANY SEQUENCE DROP ANY VIEW DROP ANY PROCEDURE
DROP ANY SYNONYM COMMENT ANY TABLEDBASUPERUSERCONNECT CREATE USER DROP USER
CREATE TABLESPACE DROP TABLESPACE ALTER DATABASE
ALTER SYSTEM ADMINISTER DATABASE TRIGGER ALTER ANY TABLE
ALTER ANY TRIGGER EXECUTE ANY PROCEDURE DROP ANY PROCEDURE
DROP ANY TABLE DROP ANY TRIGGER DROP ANY SEQUENCE
GRANT ANY ROLE GRANT ANY PRIVILEGE SELECT ANY TABLE
INSERT ANY TABLE UPDATE ANY TABLE SELECT ON V$LOG
SELECT ON V$PARAMETERS
SELECT ON V$DATABASE WITH GRANT OPTION
SELECT ON V$INSTANCE WITH GRANT OPTION
SELECT ON SYS._DD_OBJ WITH GRANT OPTION
SELECT ON SYS._DD_USER WITH GRANT OPTION
SELECT ON SYS._DD_IDX WITH GRANT OPTION
SELECT ON SYS._DD_IDXPART WITH GRANT OPTION
SELECT ON SYS._DD_TBL WITH GRANT OPTION
SELECT ON SYS._DD_TBLPART WITH GRANT OPTION
SELECT ON SYS._DD_TBLSUBPART WITH GRANT OPTION
SELECT ON SYS._DD_COL WITH GRANT OPTION
SELECT ON SYS._DD_ICOL WITH GRANT OPTION
EXECUTE ON SYS.SEAF WITH GRANT OPTIONCONNECT CREATE SESSION ALTER SESSION
CREATE USER DROP USER CREATE TABLESPACE
DROP TABLESPACE ALTER DATABASE ALTER SYSTEM
ADMINISTER DATABASE TRIGGER ALTER ANY TABLE ALTER ANY TRIGGER
EXECUTE ANY PROCEDURE DROP ANY PROCEDURE DROP ANY TABLE
DROP ANY TRIGGER DROP ANY SEQUENCE GRANT ANY ROLE
GRANT ANY PRIVILEGE SELECT ANY TABLE INSERT ANY TABLE
UPDATE ANY TABLE ALTER USER SELECT ON SYS.V_$PARAMETER
SELECT ON SYS.V_$DATABASE SELECT ON SYS.V_$INSTANCE SELECT ON SYS.V_$LOG
SELECT ON SYS.USER$ WITH GRANT OPTION
EXECUTE ON SYS.DBMS_AQ WITH GRANT OPTION
EXECUTE ON SYS.DBMS_AQIN WITH GRANT OPTION
EXECUTE ON SYS.DBMS_AQADM WITH GRANT OPTION
EXECUTE ON SYS.DBMS_AQADM_SYS WITH GRANT OPTION
EXECUTE ON SYS.DBMS_LOGMNR WITH GRANT OPTION
EXECUTE ON SYS.DBMS_LOGMNR_D WITH GRANT OPTION
EXECUTE ON SYS.DBMS_LOGMNR_INTERNAL WITH GRANT OPTION
EXECUTE DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE('MANAGE_ANY', 'PRS_INSTALL_USER')
-- PDB의 경우 common user에 대해 수행 필요
SET CONTAINERSUPERUSERCONNECT CREATE USER DROP USER
CREATE TABLESPACE DROP TABLESPACE EXECUTE ANY PROCEDURE
DROP ANY PROCEDURE DROP ANY TABLE DROP ANY SEQUENCE
GRANT ANY ROLE GRANT ANY PRIVILEGE SELECT ANY TABLE
INSERT ANY TABLE SELECT ANY SEQUENCE SELECT ON V$PARAMETERSCONNECT CREATE USER DROP USER
CREATE TABLESPACE DROP TABLESPACE EXECUTE ANY PROCEDURE
DROP ANY PROCEDURE DROP ANY TABLE DROP ANY SEQUENCE
GRANT ANY ROLE GRANT ANY PRIVILEGE SELECT ANY TABLE
INSERT ANY TABLE SELECT ANY SEQUENCE SELECT ON SYS.V_$PARAMETERSUPERUSER############################################
#
# ProSync Installation Parameters
#
############################################
# (Mandatory)
INSTANCE_ID=
PRS_USER=prosync
PRS_PWD=
# (Optional)
#PRS_TS_NAME=
#PRS_TS_FILE=
#PRS_TS_SIZE=
#PRS_SKIP_USER_CREATE=N
#PRS_TARGET_MIN_PRIVILEGE=N
#PRS_LOG_DIR=
#LOG_BACKUP_DIR=
#CREATE_DSN_FILE=N
#DSN_DIR=
#DSN_FILE=#need DSN_DIR
############################################
#
# ProSync Processes Informations for Instance Map
#
############################################
### (Optional)
AGENT_LIST_DELIMITER=,
### (Mandatory)
# Ext process
## Ext cnt must be the same as SRC_DB_CNT
EXT_CNT=
EXT_AGENT_ID_LIST_0=agent1
#EXT_AGENT_ID_LIST_1=agent1,agent2
# Apply process
APPLY_PORT=7620
APPLY_AGENT_ID_LIST=agent1
# Llob process
LLOB_PORT=7630
LLOB_AGENT_ID_LIST=agent1
############################################
#
# Source database informations
#
############################################
# (Mandatory)
SRC_DB_TYPE=TIBERO
SRC_DB_NAME=
SRC_INSTALL_USER=
SRC_INSTALL_PWD=
# (Optional)
#AUTO_ADD_SUPP_LOG=Y
#SRC_SKIP_TS_CREATE=N
# (Number Of Database Instances)
#SRC_DB_CNT=1
# (Dsn)
#SRC_DB_REAL_NAME=
#SRC_DB_IP_0=
#SRC_DB_PORT_0=
#SRC_DB_IP_1=
#SRC_DB_PORT_1=
# (for Cluster, only Extract Needed)
#SRC_DB_ALIAS_0=
#SRC_DB_ALIAS_1=
# (for ORACLE DB Only)
#SUPP_LOG_LVL_ALL=N
#AUTO_SYNC_ON_CREATE=N
# (for Oracle Logminer only)
# Oracle 11g or less, use utl_file_dir instead of DICT_FILE_DIR
#USE_LOGMNR=Y
#DICT_FILE_DIR=
# (for MySQL only)
#PRS_EXT_IP=
############################################
#
# Target database informations
#
############################################
# (Mandatory)
TAR_DB_TYPE=TIBERO
TAR_DB_NAME=
TAR_INSTALL_USER=
TAR_INSTALL_PWD=
# (Optional)
#TAR_SKIP_TS_CREATE=N
# (Number Of Database Instances)
#TAR_DB_CNT=1
# (Dsn)
#TAR_DB_REAL_NAME=
#TAR_DB_IP_0=
#TAR_DB_PORT_0=
#TAR_DB_IP_1=
#TAR_DB_PORT_1=
# (for MySQL only)
#PRS_APPLY_IP=
# (for multi thread)
#GROUP_NUM=1
# (for TDE(transparent data encryption) synchronization)
#USE_TDE=N############################################
#
# ProSync Installation Parameters
#
############################################
# (Mandatory)
INSTANCE_ID=instance
PRS_USER=prosync_user
PRS_PWD=prosync_user_password
# (Optional)
#PRS_TS_NAME=
#PRS_TS_FILE=
#PRS_TS_SIZE=
#PRS_SKIP_USER_CREATE=N
#PRS_TARGET_MIN_PRIVILEGE=N
#PRS_LOG_DIR=
#LOG_BACKUP_DIR=
#CREATE_DSN_FILE=N
#DSN_DIR=
#DSN_FILE=#need DSN_DIR
############################################
#
# ProSync Processes Informations for Instance Map
#
############################################
### (Optional)
AGENT_LIST_DELIMITER=,
### (Mandatory)
# Ext process
## Ext cnt must be the same as SRC_DB_CNT
EXT_CNT=1
EXT_AGENT_ID_LIST_0=agent1
#EXT_AGENT_ID_LIST_1=agent1,agent2
# Apply process
APPLY_PORT=7620
APPLY_AGENT_ID_LIST=agent1
# Llob process
LLOB_PORT=7630
LLOB_AGENT_ID_LIST=agent1
############################################
#
# Source database informations
#
############################################
# (Mandatory)
SRC_DB_TYPE=TIBERO
SRC_DB_NAME=src_tibero
SRC_INSTALL_USER=sys
SRC_INSTALL_PWD=tibero
# (Optional)
#AUTO_ADD_SUPP_LOG=Y
#SRC_SKIP_TS_CREATE=N
#AUTO_SYNC_ON_CREATE=N
# (Number Of Database Instances)
#SRC_DB_CNT=1
# (Dsn)
#SRC_DB_REAL_NAME=
#SRC_DB_IP_0=
#SRC_DB_PORT_0=
#SRC_DB_IP_1=
#SRC_DB_PORT_1=
# (for Cluster, only Extract Needed)
#SRC_DB_ALIAS_0=
#SRC_DB_ALIAS_1=
# (for ORACLE DB Only)
#SUPP_LOG_LVL_ALL=N
#AUTO_SYNC_ON_CREATE=N
# (for Oracle Logminer only)
# Oracle 11g or less, use utl_file_dir instead of DICT_FILE_DIR
#USE_LOGMNR=Y
#DICT_FILE_DIR=
# (for MySQL only)
#PRS_EXT_IP=
############################################
#
# Target database informations
#
############################################
# (Mandatory)
TAR_DB_TYPE=TIBERO
TAR_DB_NAME=tar_tibero
TAR_INSTALL_USER=sys
TAR_INSTALL_PWD=tibero
# (Optional)
#TAR_SKIP_TS_CREATE=N
# (Number Of Database Instances)
#TAR_DB_CNT=1
# (Dsn)
#TAR_DB_REAL_NAME=
#TAR_DB_IP_0=
#TAR_DB_PORT_0=
#TAR_DB_IP_1=
#TAR_DB_PORT_1=
# (for MySQL only)
#PRS_APPLY_IP=
# (for multi thread)
#GROUP_NUM=1
# (for TDE(transparent data encryption) synchronization)
#USE_TDE=N
$ . prs_install.sh [option] [config file] [list file]$ cd $PRS_HOME/install
$ . prs_install.sh*******************************************************************************
* Check System Parameters (1/5)
********************************************************************************
Checking system type... Linux
Checking PRS_HOME... /home/prosync/example
Checking TB_HOME... /home/tibero/tibero7
Checking ORACLE_HOME... not found
Checking psql ... available
Checking psql service ...not found
********************************************************************************
* 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 instance was not found. It will be written in this script...
ok
Checking proecsses infos...
* Checking Ext processes Informations... EXT_CNT: 1
* Delimiter: [,]
* Ext[0] process's Agent Id List
* Agent ID[agent1]
* [agent1] found.
* Checking Apply process Informations...
* Checking Apply Port..
* APPLY_PORT=[7620]
* Checking Apply process's Agent Id List..
* Agent ID[agent1]
* [agent1] found.
* Checking Llob process Informations...
* Checking Llob Port..
* LLOB_PORT=[7630]
* Checking Llob process's Agent Id List..
* Agent ID[agent1]
* [agent1] found.
Checking INSTANCE_ID... instance
Checking PRS_USER... prosync_user
Checking PRS_TS_NAME... instance_ts
Checking PRS_TS_FILE... instance_ts.dtf
Checking PRS_TS_SIZE... 1G
Checking PRS_EXT_IP... %
Checking PRS_APPLY_IP... %
Checking SRC_DB_CNT... 1
Checking SRC_DB_TYPE... TIBERO
Checking SRC_INSTALL_USER... sys
Checking SRC_DB_NAME... src_tibero
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_tibero
Checking target connection [tar_tibero](1/2)... ok
Checking target connection [tar_tibero](2/2)... ok
********************************************************************************
* Install to Source Database (3/5)
********************************************************************************
Checking archived log mode... ok
Usage: _list_get <list> <index>
Checking log mining parameters [src_tibero]... ok
Usage: _list_get <list> <index>
Get Archive log directory [src_tibero]... ok
Get Archive log format [src_tibero]... ok
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE instance_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_user to uppercase PROSYNC_USER... ok
Checking source object file(group num : 1)... ok
Building source object for TEST.%... ok
Building source object for TEST%.%... ok
Adding table supplemental log... 6, and one for prosync
"PROSYNC_USER"."PRS_DUMMY_TBL" : Supplemental logging set
"TEST"."T1" : supplemental log already exists, continue.
"TEST"."T2" : supplemental log already exists, continue.
"TEST"."T3" : supplemental log already exists, continue.
"TEST"."T4" : supplemental log already exists, continue.
"TEST"."T5" : supplemental log already exists, continue.
prosync_user.PRS_DUMMY_TBL : supplemental log already exists, continue.
Counting total source objects... 6
Generating initial DDL history... ok
Checking initial DDL history... ok
Insert default value in PRS_DUMMY_TBL...ok
Querying NLS_CHARACTERSET... UTF8
Querying NLS_NCHAR_CHARACTERSET... UTF16
Switching logfile... ok
Usage: _list_get <list> <index>
Querying current log sequence [src_tibero]... 188
Querying current snapshot#... 4306566
********************************************************************************
* Install to Target Database (4/5)
********************************************************************************
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE instance_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
Usage: _list_get <list> <index>
Generating initial construct history [src_tibero (group 1)]... ok
Generating initial commit history... ok
********************************************************************************
* Generate Configuration Parameters (5/5)
********************************************************************************
Generating Wallet... ok
Usage: _list_get <list> <index>
Generating Extract [src_tibero] configuration... ok
Generating Apply [tar_tibero] configuration... ok
Generating LONG/LOB configuration... ok
Generating instance map to prs_instance.map ...
********************************************************************************
* ProSync is installed successfully on Thu, 17 Apr 2025 14:38:38 +0900.
*
* PRS_HOME = /home/prosync/example
* Binary Path = /home/prosync/example/bin
* ProSync User = prosync_user
*
* Archived Log Path = /home/tibero/tibero7/database/tibero/archive/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 188
*
* Initial change# (TSN) = 4306566
*
********************************************************************************
$ cd $PRS_HOME/config
$ ls -al
total 55
drwxr-xr-x 3 users users 4096 Apr 16 15:42 .
drwxr-xr-x 15 users users 4096 Apr 14 15:08 ..
-rw-r--r-- 1 users users 547 Apr 17 14:38 instance_apply1.cfg
-rw-r--r-- 1 users users 574 Apr 17 14:38 instance_ext1.cfg
-rw-r--r-- 1 users users 470 Apr 17 14:38 instance_llob.cfg
-rw-r--r-- 1 users users 352 Apr 3 16:19 prs_adm.cfg
-rw-r--r-- 1 users users 367 Feb 27 19:22 prs_agent_agent1.cfg
-rw-r--r-- 1 users users 367 Apr 16 15:32 prs_agent_agent2.cfg
-rw-r--r-- 1 users users 367 Apr 16 15:32 prs_agent_agent3.cfg
-rw-r--r-- 1 users users 367 Apr 16 15:32 prs_agent_agent4.cfg
-rw-r--r-- 1 users users 1272 Apr 16 15:32 prs_instance.map
drwxr-xr-x 2 users users 4096 Apr 14 15:08 templates
-rw-r--r-- 1 users users 5 Feb 27 13:06 variant#--------------------------------------------------------
# Appended by prs_install.sh at Thu Apr 17 02:38:37 PM KST 2025
#
instance=(
EXT1=(AGENT=agent1)(PROGRAM=prs_ext)
APPLY1=(AGENT=agent1)(PORT=7620)(PROGRAM=prs_apply)
LLOB=(AGENT=agent1)(PORT=7630)(PROGRAM=prs_llob)
)################################################################################
#
# ProSync (Ext) Initialization Parameters
#
################################################################################
LOG_LEVEL=3
PRS_USER=prosync_user
PRS_PWD=#encrypted
EXTRACT_NUM=1
SRC_DB_TYPE=TIBERO
SRC_DB_NAME=src_tibero
ARCHIVE_LOG_DIR=/home/tibero/tibero7/database/tibero/archive/
ARCHIVE_LOG_FORMAT=log-t%t-r%r-s%s.arc
LOG_DIR=/home/prosync/example/var/instance/log
LOG_BACKUP_DIR=/home/prosync/example/var/instance/log/backup################################################################################
#
# ProSync (Apply) Initialization Parameters
#
################################################################################
LOG_LEVEL=3
PRS_USER=prosync_user
PRS_PWD=#encrypted
APPLY_NUM=1
TAR_DB_TYPE=TIBERO
TAR_DB_NAME=tar_tibero
SRC_DB_CNT=1
MAP=(TABLE DEFAULT)
DDL=(INCLUDE DEFAULT, TYPE=('ALTER TABLE','TRUNCATE TABLE'))
LOG_DIR=/home/prosync/example/var/instance/log
LOG_BACKUP_DIR=/home/prosync/example/var/instance/log/backup
################################################################################
#
# ProSync (llob) Initialization Parameters
#
################################################################################
LOG_LEVEL=3
PRS_USER=prosync_user
PRS_PWD=#encrypted
SRC_DB_TYPE=TIBERO
SRC_DB_NAME=src_tibero
LLOB_FLASHBACK_ERROR=CURRENT
LOG_DIR=/home/prosync/example/var/instance/log
LOG_BACKUP_DIR=/home/prosync/example/var/instance/log/backup ################################################################################
#
# ProSync (Admin) Initialization Parameters
#
################################################################################
LOG_LEVEL=3
LOG_DIR=/home/prosync/example/var/admin/log
LOG_BACKUP_DIR=/home/prosync/example/var/admin/log/backup# tree 결과예제
.
├── admin
├── agent
└── instanceProSync 4 - Admin Utility
TmaxData Corporation Copyright (c) 2024-. All rights reserved.
Admin>Admin> start agent $agent_idAdmin> start $instance_idAdmin> statusProSync 4 - Admin Utility
TmaxData Corporation Copyright (c) 2024-. All rights reserved.
status
prs_agent ID: agent1, HOST: 172.17.0.1, PORT: 7600, CM_GROUP: CM1, CM_ID: 1 is running
prs_agent ID: agent2, HOST: 172.17.0.2, PORT: 7601, CM_GROUP: CM1, CM_ID: 1 is stopped
prs_agent ID: agent3, HOST: 172.17.0.3, PORT: 7602, CM_GROUP: CM2, CM_ID: 0 is stopped
prs_agent ID: agent4, HOST: 172.17.0.4, PORT: 7603, CM_GROUP: CM2, CM_ID: 1 is stopped
Instance ID: [instance]
instance_ext1 is running (prs_agent ID : agent1, HOST: 172.17.0.1, PORT: 7600)
instance_apply1 is running (prs_agent ID : agent1, HOST: 172.17.0.1, PORT: 7600)
instance_llob is running (prs_agent ID : agent1, HOST: 172.17.0.1, PORT: 7600)cmrctl add agent --name <agent_name> --grpname <group_name> --script <directory_path>
--pubnet <public_network_resource_name> --retry_cnt <retry_cnt>$ cmrctl del <resource_type> --name <resource_name>$ cmrctl show <resource_type> --name <resource_name>$ cmrctl start <resource_type> --name <resource_name>$ cmrctl stop <resource_type> --name <resource_name>$ cmrctl act <resource_type> --name <resource_name>$ cmrctl deact <resource_type> --name <resource_name>$ cmrctl modify group --name <group_name> --failover <true|false>ADMIN> shutd man (abort);CREATE USER [백업유저이름] IDENTIFIED BY "[백업유저암호]";
GRANT CONNECT, RESOURCE, CREATE SESSION TO [백업유저이름];
GRANT INSERT ANY TABLE TO [백업유저이름];
GRANT CREATE ANY SYNONYM TO [백업유저이름];
GRANT CREATE ANY VIEW TO [백업유저이름];mv prosync/var prosync_4_4/var
mv prosync/config prosync_4_4/config
mv prosync old_prosync
mv prosync_4_4 prosync############################################
#
# ProSync Installation Parameters
#
############################################
# (Mandatory)
INSTANCE_ID=instance
PRS_USER=prosync_user
PRS_PWD=prosync_user_password
# (Optional)
#PRS_TS_NAME=
#PRS_TS_FILE=
#PRS_TS_SIZE=
#PRS_SKIP_USER_CREATE=N
#PRS_TARGET_MIN_PRIVILEGE=N
#PRS_LOG_DIR=
#LOG_BACKUP_DIR=
#CREATE_DSN_FILE=N
#DSN_DIR=
#DSN_FILE=#need DSN_DIR
############################################
#
# ProSync Processes Informations for Instance Map
#
############################################
### (Optional)
AGENT_LIST_DELIMITER=,
### (Mandatory)
# Ext process
## Ext cnt must be the same as SRC_DB_CNT
EXT_CNT=1
EXT_AGENT_ID_LIST_0=agent1
#EXT_AGENT_ID_LIST_1=agent1,agent2
# Apply process
APPLY_PORT=7620
APPLY_AGENT_ID_LIST=agent1
# Llob process
LLOB_PORT=7630
LLOB_AGENT_ID_LIST=agent1
...export PREVIOUS_PRS_HOME=[old_prosync의 절대경로]$PRS_HOME/install/prs_backup.sh \
-c prs_install.cfg \
-u [백업유저이름] \
-p [백업유저암호]GRANT SELECT ANY DICTIONARY TO $PRS_USER;
GRANT DELETE ANY TABLE TO $PRS_USER;GRANT LOCK ANY TABLE TO $PRS_USER;
GRANT CREATE ANY TABLE TO $PRS_USER;
GRANT CREATE ANY SEQUENCE TO $PRS_USER;
GRANT CREATE ANY INDEX TO $PRS_USER;
GRANT CREATE ANY TRIGGER TO $PRS_USER;
GRANT CREATE ANY SYNONYM TO $PRS_USER;
GRANT CREATE ANY VIEW TO $PRS_USER;
GRANT CREATE ANY PROCEDURE TO $PRS_USER;
GRANT SELECT ANY DICTIONARY TO $PRS_USER;
GRANT ALTER ANY TABLE TO $PRS_USER;
GRANT ALTER ANY INDEX TO $PRS_USER;
GRANT ALTER ANY TRIGGER TO $PRS_USER;
GRANT ALTER ANY SEQUENCE TO $PRS_USER;
GRANT ALTER ANY PROCEDURE TO $PRS_USER;
GRANT DROP ANY TABLE TO $PRS_USER;
GRANT DROP ANY INDEX TO $PRS_USER;
GRANT DROP ANY TRIGGER TO $PRS_USER;
GRANT DROP ANY SEQUENCE TO $PRS_USER;
GRANT DROP ANY VIEW TO $PRS_USER;
GRANT DROP ANY PROCEDURE TO $PRS_USER;
GRANT DROP ANY SYNONYM TO $PRS_USER;
GRANT COMMENT ANY TABLE TO $PRS_USER;
-- target db oracle인 경우
GRANT SELECT ON SYS.OBJ$ TO $PRS_USER;
GRANT SELECT ON SYS.USER$ TO $PRS_USER;
GRANT SELECT ON SYS.COL$ TO $PRS_USER;
GRANT SELECT ON SYS.SEQ$ TO $PRS_USER;cp $PRS_HOME/install/templates/prs_obj_group1.list.template \
$PRS_HOME/install/prs_obj_group1.list$PRS_HOME/install/prs_meta.sh -c prs_install.cfgMGR=(ID=lmgr)(HOST=localhost)(PORT=7600)
Prosync=(
EXT1=(MGR=lmgr)(HOST=localhost)(PORT=7610)(PROGRAM=prs_ext)
APPLY1=(MGR=lmgr)(HOST=localhost)(PORT=7620)(PROGRAM=prs_apply)
LLOB=(MGR=lmgr)(HOST=localhost)(PORT=7630)(PROGRAM=prs_llob)
VF=(MGR=lmgr)(HOST=localhost)(PORT=7640)(PROGRAM=prs_vf)
)AGENT=(ID=agent1)(HOST=172.19.0.11)(PORT=7600)
Prosync=(
EXT1=(AGENT=agent1)(PROGRAM=prs_ext)
APPLY1=(AGENT=agent1)(PORT=7620)(PROGRAM=prs_apply)
LLOB=(AGENT=agent1)(PORT=7630)(PROGRAM=prs_llob)
)
ADMIN> start age(nt) {AGENT_ID}
ADMIN> start {INSTANCE_ID}rm -rf prosync;
mv old_prosync prosync$PRS_HOME/install/prs_install.sh -c prs_install.cfgTRUNCATE TABLE $PRS_USER.PRS_TXINFO;
TRUNCATE TABLE $PRS_USER.PRS_OBJ_LIST;
TRUNCATE TABLE $PRS_USER.PRS_DDL_HIST;
TRUNCATE TABLE $PRS_USER.PRS_DD_CON;
TRUNCATE TABLE $PRS_USER.PRS_DD_ENC;
TRUNCATE TABLE $PRS_USER.PRS_DUMMY_TBL;
TRUNCATE TABLE $PRS_USER.PRS_LOGMNR_INFO;
TRUNCATE TABLE $PRS_USER.PRS_IMPORTED_ARCHIVE_LOG;
TRUNCATE TABLE $PRS_USER.PRS_DD_ETL_HIST;
TRUNCATE TABLE $PRS_USER.PRS_DICT_HIST;
TRUNCATE TABLE $PRS_USER.PRS_DD_USR;
TRUNCATE TABLE $PRS_USER.PRS_DD_TBL;
TRUNCATE TABLE $PRS_USER.PRS_DD_SGMT;
TRUNCATE TABLE $PRS_USER.PRS_DD_COL;
TRUNCATE TABLE $PRS_USER.PRS_IPARAM;TRUNCATE TABLE $PRS_USER.PRS_CONST_HIST;
TRUNCATE TABLE $PRS_USER.PRS_LCT;
TRUNCATE TABLE $PRS_USER.PRS_DUMMY_TBL;
TRUNCATE TABLE $PRS_USER.PRS_COMMITTED_TX_LIST;
TRUNCATE TABLE $PRS_USER.PRS_INSTALL_HIST;INSERT INTO $PRS_USER.PRS_TXINFO SELECT * FROM prs_backup.PRS_TXINFO;
INSERT INTO $PRS_USER.PRS_OBJ_LIST SELECT * FROM prs_backup.PRS_OBJ_LIST;
INSERT INTO $PRS_USER.PRS_DDL_HIST SELECT * FROM prs_backup.PRS_DDL_HIST;
INSERT INTO $PRS_USER.PRS_DD_CON SELECT * FROM prs_backup.PRS_DD_CON;
INSERT INTO $PRS_USER.PRS_DD_ENC SELECT * FROM prs_backup.PRS_DD_ENC;
INSERT INTO $PRS_USER.PRS_LOGMNR_INFO SELECT * FROM prs_backup.PRS_LOGMNR_INFO;
INSERT INTO $PRS_USER.PRS_IMPORTED_ARCHIVE_LOG SELECT * FROM prs_backup.PRS_IMPORTED_ARCHIVE_LOG;
INSERT INTO $PRS_USER.PRS_DD_ETL_HIST SELECT * FROM prs_backup.PRS_DD_ETL_HIST;
INSERT INTO $PRS_USER.PRS_DICT_HIST SELECT * FROM prs_backup.PRS_DICT_HIST;
INSERT INTO $PRS_USER.PRS_DD_USR SELECT * FROM prs_backup.PRS_DD_USR;
INSERT INTO $PRS_USER.PRS_DD_TBL SELECT * FROM prs_backup.PRS_DD_TBL;
INSERT INTO $PRS_USER.PRS_DD_SGMT SELECT * FROM prs_backup.PRS_DD_SGMT;
INSERT INTO $PRS_USER.PRS_DD_COL SELECT * FROM prs_backup.PRS_DD_COL;
INSERT INTO $PRS_USER.PRS_IPARAM SELECT * FROM prs_backup.PRS_IPARAM;INSERT INTO $PRS_USER.PRS_CONST_HIST SELECT * FROM prs_backup.PRS_CONST_HIST;
INSERT INTO $PRS_USER.PRS_LCT SELECT * FROM prs_backup.PRS_LCT;
INSERT INTO $PRS_USER.PRS_COMMITTED_TX_LIST SELECT * FROM prs_backup.PRS_COMMITTED_TX_LIST;
INSERT INTO $PRS_USER.PRS_INSTALL_HIST SELECT * FROM prs_backup.PRS_INSTALL_HIST;ADMIN> start man {AGENT_ID}
ADMIN> start {INSTANCE_ID}Agent 및 Instance 설치 방법을 단계별로 안내한다.
본 장에서는 Map 파라미터를 통해 설정할 수 있는 Resolution Rule (DCR)과 Schema Mapping을 위한 DDL 설정에 대해 알아본다. Mapping은 기본적으로 테이블명, 컬럼명에 대한 Mapping을 지원한다.
ProSync는 Apply 프로세스 지연 시 모든 곳에 지연이 발생하게 된다. 이 때문에 성능을 올릴 수 있는 수단들이 존재한다. 본 장에선 Performance 측면에서 설정할 수 있는 Configuration들에 대해 알아본다.
데이터 충돌 발생 시, 처리방안에 대해 확인한다.
Llob 프로세스에서 사용 가능한 기능에 대해 설명한다. 주로 사용하는 파라미터로서 Multi Thread용 파라미터 내용을 안내한다.
ProSync Admin Utility 인터페이스에 대해 소개한다.

Admin>$ prs_adm
ProSync 4 - Admin Utility
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Admin> HELP LOG_BACKUP_DIR본 장에선 Apply 프로세스의 주요 기능들을 설명한다. Apply 프로세스 운영을 위한 핵심적인 요소들로서 원활한 운영에 도움이 될 수 있다.




SET HIS[TORY] {n}SET LINE[SIZE] {n}SET NUM[WIDTH] {n}SET PAGE[SIZE] {n}SET PROM[PT] {prompt_string}SET SUF[FIX] {extension}xid: 112Table1Row1ProSync 설치 후 디렉토리 구조에 대한 설명이다.
# tree 결과
├── bin
│ ├── olr_test
│ ├── prs_adm
│ ├── prs_agent
│ ├── prs_cm.sh
│ ├── prs_cred
│ ├── prs_dummy
│ ├── prs_ext
│ ├── prs_glob
│ ├── prs_oapply
│ ├── prs_oext
│ ├── prs_olob
│ ├── prs_pext
│ ├── prs_papply
│ ├── prs_pllob
│ ├── prs_pretty_instance_map
│ ├── prs_vf
│ └── tblr_test
├── client
│ └── lib
├── config
│ ├── templates
│ └── variant
├── install
│ ├── prs_backup.sh
│ ├── prs_common_agent.sh
│ ├── prs_common_dsn.sh
│ ├── prs_common.sh
│ ├── prs_common_topmap.sh
│ ├── prs_install_agent.sh
│ ├── prs_install.sh
│ ├── prs_meta.sh
│ ├── prs_util.sh
│ ├── scripts
│ └── templates
└── license
└── oss_licensesProSync Admin Utility가 제공하는 명령어의 사용법과 실행 방법을 안내한다.

prs_adm [options] [script]@filename[.ext]$ prs_adm
ProSync 4 - Admin Utility
TmaxData Corporation Copyright (c) 2008-. All rights reserved.SQL> CREATE OR REPLACE TRIGGER trg_test
AFTER INSERT ON TEST.T1
FOR EACH ROW
BEGIN
INSERT INTO TEST.T2 VALUES (:NEW.C1, 'Trigger Fired');
END;
/SQL> CREATE TABLE TEST.T1 (
ROWCNT NUMBER PRIMARY KEY,
C1 NUMBER,
C2 VARCHAR2(2000)
) ROW STORE COMPRESS ADVANCED;
SQL> INSERT INTO TEST.T1 (1, 1001, RPAD('C', 4000, 'C'));
SQL> INSERT INTO TEST.T1 (2, 1002, RPAD('B', 4000, 'B'));
SQL> COMMIT;
SQL> ALTER TABLE TEST.T1 MOVE ONLINE NOCOMPRESS;
-- Unique Constraints Violation 발생COM[MAND] param {choice1|choice2} [option] [arg]*TX_HASH_SIZE 파라미터보다 큰 경우SELECT O.OBJ#
FROM SYS.OBJ$ O, SYS.USER$ U
WHERE O.OWNER# = U.USER#
AND O.TYPE# = 2
AND U.TYPE# = 1
AND U.NAME = 'Target Prosync Instance Meta User'
AND O.NAME = 'PRS_COMMITTED_TX_LIST';
SELECT DATAOBJ#
FROM SYS.OBJ$ O, SYS.USER$ U
WHERE O.OWNER# = U.USER#
AND O.TYPE# IN (2, 19, 34)
AND U.TYPE# = 1
AND U.NAME = 'Target Prosync Instance Meta User'
AND O.NAME = 'PRS_COMMITTED_TX_LIST'
AND O.DATAOBJ# IS NOT NULL;SELECT DATAOBJ#, OBJ#
FROM SYS.OBJ$ O, SYS.USER$ U
WHERE O.OWNER# = U.USER#
AND O.TYPE# IN (2, 19, 34)
AND U.TYPE# = 1
AND U.NAME = 'Target Prosync Instance Meta User'
AND O.NAME = 'PRS_COMMITTED_TX_LIST'
AND O.DATAOBJ# IS NOT NULL;SELECT O.OBJ_ID
FROM SYS._DD_OBJ O, SYS._DD_USER U
WHERE O.OWNER_ID = U.USER_ID
AND O.TYPE_NO = 1
AND U.TYPE_NO = 1
AND U.NAME = 'Target Prosync Instance Meta User'
AND O.NAME = 'PRS_COMMITTED_TX_LIST';DDL_DISCARD_YN=[Y|N]
DDL_DISCARD_FILE_YN=[Y|N]
DDL_DISCARD_FILE_DIR=/directory/to/save/file
DDL_DISCARD_FILE_SIZE=200M
DDL_DISCARD_BACKUP_DIR=/directory/to/save/backup/file
DDL_DISCARD_BACKUP_SIZE=10G



DDL=([SET] [RANGE], TYPE=('[DDL OPERATION] [DDL OBJECT]', ...)
[SET] [RANGE], TYPE=('[DDL OPERATION] [DDL OBJECT]', ...) ....)CREATE TABLE TEST_TABLE2 (
c1 NUMBER,
CONSTRAINT fk_test FOREIGN KEY (c1) REFERENCES [스키마명].TEST_TABLE1 (c1)
);DDL=(
INCLUDE ALL, TYPE=('%')
EXCLUDE EXCLUDED_USR.%, TYPE=('%')
)DDL=(
INCLUDE DEFAULT, TYPE=('% TABLE')
INCLUDE INCLUDED_USR.%, TYPE=('% INDEX')
EXCLUDE EXCLUDED_USR.IDX1, TYPE=('% INDEX')
)DDL=(
INCLUDE SRCUSR.%, TYPE=('DROP TABLE', 'ALTER TABLE', 'TRUNCATE TABLE')
EXCLUDE SRCUSR.T1, TYPE=('DROP TABLE', 'CREATE TABLE')
)테이블, 컬럼 매핑 기능을 사용하기 위한
MAP=([SYNC OPTION] SOURCE_USER.SOURCE_TABLE [SOURCE_COLUMNS]
[COLUMN FILTERING OPTION],
[TARGET_DATABASE.]TARGET_USER.TARGET_TABLE [TARGET_COLUMNS]
[RESOLVE OPTION] [SKIP OPTION]))


MAP=(TABLE PROSYNC1.T1, PROSYNC2.T2)MAP=(TABLE PROSYNC1.T1(C1, C2), PROSYNC2.T2)MAP=(TABLE PROSYNC1.T1(C1, C2), PROSYNC2.T2(D1, D2))MAP=(TABLE [SOURCE_USER].[SOURCE_TABLE]... )MAP=(OBJECT [SOURCE_USER].[OBJECT_NAME], [TARGET_USER].[OBJECT_NAME])MAP=(EXCLUDE [SOURCE_USER].[SOURCE_TABLE]...)MAP=(TABLE DEFAULT EXCLUDE PROSYNC.SKIP TABLE TIBERO.T1)MAP=(... EXCEPT FOR ([COLUMN_NAME], ..., [COLUMN_NAME])...)MAP=(TABLE PROSYNC1.T1 EXCEPT FOR (C1), PROSYNC2.T2)MAP=(... RESOLVE BY [RESOLVE_RULE] ...)MAP=(... RESOLVE BY MAX(COLUMN_NAME) DEFAULT (COLUMN_VALUE) ...)MAP=(TABLE PROSYNC.T1, PROSYNC.T1 RESOLVE BY MAX(c3) DEFAULT (10))MAP=(... SKIP=(SKIP_CONDITION))MAP=(TABLE PROSYNC.T1, PROSYNC.T1 SKIP=(c1!="example"))MAP=(TABLE PROSYNC.T1, PROSYNC.T1 SKIP=(c1!="example")
TABLE PROSYNC.T2, PROSYNC.T2 SKIP=(c2="example2"))







APPLY_TO_SAM=[Y|N]
SAM_BIND_VALUE=[Y|N]
SAM_LOG_PREFIX=[Y|N]
SAM_DIR=sam_dir_path
SAM_FILE_SIZE=file_size(1M-1G)
SAM_BACKUP_DIR=sam_backup_dir_path
SAM_BACKUP_SIZE=file_size(0-128G)
SQL_REDO_MODE=[Y|N]
TX_SAM_TEMPLATE=tx_template_file_path
STMT_SAM_TEMPLATE=stmt_template_file_path
COL_SAM_TEMPLATE=col_template_file_path*transaction template file 설정*
tx {
xid: %X
stmt count: %C
commit tsn: %T
}
*EXT SAM FILE 출력 예제*
tx {
xid: 655403
stmt count:
commit tsn: 26362351
}
*APPLY SAM FILE 출력 예제*
tx {
xid: 655403
stmt count: 100
commit tsn: 26362351
}*statement template file 설정*
stmt {
op: %O
op code: %o
owner: %W
table name: %N
sgmt id: %I
tsn: %T
wrap no: %R
log seq: %L
set: %s
where: %w
values: %v
ddl/dml string: %D
}
*column template file 설정*
col {
name: %N
values: %V
column count: %n
}
*INSERT STATEMENT 결과 예제*
INSERT)
stmt {
op:INSERT
op code:0
owner:PRS_TEST
table name:VARCHAR_T
sgmt id:26424
tsn:26362394
wrap no:43
log seq:2102
set:
where:
values:
col {
name:C1
values:1
column count:0
}
col {
name:VCHAR_COL
values:VARCHAR
column count:1
}
ddl/dml string:INSERT INTO "PRS_TEST"."VARCHAR_T" ("C1", "VCHAR_COL") VALUES
(1, VARCHAR)
}
*UPDATE STATEMENT 결과 예제*
UPDATE)
stmt {
op:UPDATE
op code:2
owner:PRS_TEST
table name:NVARCHAR_T
sgmt id:26436
tsn:26362421
wrap no:87
log seq:2103
set:
col {
name:NVCHAR_COL
values:NVARCHAR2
column count:1
}
where:
col {
name:C1
values:10
column count:0
}
col {
name:NVCHAR_COL
values:NVCHAR
column count:1
}
values:
ddl/dml string:UPDATE "PRS_TEST"."NVARCHAR_T" SET NVCHAR_COL = NVARCHAR2
WHERE C1 = 10 AND NVCHAR_COL = NVCHAR
}
*DELETE STATEMENT 결과 예제*
DELETE)
stmt {
op:DELETE
op code:1
owner:PRS_TEST
table name:NVARCHAR_T
sgmt id:26436
tsn:26362437
wrap no:175
log seq:2103
set:
where:
col {
name:C1
values:10
column count:0
}
col {
name:NVCHAR_COL
values:NVARCHAR2
column count:1
}
values:
ddl/dml string:DELETE FROM "PRS_TEST"."NVARCHAR_T" WHERE C1 = 10 AND
NVCHAR_COL = NVARCHAR2
}
*DDL STATEMENT 결과 예제*
DDL)
stmt {
op:DDL
op code:9
owner:PRS_TEST
table name:NVARCHAR_T
sgmt id:
tsn:26362654
wrap no:332
log seq:2103
set:
where:
values:
ddl/dml string:truncate table nvarchar_t
} 
! [command]
HO[ST] [command]Admin> ! dir *.ext
Admin> !
Admin> HOST dir *.ext
Admin> HOST@ {filename}Admin> @ run
Admin> @ run.sql/Admin> HELP
Admin> /#동기화 테이블 추가/제거
ALTER inst_id {ADD|DEL[ETE]} TABLE table_owner.table_name GROUP=group_num
#Parameter 변경
ALTER inst_id {EXT|APP[LY]|LLOB} SET parameter='values'EXIT | Q[UIT]H[ELP] [topic]Admin> HELP SETPAUSE {inst_id}Admin> PAUSE prosync4
prosync4 paused.RESUME {inst_id}Admin> RESUME prosync4
prosync4 resumed.SET {parameter} {value}Admin> SET HISTORY 100SHO[W] ALL
SHO[W] PARAM[ETER] instance_id {EXT[RACT] num | APP[LY] num | LLOB} [parameter_name]
SHO[W] PARAM[ETER] AGE[NT] agent_id [parameter_name]Admin> SHOW ALLAdmin> SHOW PARAM prosync4 EXT 1 LOG_LEVEL
Admin> SHOW PARAM prosync4 APPLY 1 MAP
Admin> SHOW PARAM prosync4 LLOB LLOB_FLASHBACK_ERRORAdmin> SHOW PARAM AGENT agent1SHUTD[OWN] ALL
SHUTD[OWN] AGE[NT] [ABORT] [agent_id]
SHUTD[OWN] inst_id [EXT[RACT] [num] | APP[LY] [num]] [ABORT]Admin> SHUTDOWN pro
*** Shutdown Process... [pro_ext1]
Process 'pro_ext1' aborted.
*** Shutdown Process... [pro_apply1]
Process 'pro_apply1' aborted.
*** Shutdown Process... [pro_llob]
Process 'pro_llob' aborted.Admin> SHUTDOWN AGENT agent1
*** Shutdown Agent Process... [agent1]
Process 'prs_agent' aborted.START[UP] ALL
START[UP] AGE[NT] agent_id
START[UP] inst_id [EXT[RACT] [num] | APP[LY] [num]]Admin> STARTUP AGENT agent1
*** Startup Agent Process... [agent1]
Process 'prs_agent' started.Admin> STARTUP pro
*** Startup Process... [pro_ext1]
Process 'pro_ext1' started.
*** Startup Process... [pro_apply1]
Process 'pro_apply1' started.
*** Startup Process... [pro_llob]
Process 'pro_llob' started.STATUS
STATUS inst_idAdmin> STATUS
prs_agent ID: agent1, HOST: 192.168.51.45, PORT: 7600 is running
prs_agent ID: agent2, HOST: 192.168.51.54, PORT: 7601 is running
prs_agent ID: agent3, HOST: 192.168.51.55, PORT: 7602 is stopped
Instance ID: [prosync4]
prosync4_ext1 (1) is running (prs_mgr ID : agent1, HOST: 192.168.51.45, PORT: 7600)
prosync4_ext2 (2) is running (prs_mgr ID : agent1, HOST: 192.168.51.45, PORT: 7600)
prosync4_apply1 (1) is running (prs_mgr ID : agent2, HOST: 192.168.51.54, PORT: 7601)
prosync4_llob (1) is stopped (prs_mgr ID : agent1, HOST: 192.168.51.45, PORT: 7600)
Instance ID: [prosync3]
Agent Process for proc[Extract], num[1] is not running.
Agent Process for proc[Extract], num[2] is not running.
Agent Process for proc[Apply], num[1] is not running.
Agent Process for proc[LONG/LOB], num[1] is not running.
Agent Process for proc[Verify], num[1] is not running.Admin> STATUS prosync4
prosync4_ext1 (20133) has 8 cores, started at 2020/09/09 15:44:19
+ control thread, running
+ worker thread, running
+ sam thread, recv waiting
+ read thread, recv waiting
prosync4_apply1 (20154) has 8 cores, started at 2020/09/09 15:44:19
+ control thread, running
+ replay thread, recv waiting
+ construct thread, recv waiting
prosync4_llob (20168) has 8 cores, started at 2020/09/09 15:44:19
+ control thread, running
+ long/lob thread, recv waiting
prosync4_vf, stoppedMON[ITOR] {inst_id}Thread #0
sql_text:
DELETE FROM "TEST"."T33" WHERE "C1" = :"C1" AND "C2" = :"C2" AND
"C3" = :"C3" AND "C4" = :"C4" AND "C5" = :"C5" AND "C6" = :"C6"
AND "C7" = :"C7" AND "C8" = :"C8" AND "C9" = :"C9" AND "C10" =
:"C10" AND "C11" = :"C11" AND "TIME" = :"TIME" AND ROWNUM = 1
sql_et: 0 (ms)
Thread #1
sql_text:
DELETE FROM "TEST"."T33" WHERE "C1" = :"C1" AND "C2" = :"C2" AND
"C3" = :"C3" AND "C4" = :"C4" AND "C5" = :"C5" AND "C6" = :"C6"
AND "C7" = :"C7" AND "C8" = :"C8" AND "C9" = :"C9" AND "C10" =
:"C10" AND "C11" = :"C11" AND "TIME" = :"TIME" AND ROWNUM = 1
sql_et: 0 (ms)
Thread #2
sql_text:
UPDATE "TEST"."T31" SET "C2" = :"C2", "C3" = :"C3", "C9" = :"C9"
, "C10" = :"C10", "C11" = :"C11" WHERE "C1" = :"C1" AND "C2" = :
"C2" AND "C3" = :"C3" AND "C4" = :"C4" AND "C5" = :"C5" AND "C6"
= :"C6" AND "C7" = :"C7" AND "C8" = :"C8" AND "C9" = :"C9" AND
"C10" = :"C10" AND "C11" = :"C11" AND "TIME" = :"TIME" AND ROWNUM
= 1
sql_et: 0 (ms)
Thread #3
sql_text:
UPDATE "TEST"."T33" SET "C2" = :"C2", "C3" = :"C3", "C9" = :"C9"
, "C10" = :"C10", "C11" = :"C11" WHERE "C1" = :"C1" AND "C2" = :
"C2" AND "C3" = :"C3" AND "C4" = :"C4" AND "C5" = :"C5" AND "C6"
= :"C6" AND "C7" = :"C7" AND "C8" = :"C8" AND "C9" = :"C9" AND "
C10" = :"C10" AND "C11" = :"C11" AND "TIME" = :"TIME" AND ROWNUM
= 1
sql_et: 0 (ms)Admin> START AGENT agent1
*** Startup Agent Process... [agent1]
Process 'prs_agent' started.
Admin> STARTUP prosync4
*** Startup Process... [prosync4_ext1]
Process 'prosync4_ext1' started.
*** Startup Process... [prosync4_apply1]
Process 'prosync4_apply1' started.
*** Startup Process... [prosync4_llob]
Process 'prosync4_llob' started.Admin> SHUTDOWN prosync4
*** Shutdown Process... [prosync4_ext1]
Process 'prosync4_ext1' aborted.
*** Shutdown Process... [prosync4_apply1]
Process 'prosync4_apply1' aborted.
*** Shutdown Process... [prosync4_llob]
Process 'prosync4_llob' aborted.tbdsn.tbr 예시AGENT_CNT=1
AGENT_ID_0=agent1
AGENT_HOST_0=172.19.0.11
AGENT_PORT_0=7600$ cd $PRS_HOME/install
$ . prs_install_agent.sh********************************************************************************
* Agent Install Step (1/4)
* Check System Parameters
********************************************************************************
* Checking system type...
Linux
* Checking PRS_HOME...
PRS_HOME: /home/prosync/example
********************************************************************************
* Agent Install Step (2/4)
* Check install agent config file [prs_install_agent.cfg]
* Check Instance file [prs_instance.map]
********************************************************************************
* Checking configuration file...
[/home/prosync/example/install/prs_install_agent.cfg] exists.
_list_create: Variable AGENT_CM_GROUP_0 is undefined or empty.
_list_create: Variable AGENT_CM_ID_0 is undefined or empty.
* Checking Agent configuration...
Usage: _list_get <list> <index>
Usage: _list_get <list> <index>
parameter check for Agent[0] Started
AGENT_ID: agent1
AGENT_HOST: 172.19.0.11
AGENT_PORT: 7600
parameter check for Agent[0] Done
* Checking prs_instance.map file...
[/home/prosync/example/config/prs_instance.map] exists.
********************************************************************************
* Agent Install Step (3/4)
* Writing agent config file [/home/prosync/example/install/prs_install_agent.cfg]
* Writing Instance file [/home/prosync/example/config/prs_instance.map]
* Total Agent Cnt [1]
********************************************************************************
* Writing all agents.. cnt: 1
Usage: _list_get <list> <index>
Usage: _list_get <list> <index>
* Writing Agent.. Index: 0
* Writing Agent.. AGENT_ID: agent1
* Writing Agent.. AGENT_HOST: 172.19.0.11
* Writing Agent.. AGENT_PORT: 7600
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent1.cfg not found. Writing files...
Done.
* Writing Agent information...
* Creating var directory...
* Already Created.
********************************************************************************
* Agent Install Step (4/4)
* Creating files for CM
********************************************************************************
Agent installation Done.
############################################
#
# ProSync Installation Parameters
#
############################################
# (Mandatory)
INSTANCE_ID=instance
PRS_USER=prosync_user
PRS_PWD=prosync_user_password
# (Optional)
#PRS_TS_NAME=
#PRS_TS_FILE=
#PRS_TS_SIZE=
#PRS_SKIP_USER_CREATE=N
#PRS_TARGET_MIN_PRIVILEGE=N
#PRS_LOG_DIR=
#LOG_BACKUP_DIR=
#CREATE_DSN_FILE=N
#DSN_DIR=
############################################
#
# ProSync Processes Informations for Instance Map
#
############################################
### (Optional)
AGENT_LIST_DELIMITER=,
### (Mandatory)
# Ext process
## Ext cnt must be the same as SRC_DB_CNT
EXT_CNT=1
EXT_AGENT_ID_LIST_0=agent1
#EXT_AGENT_ID_LIST_1=agent1,agent2
# Apply process
APPLY_PORT=7620
APPLY_AGENT_ID_LIST=agent1
# Llob process
LLOB_PORT=7630
LLOB_AGENT_ID_LIST=agent1
############################################
#
# Source database informations
#
############################################
# (Mandatory)
SRC_DB_TYPE=TIBERO
SRC_DB_NAME=tibero
SRC_INSTALL_USER=sys
SRC_INSTALL_PWD=tibero
# (Optional)
#AUTO_ADD_SUPP_LOG=Y
#SRC_SKIP_TS_CREATE=N
# (Number Of Database Instances)
#SRC_DB_CNT=1
# (Dsn)
#SRC_DB_REAL_NAME=
#SRC_DB_IP_0=
#SRC_DB_PORT_0=
#SRC_DB_IP_1=
#SRC_DB_PORT_1=
# (for Cluster, only Extract Needed)
#SRC_DB_ALIAS_0=
#SRC_DB_ALIAS_1=
# (for Oracle Logminer only)
# Oracle 11g or less, use utl_file_dir instead of DICT_FILE_DIR
#USE_LOGMNR=Y
#DICT_FILE_DIR=
# (for MySQL only)
#PRS_EXT_IP=
############################################
#
# Target database informations
#
############################################
# (Mandatory)
TAR_DB_TYPE=TIBERO
TAR_DB_NAME=tar_tibero
TAR_INSTALL_USER=sys
TAR_INSTALL_PWD=tibero
# (Optional)
#TAR_SKIP_TS_CREATE=N
# (Number Of Database Instances)
#TAR_DB_CNT=1
# (Dsn)
#TAR_DB_REAL_NAME=
#TAR_DB_IP_0=
#TAR_DB_PORT_0=
#TAR_DB_IP_1=
#TAR_DB_PORT_1=
# (for MySQL only)
#PRS_APPLY_IP=
# (for multi thread)
#GROUP_NUM=1
# (for TDE(transparent data encryption) synchronization)
#USE_TDE=N$ cd $PRS_HOME/install
$ . prs_install.sh********************************************************************************
* Check System Parameters (1/5)
********************************************************************************
Checking system type... Linux
Checking PRS_HOME... /home/prosync/example
Checking TB_HOME... /home/tibero/tibero/tibero7
Checking ORACLE_HOME... not found
Checking psql ... available
Checking psql service ...not found
********************************************************************************
* Check Installation Parameters (2/5)
********************************************************************************
Checking configuration file... ok
Checking prs_instance.map file... ok
Checking Instance Id from prs_instance.map...
* topology information for instance was not found. It will be written in this script...
ok
Checking proecsses infos...
* Checking Ext processes Informations... EXT_CNT: 1
* Delimiter: [,]
* Ext[0] process's Agent Id List
* Agent ID[agent1]
* [agent1] found.
* Checking Apply process Informations...
* Checking Apply Port..
* APPLY_PORT=[7620]
* Checking Apply process's Agent Id List..
* Agent ID[agent1]
* [agent1] found.
* Checking Llob process Informations...
* Checking Llob Port..
* LLOB_PORT=[7630]
* Checking Llob process's Agent Id List..
* Agent ID[agent1]
* [agent1] found.
Checking INSTANCE_ID... instance
Checking PRS_USER... prosync_user
Checking PRS_TS_NAME... instance_ts
Checking PRS_TS_FILE... instance_ts.dtf
Checking PRS_TS_SIZE... 1G
Checking PRS_EXT_IP... %
Checking PRS_APPLY_IP... %
Checking SRC_DB_CNT... 1
Checking SRC_DB_TYPE... TIBERO
Checking SRC_INSTALL_USER... sys
Checking SRC_DB_NAME... tibero
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_tibero
Checking target connection [tar_tibero](1/2)... ok
Checking target connection [tar_tibero](2/2)... ok
********************************************************************************
* Install to Source Database (3/5)
********************************************************************************
Checking archived log mode... ok
Usage: _list_get <list> <index>
Checking log mining parameters [tibero]... ok
Usage: _list_get <list> <index>
Get Archive log directory [tibero]... ok
Get Archive log format [tibero]... ok
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE instance_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_user to uppercase PROSYNC_USER... ok
Checking source object file(group num : 1)... ok
Building source object for TEST.%... ok
Building source object for TEST%.%... ok
Adding table supplemental log... 6, and one for prosync
"PROSYNC_USER"."PRS_DUMMY_TBL" : Supplemental logging set
"TEST"."T1" : supplemental log already exists, continue.
"TEST"."T2" : supplemental log already exists, continue.
"TEST"."T3" : supplemental log already exists, continue.
"TEST"."T4" : supplemental log already exists, continue.
"TEST"."T5" : supplemental log already exists, continue.
prosync_user.PRS_DUMMY_TBL : supplemental log already exists, continue.
Counting total source objects... 6
Generating initial DDL history... ok
Checking initial DDL history... ok
Insert default value in PRS_DUMMY_TBL...ok
Querying NLS_CHARACTERSET... UTF8
Querying NLS_NCHAR_CHARACTERSET... UTF16
Switching logfile... ok
Usage: _list_get <list> <index>
Querying current log sequence [tibero]... 196
Querying current snapshot#... 4463078
********************************************************************************
* Install to Target Database (4/5)
********************************************************************************
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE instance_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
Usage: _list_get <list> <index>
Generating initial construct history [tibero (group 1)]... ok
Generating initial commit history... ok
********************************************************************************
* Generate Configuration Parameters (5/5)
********************************************************************************
Generating Wallet... ok
Usage: _list_get <list> <index>
Generating Extract [tibero] configuration... ok
Generating Apply [tar_tibero] configuration... ok
Generating LONG/LOB configuration... ok
Generating instance map to prs_instance.map ...
********************************************************************************
* ProSync is installed successfully on Mon, 21 Apr 2025 13:04:35 +0900.
*
* PRS_HOME = /home/prosync/example
* Binary Path = /home/prosync/example/bin
* ProSync User = prosync_user
*
* Archived Log Path = /home/tibero/tibero/tibero7/database/tibero/archive/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 196
*
* Initial change# (TSN) = 4463078
*
********************************************************************************
LOG_LEVEL=3
PRS_USER=example
PRS_PWD=#encrypted
...
# have to set
ODBC_DRIVER=/example/path/psqlodbcw.so
PQ_DRIVER=/example/path/libpq.so.5
PQ_REP_CONN_NAME=exampleLOG_LEVEL=3
PRS_USER=example
PRS_PWD=#encrypted
...
# have to set
ODBC_DRIVER=/example/path/psqlodbcw.soLOG_LEVEL=3
PRS_USER=example
PRS_PWD=#encrypted
...
# have to set
ODBC_DRIVER=/example/path/psqlodbcw.soAGENT_CNT=2
AGENT_ID_0=agent1
AGENT_HOST_0=172.19.0.11
AGENT_PORT_0=7600
AGENT_ID_1=agent2
AGENT_HOST_1=172.19.0.12
AGENT_PORT_1=7700$ cd $PRS_HOME/install
$ . prs_install_agent.sh********************************************************************************
* Agent Install Step (1/4)
* Check System Parameters
********************************************************************************
* Checking system type...
Linux
* Checking PRS_HOME...
PRS_HOME: /home/prosync/example
********************************************************************************
* Agent Install Step (2/4)
* Check install agent config file [prs_install_agent.cfg]
* Check Instance file [prs_instance.map]
********************************************************************************
* Checking configuration file...
[/home/prosync/example/install/prs_install_agent.cfg] exists.
_list_create: Variable AGENT_CM_GROUP_0 is undefined or empty.
_list_create: Variable AGENT_CM_ID_0 is undefined or empty.
* Checking Agent configuration...
Usage: _list_get <list> <index>
Usage: _list_get <list> <index>
parameter check for Agent[0] Started
AGENT_ID: agent1
AGENT_HOST: 172.19.0.11
AGENT_PORT: 7600
parameter check for Agent[0] Done
Usage: _list_get <list> <index>
Usage: _list_get <list> <index>
parameter check for Agent[1] Started
AGENT_ID: agent2
AGENT_HOST: 172.19.0.12
AGENT_PORT: 7700
parameter check for Agent[1] Done
* Checking prs_instance.map file...
[/home/prosync/example/config/prs_instance.map] exists.
********************************************************************************
* Agent Install Step (3/4)
* Writing agent config file [/home/prosync/example/install/prs_install_agent.cfg]
* Writing Instance file [/home/prosync/example/config/prs_instance.map]
* Total Agent Cnt [2]
********************************************************************************
* Writing all agents.. cnt: 2
Usage: _list_get <list> <index>
Usage: _list_get <list> <index>
* Writing Agent.. Index: 0
* Writing Agent.. AGENT_ID: agent1
* Writing Agent.. AGENT_HOST: 172.19.0.11
* Writing Agent.. AGENT_PORT: 7600
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent1.cfg not found. Writing files...
Done.
* Writing Agent information...
Usage: _list_get <list> <index>
Usage: _list_get <list> <index>
* Writing Agent.. Index: 1
* Writing Agent.. AGENT_ID: agent2
* Writing Agent.. AGENT_HOST: 172.19.0.12
* Writing Agent.. AGENT_PORT: 7700
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent2.cfg not found. Writing files...
Done.
* Writing Agent information...
* Creating var directory...
* Already Created.
********************************************************************************
* Agent Install Step (4/4)
* Creating files for CM
********************************************************************************
Agent installation Done.
#-------------------------------------------------
# /home/tibero_tar/tibero/tibero7/client/config/tbdsn.tbr
# Network Configuration File.
# Generated by gen_tip_for_tac.sh at Thu Apr 17 10:51:54 UTC 2025
tar_tibero=(
(INSTANCE=(HOST=172.19.0.12)
(PORT=8620)
(DB_NAME=tibero)
)
)
#-------------------------------------------------
# /home/tibero/tibero/tibero7/client/config/tbdsn.tbr
# Network Configuration File.
# Generated by gen_tip_for_tac.sh at Thu Apr 17 10:19:44 UTC 2025
tibero=(
(INSTANCE=(HOST=172.19.0.11)
(PORT=8620)
(DB_NAME=tibero)
)
)
tar_tibero=(
(INSTANCE=(HOST=172.19.0.12)
(PORT=8620)
(DB_NAME=tibero)
)
)
$ tbsql sys/tibero@tar_tiberotbSQL 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Connected to Tibero using tar_tibero.
SQL> ############################################
#
# ProSync Installation Parameters
#
############################################
# (Mandatory)
INSTANCE_ID=SINGLE2SINGLE
PRS_USER=SINGLE2SINGLE
PRS_PWD=SINGLE2SINGLE
# (Optional)
#PRS_TS_NAME=
#PRS_TS_FILE=
#PRS_TS_SIZE=
#PRS_SKIP_USER_CREATE=N
#PRS_TARGET_MIN_PRIVILEGE=N
#PRS_LOG_DIR=
#LOG_BACKUP_DIR=
#CREATE_DSN_FILE=N
#DSN_DIR=
#DSN_FILE=#need DSN_DIR
############################################
#
# ProSync Processes Informations for Instance Map
#
############################################
### (Optional)
AGENT_LIST_DELIMITER=,
### (Mandatory)
# Ext process
## Ext cnt must be the same as SRC_DB_CNT
EXT_CNT=1
EXT_AGENT_ID_LIST_0=agent1
# EXT_AGENT_ID_LIST_1=agent2,agent1
# Apply process
APPLY_PORT=7620
APPLY_AGENT_ID_LIST=agent2
# Llob process
LLOB_PORT=7630
LLOB_AGENT_ID_LIST=agent1
############################################
#
# Source database informations
#
############################################
# (Mandatory)
SRC_DB_TYPE=TIBERO
SRC_DB_NAME=tibero
SRC_INSTALL_USER=sys
SRC_INSTALL_PWD=tibero
# (Optional)
#AUTO_ADD_SUPP_LOG=Y
#SRC_SKIP_TS_CREATE=N
# (Number Of Database Instances)
# SRC_DB_CNT=1
# (Dsn)
#SRC_DB_REAL_NAME=
#SRC_DB_IP_0=
#SRC_DB_PORT_0=
#SRC_DB_IP_1=
#SRC_DB_PORT_1=
# (for Cluster, only Extract Needed)
# SRC_DB_ALIAS_0=
# SRC_DB_ALIAS_1=
# (for Oracle Logminer only)
# Oracle 11g or less, use utl_file_dir instead of DICT_FILE_DIR
#USE_LOGMNR=Y
#DICT_FILE_DIR=
# (for MySQL only)
#PRS_EXT_IP=
############################################
#
# Target database informations
#
############################################
# (Mandatory)
TAR_DB_TYPE=TIBERO
TAR_DB_NAME=tar_tibero
TAR_INSTALL_USER=sys
TAR_INSTALL_PWD=tibero
# (Optional)
#TAR_SKIP_TS_CREATE=N
# (Number Of Database Instances)
# TAR_DB_CNT=1
# (Dsn)
#TAR_DB_REAL_NAME=
#TAR_DB_IP_0=
#TAR_DB_PORT_0=
#TAR_DB_IP_1=
#TAR_DB_PORT_1=
# (for MySQL only)
#PRS_APPLY_IP=
# (for multi thread)
#GROUP_NUM=1
# (for TDE(transparent data encryption) synchronization)
#USE_TDE=N$ cd $PRS_HOME/install
$ . prs_install.sh********************************************************************************
* Check System Parameters (1/5)
********************************************************************************
Checking system type... Linux
Checking PRS_HOME... /home/prosync/example
Checking TB_HOME... /home/tibero/tibero/tibero7
Checking ORACLE_HOME... not found
Checking psql ... available
Checking psql service ...not found
********************************************************************************
* Check Installation Parameters (2/5)
********************************************************************************
Checking configuration file... ok
Checking prs_instance.map file... ok
Checking Instance Id from prs_instance.map...
* topology information for instance was not found. It will be written in this script...
ok
Checking proecsses infos...
* Checking Ext processes Informations... EXT_CNT: 1
* Delimiter: [,]
* Ext[0] process's Agent Id List
* Agent ID[agent1]
* [agent1] found.
* Checking Apply process Informations...
* Checking Apply Port..
* APPLY_PORT=[7620]
* Checking Apply process's Agent Id List..
* Agent ID[agent1]
* [agent1] found.
* Checking Llob process Informations...
* Checking Llob Port..
* LLOB_PORT=[7630]
* Checking Llob process's Agent Id List..
* Agent ID[agent1]
* [agent1] found.
Checking INSTANCE_ID... instance
Checking PRS_USER... prosync_user
Checking PRS_TS_NAME... instance_ts
Checking PRS_TS_FILE... instance_ts.dtf
Checking PRS_TS_SIZE... 1G
Checking PRS_EXT_IP... %
Checking PRS_APPLY_IP... %
Checking SRC_DB_CNT... 1
Checking SRC_DB_TYPE... TIBERO
Checking SRC_INSTALL_USER... sys
Checking SRC_DB_NAME... tibero
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_tibero
Checking target connection [tar_tibero](1/2)... ok
Checking target connection [tar_tibero](2/2)... ok
********************************************************************************
* Install to Source Database (3/5)
********************************************************************************
Checking archived log mode... ok
Usage: _list_get <list> <index>
Checking log mining parameters [tibero]... ok
Usage: _list_get <list> <index>
Get Archive log directory [tibero]... ok
Get Archive log format [tibero]... ok
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE instance_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_user to uppercase PROSYNC_USER... ok
Checking source object file(group num : 1)... ok
Building source object for TEST.%... ok
Building source object for TEST%.%... ok
Adding table supplemental log... 6, and one for prosync
"PROSYNC_USER"."PRS_DUMMY_TBL" : Supplemental logging set
"TEST"."T1" : supplemental log already exists, continue.
"TEST"."T2" : supplemental log already exists, continue.
"TEST"."T3" : supplemental log already exists, continue.
"TEST"."T4" : supplemental log already exists, continue.
"TEST"."T5" : supplemental log already exists, continue.
prosync_user.PRS_DUMMY_TBL : supplemental log already exists, continue.
Counting total source objects... 6
Generating initial DDL history... ok
Checking initial DDL history... ok
Insert default value in PRS_DUMMY_TBL...ok
Querying NLS_CHARACTERSET... UTF8
Querying NLS_NCHAR_CHARACTERSET... UTF16
Switching logfile... ok
Usage: _list_get <list> <index>
Querying current log sequence [tibero]... 196
Querying current snapshot#... 4463078
********************************************************************************
* Install to Target Database (4/5)
********************************************************************************
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE instance_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
Usage: _list_get <list> <index>
Generating initial construct history [tibero (group 1)]... ok
Generating initial commit history... ok
********************************************************************************
* Generate Configuration Parameters (5/5)
********************************************************************************
Generating Wallet... ok
Usage: _list_get <list> <index>
Generating Extract [tibero] configuration... ok
Generating Apply [tar_tibero] configuration... ok
Generating LONG/LOB configuration... ok
Generating instance map to prs_instance.map ...
********************************************************************************
* ProSync is installed successfully on Mon, 21 Apr 2025 13:04:35 +0900.
*
* PRS_HOME = /home/prosync/example
* Binary Path = /home/prosync/example/bin
* ProSync User = prosync_user
*
* Archived Log Path = /home/tibero/tibero/tibero7/database/tibero/archive/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 196
*
* Initial change# (TSN) = 4463078
*
********************************************************************************total 35
drwxr-xr-x 3 tibero tibero 4096 Apr 18 02:15 ./
drwxr-xr-x 8 tibero tibero 4096 Apr 18 02:24 ../
-rw-r--r-- 1 tibero tibero 534 Apr 18 02:15 SINGLE2SINGLE_apply1.cfg
-rw-r--r-- 1 tibero tibero 339 Apr 18 02:15 prs_adm.cfg
-rw-r--r-- 1 tibero tibero 353 Apr 18 02:15 prs_agent_agent2.cfg
-rw-r--r-- 1 tibero tibero 1262 Apr 18 02:07 prs_instance.map
drwxr-xr-x 2 tibero tibero 4096 Apr 17 10:51 templates/
-rw-r--r-- 1 tibero tibero 5 Feb 5 04:59 variant# var directory tree 예시
.
├── admin
│ └── log
├── agent
│ └── agent1
└── SINGLE2SINGLE
├── alloc
├── log
├── lr1
├── path
└── sam

AGENT_CNT=4
AGENT_ID_0=agent1
AGENT_HOST_0=172.19.0.11
AGENT_PORT_0=7600
AGENT_CM_GROUP_0=CM1
AGENT_CM_ID_0=0
AGENT_ID_1=agent2
AGENT_HOST_1=172.19.0.12
AGENT_PORT_1=7700
AGENT_CM_GROUP_1=CM1
AGENT_CM_ID_1=1
AGENT_ID_2=agent3
AGENT_HOST_2=172.19.0.13
AGENT_PORT_2=7800
AGENT_CM_GROUP_2=CM2
AGENT_CM_ID_2=0
AGENT_ID_3=agent4
AGENT_HOST_3=172.19.0.14
AGENT_PORT_3=7900
AGENT_CM_GROUP_3=CM2
AGENT_CM_ID_3=1$ cd $PRS_HOME/install
$ . prs_install_agent.sh********************************************************************************
* Agent Install Step (1/4)
* Check System Parameters
********************************************************************************
* Checking system type...
Linux
* Checking PRS_HOME...
PRS_HOME: /home/prosync/example
********************************************************************************
* Agent Install Step (2/4)
* Check install agent config file [prs_install_agent.cfg]
* Check Instance file [prs_instance.map]
********************************************************************************
* Checking configuration file...
[/home/prosync/example/install/prs_install_agent.cfg] exists.
* Checking Agent configuration...
parameter check for Agent[0] Started
AGENT_ID: agent1
AGENT_HOST: 172.19.0.11
AGENT_PORT: 7600
AGENT_CM_GROUP: CM1
AGENT_CM_ID: 0
parameter check for Agent[0] Done
parameter check for Agent[1] Started
AGENT_ID: agent2
AGENT_HOST: 172.19.0.12
AGENT_PORT: 7700
AGENT_CM_GROUP: CM1
AGENT_CM_ID: 1
parameter check for Agent[1] Done
parameter check for Agent[2] Started
AGENT_ID: agent3
AGENT_HOST: 172.19.0.13
AGENT_PORT: 7800
AGENT_CM_GROUP: CM2
AGENT_CM_ID: 0
parameter check for Agent[2] Done
parameter check for Agent[3] Started
AGENT_ID: agent4
AGENT_HOST: 172.19.0.14
AGENT_PORT: 7900
AGENT_CM_GROUP: CM2
AGENT_CM_ID: 1
parameter check for Agent[3] Done
* Checking prs_instance.map file...
[/home/prosync/example/config/prs_instance.map] exists.
********************************************************************************
* Agent Install Step (3/4)
* Writing agent config file [/home/prosync/example/install/prs_install_agent.cfg]
* Writing Instance file [/home/prosync/example/config/prs_instance.map]
* Total Agent Cnt [4]
********************************************************************************
* Writing all agents.. cnt: 4
* Writing Agent.. Index: 0
* Writing Agent.. AGENT_ID: agent1
* Writing Agent.. AGENT_HOST: 172.19.0.11
* Writing Agent.. AGENT_PORT: 7600
* Writing Agent.. AGENT_CM_GROUP: CM1
* Writing Agent.. AGENT_CM_ID: 0
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent1.cfg not found. Writing files...
Done.
* Writing Agent information...
* Writing Agent.. Index: 1
* Writing Agent.. AGENT_ID: agent2
* Writing Agent.. AGENT_HOST: 172.19.0.12
* Writing Agent.. AGENT_PORT: 7700
* Writing Agent.. AGENT_CM_GROUP: CM1
* Writing Agent.. AGENT_CM_ID: 1
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent2.cfg not found. Writing files...
Done.
* Writing Agent information...
* Writing Agent.. Index: 2
* Writing Agent.. AGENT_ID: agent3
* Writing Agent.. AGENT_HOST: 172.19.0.13
* Writing Agent.. AGENT_PORT: 7800
* Writing Agent.. AGENT_CM_GROUP: CM2
* Writing Agent.. AGENT_CM_ID: 0
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent3.cfg not found. Writing files...
Done.
* Writing Agent information...
* Writing Agent.. Index: 3
* Writing Agent.. AGENT_ID: agent4
* Writing Agent.. AGENT_HOST: 172.19.0.14
* Writing Agent.. AGENT_PORT: 7900
* Writing Agent.. AGENT_CM_GROUP: CM2
* Writing Agent.. AGENT_CM_ID: 1
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent4.cfg not found. Writing files...
Done.
* Writing Agent information...
* Creating var directory...
* Already Created.
********************************************************************************
* Agent Install Step (4/4)
* Creating files for CM
********************************************************************************
AGENT_CM_ID detected
generating prs_0.sh...
PRS_HOME=/home/prosync/example
AGENT_ID=agent1
prs_0.sh has created in $PRS_HOME/bin/
AGENT_CM_ID detected
generating prs_1.sh...
PRS_HOME=/home/prosync/example
AGENT_ID=agent2
prs_1.sh has created in $PRS_HOME/bin/
AGENT_CM_ID detected
generating prs_0.sh...
PRS_HOME=/home/prosync/example
AGENT_ID=agent3
prs_0.sh has created in $PRS_HOME/bin/
AGENT_CM_ID detected
generating prs_1.sh...
PRS_HOME=/home/prosync/example
AGENT_ID=agent4
prs_1.sh has created in $PRS_HOME/bin/
Agent installation Done.
#!/bin/sh
export TB_HOME=/home/tibero/tibero/tibero7 ## TB_HOME 입력
export PRS_HOME=/home/prosync/example
AGENT_ID=agent1 ## agent_id 입력
TIMEOUT_CNT=7
source $PRS_HOME/bin/prs_cm.sh
export logdir=$PRS_HOME/var
echo "`date +%Y/%m/%d\ %H:%M:%S` cm agent Start (Agent Command $1)" >> $logdir/cmagent.log
case $1 in
START)
echo "start $TIMEOUT_CNT $AGENT_ID" >> $logdir/cmagent.log
start $TIMEOUT_CNT $AGENT_ID
rc=$?
;;
PROBE)
echo "probe $TIMEOUT_CNT $AGENT_ID" >> $logdir/cmagent.log
probe $TIMEOUT_CNT $AGENT_ID
rc=$?
;;
DOWN)
echo "stop $TIMEOUT_CNT $AGENT_ID" >> $logdir/cmagent.log
stop $TIMEOUT_CNT $AGENT_ID
rc=$?
;;
KILL)
echo "stop $TIMEOUT_CNT $AGENT_ID" >> $logdir/cmagent.log
stop $TIMEOUT_CNT $AGENT_ID
rc=$?
;;
NOTI)
rc=0
;;
COMMIT)
echo "send $TIMEOUT_CNT $AGENT_ID ${@:2}" >> $logdir/cmagent.log
send $TIMEOUT_CNT $AGENT_ID ${@:2}
rc=$?
;;
*)
;;
esac
echo "`date +%Y/%m/%d\ %H:%M:%S` cm agent End (Agent Command $1)" >> $logdir/cmagent.log
exit $rccd $PRS_HOME/config
vi prs_agent_agent1.cfg################################################################################
#
# ProSync Agent Configurations (Template)
#
################################################################################
#-------------------------------------------------------------------------------
# LOG
#-------------------------------------------------------------------------------
LOG_LEVEL = 3
LOG_DIR = /home/prosync/example/var/agent/agent1/log
LOG_BACKUP_DIR = /home/prosync/example/var/agent/agent1/log/backup
#-------------------------------------------------------------------------------
# CM
#-------------------------------------------------------------------------------
USE_CM = Y
PRS_AGENT_PROC_MAX_FAIL_CNT = 10 #Dependency Param : USE_CM=Y
PRS_AGENT_PROC_STARTUP_TIMEOUT = 10 #Dependency Param : USE_CM=Y
PRS_AGENT_PROC_STATUS_REPLY_TIMEOUT = 10 #Dependency Param : USE_CM=Y
PRS_AGENT_PROC_STATUS_INTERVAL = 3 #Dependency Param : USE_CM=Y
PRS_AGENT_CM_PROBE_TIMEOUT = 0 #Dependency Param : USE_CM=Y############################################
#
# ProSync Installation Parameters
#
############################################
# (Mandatory)
INSTANCE_ID=TAC2TAC
PRS_USER=TAC2TAC
PRS_PWD=TAC2TAC
# (Optional)
#PRS_TS_NAME=
#PRS_TS_FILE=
#PRS_TS_SIZE=
#PRS_SKIP_USER_CREATE=N
#PRS_TARGET_MIN_PRIVILEGE=N
#PRS_LOG_DIR=
#LOG_BACKUP_DIR=
#CREATE_DSN_FILE=N
#DSN_DIR=
#DSN_FILE=#need DSN_DIR
############################################
#
# ProSync Processes Informations for Instance Map
#
############################################
### (Optional)
AGENT_LIST_DELIMITER=,
### (Mandatory)
# Ext process
## Ext cnt must be the same as SRC_DB_CNT
EXT_CNT=2
EXT_AGENT_ID_LIST_0=agent1,agent2
EXT_AGENT_ID_LIST_1=agent2,agent1
# Apply process
APPLY_PORT=7620
APPLY_AGENT_ID_LIST=agent3,agent4
# Llob process
LLOB_PORT=7630
LLOB_AGENT_ID_LIST=agent1,agent2
############################################
#
# Source database informations
#
############################################
# (Mandatory)
SRC_DB_TYPE=TIBERO
SRC_DB_NAME=tibero
SRC_INSTALL_USER=sys
SRC_INSTALL_PWD=tibero
# (Optional)
#AUTO_ADD_SUPP_LOG=Y
#SRC_SKIP_TS_CREATE=N
# (Number Of Database Instances)
SRC_DB_CNT=2
# (Dsn)
#SRC_DB_REAL_NAME=
#SRC_DB_IP_0=
#SRC_DB_PORT_0=
#SRC_DB_IP_1=
#SRC_DB_PORT_1=
# (for Cluster, only Extract Needed)
SRC_DB_ALIAS_0=tibero1
SRC_DB_ALIAS_1=tibero2
# (for Oracle Logminer only)
# Oracle 11g or less, use utl_file_dir instead of DICT_FILE_DIR
#USE_LOGMNR=Y
#DICT_FILE_DIR=
# (for MySQL only)
#PRS_EXT_IP=
############################################
#
# Target database informations
#
############################################
# (Mandatory)
TAR_DB_TYPE=TIBERO
TAR_DB_NAME=tibero_tar
TAR_INSTALL_USER=sys
TAR_INSTALL_PWD=tibero
# (Optional)
#TAR_SKIP_TS_CREATE=N
# (Number Of Database Instances)
TAR_DB_CNT=2
# (Dsn)
#TAR_DB_REAL_NAME=
#TAR_DB_IP_0=
#TAR_DB_PORT_0=
#TAR_DB_IP_1=
#TAR_DB_PORT_1=
# (for MySQL only)
#PRS_APPLY_IP=
# (for multi thread)
#GROUP_NUM=1
# (for TDE(transparent data encryption) synchronization)
#USE_TDE=N
$ cd $PRS_HOME/install
$ . prs_install.sh********************************************************************************
* Check System Parameters (1/5)
********************************************************************************
Checking system type... Linux
Checking PRS_HOME... /home/prosync/example
Checking TB_HOME... /home/tibero/tibero/tibero7
Checking ORACLE_HOME... not found
Checking psql ... not available
Checking psql service ...not found
********************************************************************************
* 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 TAC2TAC 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[agent1]
* [agent1] found.
* Agent ID[agent2]
* [agent2] found.
* Ext[1] process's Agent Id List
* Agent ID[agent2]
* [agent2] found.
* Agent ID[agent1]
* [agent1] found.
* Checking Apply process Informations...
* Checking Apply Port..
* APPLY_PORT=[7620]
* Checking Apply process's Agent Id List..
* Agent ID[agent3]
* [agent3] found.
* Agent ID[agent4]
* [agent4] found.
* Checking Llob process Informations...
* Checking Llob Port..
* LLOB_PORT=[7630]
* Checking Llob process's Agent Id List..
* Agent ID[agent1]
* [agent1] found.
* Agent ID[agent2]
* [agent2] found.
Checking INSTANCE_ID... TAC2TAC
Checking PRS_USER... TAC2TAC
Checking PRS_TS_NAME... TAC2TAC_ts
Checking PRS_TS_FILE... TAC2TAC_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... tibero
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... tibero_tar
Checking target connection [tibero_tar](1/2)... ok
Checking target connection [tibero_tar](2/2)... ok
********************************************************************************
* Install to Source Database (3/5)
********************************************************************************
Checking archived log mode... ok
Usage: _list_get <list> <index>
Checking log mining parameters [tibero1]... ok
Checking log mining parameters [tibero2]... ok
Usage: _list_get <list> <index>
Get Archive log directory [tibero1]... ok
Get Archive log format [tibero1]... ok
Get Archive log directory [tibero2]... ok
Get Archive log format [tibero2]... ok
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE instance_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 TAC2TAC to uppercase TAC2TACok
Checking source object file(group num : 1)... ok
Building source object for TEST%.%... ok
Adding table supplemental log... 4, and one for prosync
"TAC2TAC"."PRS_DUMMY_TBL" : Supplemental logging set
"TEST"."T1" : supplemental log already exists, continue.
"TEST"."T2" : supplemental log already exists, continue.
"TEST"."T3" : supplemental log already exists, continue.
TAC2TAC.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
Querying NLS_CHARACTERSET... UTF8
Querying NLS_NCHAR_CHARACTERSET... UTF16
Switching logfile [tibero1]... ok
Switching logfile [tibero2]... ok
Usage: _list_get <list> <index>
Querying current log sequence [tibero1]... 8
Querying current log sequence [tibero2]... 8
Querying current snapshot#... 93289
********************************************************************************
* Install to Target Database (4/5)
********************************************************************************
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE TAC2TAC_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 [tibero1 (group 1)]... ok
Generating initial construct history [tibero2 (group 1)]... ok
Generating initial commit history... ok
********************************************************************************
* Generate Configuration Parameters (5/5)
********************************************************************************
Generating Wallet... ok
Usage: _list_get <list> <index>
Generating Extract [tibero1] configuration... ok
Generating Extract [tibero2] configuration... ok
Generating Apply [tibero_tar] configuration... ok
Generating LONG/LOB configuration... ok
Generating instance map to prs_instance.map ...
********************************************************************************
* ProSync is installed successfully on Fri, 18 Apr 2025 02:01:32 +0000.
*
* PRS_HOME = /home/prosync/example
* Binary Path = /home/prosync/example/bin
* ProSync User = TAC2TAC
*
* Archived Log Path = /home/tibero/tibero/tibero7/database/tibero/archive/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 9
*
* Archived Log Path = /home/tibero/tibero/tibero7/database/tibero/archive/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 9
*
* Initial change# (TSN) = 94003
*
********************************************************************************$ tbdown$ tbcm -d$ cd $TB_HOME/configtotal 156
drwxr-xr-x 2 tibero tibero 4096 Apr 21 05:54 ./
drwxr-xr-x 13 tibero tibero 4096 Apr 17 10:19 ../
-rw-r--r-- 1 tibero tibero 72 Apr 1 2024 .gitignore
-rw-r--r-- 1 tibero tibero 474 Apr 1 2024 cm.template
-rw-r--r-- 1 tibero tibero 691 Apr 17 10:19 cm_tibero1.tip
-rw-r--r-- 1 tibero tibero 691 Apr 17 10:19 cm_tibero2.tip
-rw-r--r-- 1 tibero tibero 810 Apr 1 2024 common_tip.template
-rwxr-xr-x 1 tibero tibero 982 Apr 1 2024 gen_QMS_store_dsn_for_sampler.sh*
-rwxr-xr-x 1 tibero tibero 4433 Apr 1 2024 gen_psm_cmd.sh*
-rwxr-xr-x 1 tibero tibero 4886 Apr 1 2024 gen_tip.sh*
-rwxr-xr-x 1 tibero tibero 5938 Apr 1 2024 gen_tip_for_ssvr.sh*
-rwxr-xr-x 1 tibero tibero 11797 Apr 1 2024 gen_tip_for_tac.sh*
-rwxr-xr-x 1 tibero tibero 15732 Apr 1 2024 gen_tip_for_zeta.sh*
-rw-r--r-- 1 tibero tibero 1796 Apr 1 2024 ilog.map.example
-rwxr-xr-x 1 tibero tibero 1628 Apr 17 10:19 psm_commands*
-rw-r--r-- 1 tibero tibero 567 Apr 1 2024 sampler.ssa.template
-rw-r--r-- 1 tibero tibero 488 Apr 1 2024 sampler.template
-rw-r--r-- 1 tibero tibero 434 Apr 1 2024 ssvr.template
-rw-r--r-- 1 tibero tibero 730 Apr 1 2024 tac.template
-rw-r--r-- 1 tibero tibero 572 Apr 1 2024 tas.template
-rw-r--r-- 1 tibero tibero 489 Apr 1 2024 tibero.template
-rw-r--r-- 1 tibero tibero 936 Apr 21 05:54 tibero1.tip
-rw-r--r-- 1 tibero tibero 936 Apr 21 05:54 tibero2.tip
-rw-r--r-- 1 tibero tibero 693 Apr 1 2024 tibero_dev.template
-rw-r--r-- 1 tibero tibero 344 Apr 1 2024 tibero_max.template
-rw-r--r-- 1 tibero tibero 582 Apr 1 2024 tip.ssa.template
-rw-r--r-- 1 tibero tibero 525 Apr 1 2024 tip.template
-rw-r--r-- 1 tibero tibero 689 Apr 1 2024 tip_dev.template
-rw-r--r-- 1 tibero tibero 528 Apr 1 2024 tip_jenkins.template
-rw-r--r-- 1 tibero tibero 340 Apr 1 2024 tip_max.template
-rw-r--r-- 1 tibero tibero 5 Apr 1 2024 variant
# tip file generated from /home/tibero/tibero/tibero7/config/cm.template (Thu Apr 17 10:19:44 UTC 2025)
#-------------------------------------------------------------------------------
#
# Cluster Manager initialization parameter
#
#-------------------------------------------------------------------------------
CM_ID=0 # 여기에 CM_ID를 추가한다.
CM_NAME=cm_tibero1
CM_UI_PORT=8645
CM_RESOURCE_FILE=/home/tibero/tibero/tibero7/cmfile/tibero/cm_tibero1.res
CM_LOG_DEST=/home/tibero/tibero/tibero7/instance/tibero1/log/cm
CM_GUARD_LOG_DEST=/home/tibero/tibero/tibero7/instance/tibero1/log/cm/guard
#CM_HEARTBEAT_EXPIRE
#CM_WATCHDOG_EXPIRE
#LOG_LVL_CM
#CM_ENABLE_FAST_NET_ERROR_DETECTION=Y
#CM_FENCE=Y
#_CM_CHECK_RUNLEVEL=Y
tbcm -btbbootcmrctl show allResource List of Node cm_tibero1
=====================================================================
CLUSTER TYPE NAME STATUS DETAIL
----------- -------- -------------- -------- ------------------------
COMMON network inc1 UP (private) 172.19.0.11/8640
COMMON cluster cls_tibero UP inc: inc1, pub: N/A
cls_tibero file cls_tibero:0 UP /home/tibero/tibero/tibero7/cmfile/tibero/cmdata
cls_tibero service tibero UP Database, Active Cluster (auto-restart: OFF)
cls_tibero db tibero1 UP(NRML) tibero, /home/tibero/tibero/tibero7, failed retry cnt: 0
=====================================================================
Resource List of Node cm_tibero2
=====================================================================
CLUSTER TYPE NAME STATUS DETAIL
----------- -------- -------------- -------- ------------------------
COMMON network inc2 UP (private) 172.19.0.12/8670
COMMON cluster cls_tibero UP inc: inc2, pub: N/A
cls_tibero file cls_tibero:0 UP /home/tibero/tibero/tibero7/cmfile/tibero/cmdata
cls_tibero service tibero UP Database, Active Cluster (auto-restart: OFF)
cls_tibero db tibero2 UP(NRML) tibero, /home/tibero/tibero/tibero7, failed retry cnt: 0
=====================================================================
cmrctl add group --name <group_name> --cname <cluster_name>
--grptype <type> --failover <true|false>cmrctl add group --name CM1 --cname cls_tibero --grptype prosync$ Resource add success! (group, CM1)cmrctl add agent --name <agent_name> --grpname <group_name> --script <directory_path>
--pubnet <public_network_resource_name> --retry_cnt <retry_cnt>cmrctl add agent --name agent1 --grpname CM1 --script "$TB_HOME/prs_0.sh"$ Resource add success! (agent, agent1)cmrctl show allResource List of Node cm_tibero1
=====================================================================
CLUSTER TYPE NAME STATUS DETAIL
----------- -------- -------------- -------- ------------------------
COMMON network inc1 UP (private) 172.19.0.11/8640
COMMON cluster cls_tibero UP inc: inc1, pub: N/A
cls_tibero file cls_tibero:0 UP /home/tibero/tibero/tibero7/cmfile/tibero/cmdata
cls_tibero service tibero UP Database, Active Cluster (auto-restart: OFF)
cls_tibero db tibero1 UP(NRML) tibero, /home/tibero/tibero/tibero7, failed retry cnt: 0
cls_tibero group CM1 DOWN type: prosync (failover: ON)
cls_tibero agent agent1 DOWN /home/tibero/tibero/tibero7/prs0.sh, start retry cnt: 0
=====================================================================
Resource List of Node cm_tibero2
=====================================================================
CLUSTER TYPE NAME STATUS DETAIL
----------- -------- -------------- -------- ------------------------
COMMON network inc2 UP (private) 172.19.0.12/8670
COMMON cluster cls_tibero UP inc: inc2, pub: N/A
cls_tibero file cls_tibero:0 UP /home/tibero/tibero/tibero7/cmfile/tibero/cmdata
cls_tibero service tibero UP Database, Active Cluster (auto-restart: OFF)
cls_tibero db tibero2 UP(NRML) tibero, /home/tibero/tibero/tibero7, failed retry cnt: 0
cls_tibero group CM1 DOWN type: prosync (failover: ON)
cls_tibero agent agent2 DOWN /home/tibero/tibero/tibero7/prs1.sh, start retry cnt: 0
=====================================================================
cmrctl start group --name CM1=================================== SUCCESS! ===================================
Succeeded to request at each node to boot resources under the group(CM1).
Please use "cmrctl show group --name CM1" to verify the result.
================================================================================Resource List of Node cm_tibero1
=====================================================================
CLUSTER TYPE NAME STATUS DETAIL
----------- -------- -------------- -------- ------------------------
COMMON network inc1 UP (private) 172.19.0.11/8640
COMMON cluster cls_tibero UP inc: inc1, pub: N/A
cls_tibero file cls_tibero:0 UP /home/tibero/tibero/tibero7/cmfile/tibero/cmdata
cls_tibero service tibero UP Database, Active Cluster (auto-restart: OFF)
cls_tibero db tibero1 UP(NRML) tibero, /home/tibero/tibero/tibero7, failed retry cnt: 0
cls_tibero group CM1 UP type: prosync (failover: ON)
cls_tibero agent agent1 UP /home/tibero/tibero/tibero7/prs_0.sh, start retry cnt: 0
=====================================================================
Resource List of Node cm_tibero2
=====================================================================
CLUSTER TYPE NAME STATUS DETAIL
----------- -------- -------------- -------- ------------------------
COMMON network inc2 UP (private) 172.19.0.12/8670
COMMON cluster cls_tibero UP inc: inc2, pub: N/A
cls_tibero file cls_tibero:0 UP /home/tibero/tibero/tibero7/cmfile/tibero/cmdata
cls_tibero service tibero UP Database, Active Cluster (auto-restart: OFF)
cls_tibero db tibero2 UP(NRML) tibero, /home/tibero/tibero/tibero7, failed retry cnt: 0
cls_tibero group CM1 UP type: prosync (failover: ON)
cls_tibero agent agent2 UP /home/tibero/tibero/tibero7/prs_1.sh, start retry cnt: 0
=====================================================================
$ prs_adm
ProSync 4 - Admin Utility
TmaxData Corporation Copyright (c) 2024-. All rights reserved.
Admin> status
prs_agent ID: agent1, HOST: 172.19.0.11, PORT: 7600, CM_GROUP: CM1, CM_ID: 0 is running
prs_agent ID: agent2, HOST: 172.19.0.12, PORT: 7700, CM_GROUP: CM1, CM_ID: 1 is running
prs_agent ID: agent3, HOST: 172.19.0.13, PORT: 7800, CM_GROUP: CM2, CM_ID: 0 is running
prs_agent ID: agent4, HOST: 172.19.0.14, PORT: 7900, CM_GROUP: CM2, CM_ID: 1 is running
Instance ID: [TAC2TAC]
prosync_ext1 (1) is running (prs_agent ID : agent1, HOST: 172.19.0.11, PORT: 7600)
prosync_ext2 (2) is running (prs_agent ID : agent2, HOST: 172.19.0.12, PORT: 7700)
prosync_apply1 is running (prs_agent ID : agent3, HOST: 172.19.0.13, PORT: 7800)
prosync_llob (1) is running (prs_agent ID : agent1, HOST: 172.19.0.11, PORT: 7600)
tbdsn.tbr 예시AGENT_CNT=4
AGENT_ID_0=agent1
AGENT_HOST_0=172.19.0.11
AGENT_PORT_0=7600
AGENT_ID_1=agent2
AGENT_HOST_1=172.19.0.11
AGENT_PORT_1=7700
AGENT_ID_2=agent3
AGENT_HOST_2=172.19.0.11
AGENT_PORT_2=7800
AGENT_ID_3=agent4
AGENT_HOST_3=172.19.0.11
AGENT_PORT_3=7900$ cd $PRS_HOME/install
$ . prs_install_agent.sh********************************************************************************
* Agent Install Step (1/4)
* Check System Parameters
********************************************************************************
* Checking system type...
Linux
* Checking PRS_HOME...
PRS_HOME: /home/prosync/example
********************************************************************************
* Agent Install Step (2/4)
* Check install agent config file [prs_install_agent.cfg]
* Check Instance file [prs_instance.map]
********************************************************************************
* Checking configuration file...
[/home/prosync/example/install/prs_install_agent.cfg] exists.
* Checking Agent configuration...
parameter check for Agent[0] Started
AGENT_ID: agent1
AGENT_HOST: 172.19.0.11
AGENT_PORT: 7600
parameter check for Agent[0] Done
parameter check for Agent[1] Started
AGENT_ID: agent2
AGENT_HOST: 172.19.0.11
AGENT_PORT: 7700
parameter check for Agent[1] Done
parameter check for Agent[2] Started
AGENT_ID: agent3
AGENT_HOST: 172.19.0.11
AGENT_PORT: 7800
parameter check for Agent[2] Done
parameter check for Agent[3] Started
AGENT_ID: agent4
AGENT_HOST: 172.19.0.11
AGENT_PORT: 7900
parameter check for Agent[3] Done
* Checking prs_instance.map file...
[/home/prosync/example/config/prs_instance.map] exists.
********************************************************************************
* Agent Install Step (3/4)
* Writing agent config file [/home/prosync/example/install/prs_install_agent.cfg]
* Writing Instance file [/home/prosync/example/config/prs_instance.map]
* Total Agent Cnt [4]
********************************************************************************
* Writing all agents.. cnt: 4
* Writing Agent.. Index: 0
* Writing Agent.. AGENT_ID: agent1
* Writing Agent.. AGENT_HOST: 172.19.0.11
* Writing Agent.. AGENT_PORT: 7600
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
File already exists...
[/home/prosync/example/config/prs_agent_agent1.cfg]
Want to Delete ? (Y/N)
n
Skip deleteing...
* Writing Agent information...
Agent information already exist
Want to Replace ? (Y/N)
n
Skipped...
* Writing Agent.. Index: 1
* Writing Agent.. AGENT_ID: agent2
* Writing Agent.. AGENT_HOST: 172.19.0.11
* Writing Agent.. AGENT_PORT: 7700
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent2.cfg not found. Writing files...
Done.
* Writing Agent information...
* Writing Agent.. Index: 2
* Writing Agent.. AGENT_ID: agent3
* Writing Agent.. AGENT_HOST: 172.19.0.11
* Writing Agent.. AGENT_PORT: 7800
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent3.cfg not found. Writing files...
Done.
* Writing Agent information...
* Writing Agent.. Index: 3
* Writing Agent.. AGENT_ID: agent4
* Writing Agent.. AGENT_HOST: 172.19.0.11
* Writing Agent.. AGENT_PORT: 7900
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent4.cfg not found. Writing files...
Done.
* Writing Agent information...
* Creating var directory...
* Already Created.
********************************************************************************
* Agent Install Step (4/4)
* Creating files for CM
********************************************************************************
There's no AGENT_CM_ID, finishing installation
Agent installation Done.############################################
#
# ProSync Installation Parameters
#
############################################
# (Mandatory)
INSTANCE_ID=TAC2TAC
PRS_USER=TAC2TAC
PRS_PWD=TAC2TAC
# (Optional)
#PRS_TS_NAME=
#PRS_TS_FILE=
#PRS_TS_SIZE=
#PRS_SKIP_USER_CREATE=N
#PRS_TARGET_MIN_PRIVILEGE=N
#PRS_LOG_DIR=
#LOG_BACKUP_DIR=
#CREATE_DSN_FILE=N
#DSN_DIR=
#DSN_FILE=#need DSN_DIR
############################################
#
# ProSync Processes Informations for Instance Map
#
############################################
### (Optional)
AGENT_LIST_DELIMITER=,
### (Mandatory)
# Ext process
## Ext cnt must be the same as SRC_DB_CNT
EXT_CNT=2
EXT_AGENT_ID_LIST_0=agent1,agent2
EXT_AGENT_ID_LIST_1=agent2,agent1
# Apply process
APPLY_PORT=7620
APPLY_AGENT_ID_LIST=agent3
# Llob process
LLOB_PORT=7630
LLOB_AGENT_ID_LIST=agent1,agent2
############################################
#
# Source database informations
#
############################################
# (Mandatory)
SRC_DB_TYPE=TIBERO
SRC_DB_NAME=tibero
SRC_INSTALL_USER=sys
SRC_INSTALL_PWD=tibero
# (Optional)
#AUTO_ADD_SUPP_LOG=Y
#SRC_SKIP_TS_CREATE=N
# (Number Of Database Instances)
SRC_DB_CNT=2
# (Dsn)
#SRC_DB_REAL_NAME=
#SRC_DB_IP_0=
#SRC_DB_PORT_0=
#SRC_DB_IP_1=
#SRC_DB_PORT_1=
# (for Cluster, only Extract Needed)
SRC_DB_ALIAS_0=tibero1
SRC_DB_ALIAS_1=tibero2
# (for Oracle Logminer only)
# Oracle 11g or less, use utl_file_dir instead of DICT_FILE_DIR
#USE_LOGMNR=Y
#DICT_FILE_DIR=
# (for MySQL only)
#PRS_EXT_IP=
############################################
#
# Target database informations
#
############################################
# (Mandatory)
TAR_DB_TYPE=TIBERO
TAR_DB_NAME=tibero_tar
TAR_INSTALL_USER=sys
TAR_INSTALL_PWD=tibero
# (Optional)
#TAR_SKIP_TS_CREATE=N
# (Number Of Database Instances)
TAR_DB_CNT=2
# (Dsn)
#TAR_DB_REAL_NAME=
#TAR_DB_IP_0=
#TAR_DB_PORT_0=
#TAR_DB_IP_1=
#TAR_DB_PORT_1=
# (for MySQL only)
#PRS_APPLY_IP=
# (for multi thread)
#GROUP_NUM=1
# (for TDE(transparent data encryption) synchronization)
#USE_TDE=N
$ cd $PRS_HOME/install
$ . prs_install.sh********************************************************************************
* Check System Parameters (1/5)
********************************************************************************
Checking system type... Linux
Checking PRS_HOME... /home/prosync/example
Checking TB_HOME... /home/tibero/tibero/tibero7
Checking ORACLE_HOME... not found
Checking psql ... not available
Checking psql service ...not found
********************************************************************************
* 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 TAC2TAC 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[agent1]
* [agent1] found.
* Agent ID[agent2]
* [agent2] found.
* Ext[1] process's Agent Id List
* Agent ID[agent2]
* [agent2] found.
* Agent ID[agent1]
* [agent1] found.
* Checking Apply process Informations...
* Checking Apply Port..
* APPLY_PORT=[7620]
* Checking Apply process's Agent Id List..
* Agent ID[agent3]
* [agent3] found.
* Agent ID[agent4]
* [agent4] found.
* Checking Llob process Informations...
* Checking Llob Port..
* LLOB_PORT=[7630]
* Checking Llob process's Agent Id List..
* Agent ID[agent1]
* [agent1] found.
* Agent ID[agent2]
* [agent2] found.
Checking INSTANCE_ID... TAC2TAC
Checking PRS_USER... TAC2TAC
Checking PRS_TS_NAME... TAC2TAC_ts
Checking PRS_TS_FILE... TAC2TAC_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... tibero
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... tibero_tar
Checking target connection [tibero_tar](1/2)... ok
Checking target connection [tibero_tar](2/2)... ok
********************************************************************************
* Install to Source Database (3/5)
********************************************************************************
Checking archived log mode... ok
Usage: _list_get <list> <index>
Checking log mining parameters [tibero1]... ok
Checking log mining parameters [tibero2]... ok
Usage: _list_get <list> <index>
Get Archive log directory [tibero1]... ok
Get Archive log format [tibero1]... ok
Get Archive log directory [tibero2]... ok
Get Archive log format [tibero2]... ok
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE instance_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 TAC2TAC to uppercase TAC2TACok
Checking source object file(group num : 1)... ok
Building source object for TEST%.%... ok
Adding table supplemental log... 4, and one for prosync
"TAC2TAC"."PRS_DUMMY_TBL" : Supplemental logging set
"TEST"."T1" : supplemental log already exists, continue.
"TEST"."T2" : supplemental log already exists, continue.
"TEST"."T3" : supplemental log already exists, continue.
TAC2TAC.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
Querying NLS_CHARACTERSET... UTF8
Querying NLS_NCHAR_CHARACTERSET... UTF16
Switching logfile [tibero1]... ok
Switching logfile [tibero2]... ok
Usage: _list_get <list> <index>
Querying current log sequence [tibero1]... 8
Querying current log sequence [tibero2]... 8
Querying current snapshot#... 93289
********************************************************************************
* Install to Target Database (4/5)
********************************************************************************
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE TAC2TAC_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 [tibero1 (group 1)]... ok
Generating initial construct history [tibero2 (group 1)]... ok
Generating initial commit history... ok
********************************************************************************
* Generate Configuration Parameters (5/5)
********************************************************************************
Generating Wallet... ok
Usage: _list_get <list> <index>
Generating Extract [tibero1] configuration... ok
Generating Extract [tibero2] configuration... ok
Generating Apply [tibero_tar] configuration... ok
Generating LONG/LOB configuration... ok
Generating instance map to prs_instance.map ...
********************************************************************************
* ProSync is installed successfully on Fri, 18 Apr 2025 02:01:32 +0000.
*
* PRS_HOME = /home/prosync/example
* Binary Path = /home/prosync/example/bin
* ProSync User = TAC2TAC
*
* Archived Log Path = /home/tibero/tibero/tibero7/database/tibero/archive/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 9
*
* Archived Log Path = /home/tibero/tibero/tibero7/database/tibero/archive/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 9
*
* Initial change# (TSN) = 94003
*
********************************************************************************
AGENT_CNT=4
AGENT_ID_0=agent1
AGENT_HOST_0=172.19.0.11
AGENT_PORT_0=7600
AGENT_ID_1=agent2
AGENT_HOST_1=172.19.0.12
AGENT_PORT_1=7700
AGENT_ID_2=agent3
AGENT_HOST_2=172.19.0.13
AGENT_PORT_2=7800
AGENT_ID_3=agent4
AGENT_HOST_3=172.19.0.14
AGENT_PORT_3=7900$ cd $PRS_HOME/install
$ . prs_install_agent.sh********************************************************************************
* Agent Install Step (1/4)
* Check System Parameters
********************************************************************************
* Checking system type...
Linux
* Checking PRS_HOME...
PRS_HOME: /home/prosync/example
********************************************************************************
* Agent Install Step (2/4)
* Check install agent config file [prs_install_agent.cfg]
* Check Instance file [prs_instance.map]
********************************************************************************
* Checking configuration file...
[/home/prosync/example/install/prs_install_agent.cfg] exists.
* Checking Agent configuration...
parameter check for Agent[0] Started
AGENT_ID: agent1
AGENT_HOST: 172.19.0.11
AGENT_PORT: 7600
parameter check for Agent[0] Done
parameter check for Agent[1] Started
AGENT_ID: agent2
AGENT_HOST: 172.19.0.12
AGENT_PORT: 7700
parameter check for Agent[1] Done
parameter check for Agent[2] Started
AGENT_ID: agent3
AGENT_HOST: 172.19.0.13
AGENT_PORT: 7800
parameter check for Agent[2] Done
parameter check for Agent[3] Started
AGENT_ID: agent4
AGENT_HOST: 172.19.0.14
AGENT_PORT: 7900
parameter check for Agent[3] Done
* Checking prs_instance.map file...
[/home/prosync/example/config/prs_instance.map] exists.
********************************************************************************
* Agent Install Step (3/4)
* Writing agent config file [/home/prosync/example/install/prs_install_agent.cfg]
* Writing Instance file [/home/prosync/example/config/prs_instance.map]
* Total Agent Cnt [4]
********************************************************************************
* Writing all agents.. cnt: 4
* Writing Agent.. Index: 0
* Writing Agent.. AGENT_ID: agent1
* Writing Agent.. AGENT_HOST: 172.19.0.11
* Writing Agent.. AGENT_PORT: 7600
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
File already exists...
[/home/prosync/example/config/prs_agent_agent1.cfg]
Want to Delete ? (Y/N)
n
Skip deleteing...
* Writing Agent information...
Agent information already exist
Want to Replace ? (Y/N)
n
Skipped...
* Writing Agent.. Index: 1
* Writing Agent.. AGENT_ID: agent2
* Writing Agent.. AGENT_HOST: 172.19.0.12
* Writing Agent.. AGENT_PORT: 7700
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent2.cfg not found. Writing files...
Done.
* Writing Agent information...
* Writing Agent.. Index: 2
* Writing Agent.. AGENT_ID: agent3
* Writing Agent.. AGENT_HOST: 172.19.0.13
* Writing Agent.. AGENT_PORT: 7800
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent3.cfg not found. Writing files...
Done.
* Writing Agent information...
* Writing Agent.. Index: 3
* Writing Agent.. AGENT_ID: agent4
* Writing Agent.. AGENT_HOST: 172.19.0.14
* Writing Agent.. AGENT_PORT: 7900
* Writing Agent.. AGENT_CM_GROUP:
* Writing Agent.. AGENT_CM_ID:
* Writing Agent configuration...
/home/prosync/example/config/prs_agent_agent4.cfg not found. Writing files...
Done.
* Writing Agent information...
* Creating var directory...
* Already Created.
********************************************************************************
* Agent Install Step (4/4)
* Creating files for CM
********************************************************************************
There's no AGENT_CM_ID, finishing installation
Agent installation Done.#-------------------------------------------------
# /home/tibero_tar/tibero/tibero7/client/config/tbdsn.tbr
# Network Configuration File.
# Generated by gen_tip_for_tac.sh at Thu Apr 17 10:51:54 UTC 2025
#-------------------------------------------------
# Appended by gen_tip_for_tac.sh at Thu Apr 17 10:51:54 UTC 2025
tibero_tar1=(
(INSTANCE=(HOST=172.19.0.13)
(PORT=8620)
(DB_NAME=tibero_tar)
)
)
tibero_tar1priv=(
(INSTANCE=(HOST=172.19.0.13)
(PORT=8621)
(DB_NAME=tibero_tar)
)
)
#-------------------------------------------------
# Appended by gen_tip_for_tac.sh at Thu Apr 17 10:51:54 UTC 2025
tibero_tar2=(
(INSTANCE=(HOST=172.19.0.14)
(PORT=8650)
(DB_NAME=tibero_tar)
)
)
tibero_tar2priv=(
(INSTANCE=(HOST=172.19.0.14)
(PORT=8651)
(DB_NAME=tibero_tar)
)
)
tibero_tar=(
(INSTANCE=(HOST=172.19.0.13)
(PORT=8620)
(DB_NAME=tibero_tar)
)
(INSTANCE=(HOST=172.19.0.14)
(PORT=8650)
(DB_NAME=tibero_tar)
)
#(LOAD_BALANCE=Y)
)
#-------------------------------------------------
# /home/tibero/tibero/tibero7/client/config/tbdsn.tbr
# Network Configuration File.
# Generated by gen_tip_for_tac.sh at Thu Apr 17 10:19:44 UTC 2025
#-------------------------------------------------
# Appended by gen_tip_for_tac.sh at Thu Apr 17 10:19:44 UTC 2025
tibero1=(
(INSTANCE=(HOST=172.19.0.11)
(PORT=8620)
(DB_NAME=tibero)
)
)
tibero1priv=(
(INSTANCE=(HOST=172.19.0.11)
(PORT=8621)
(DB_NAME=tibero)
)
)
#-------------------------------------------------
# Appended by gen_tip_for_tac.sh at Thu Apr 17 10:19:44 UTC 2025
tibero2=(
(INSTANCE=(HOST=172.19.0.12)
(PORT=8650)
(DB_NAME=tibero)
)
)
tibero2priv=(
(INSTANCE=(HOST=172.19.0.12)
(PORT=8651)
(DB_NAME=tibero)
)
)
tibero=(
(INSTANCE=(HOST=172.19.0.11)
(PORT=8620)
(DB_NAME=tibero)
)
(INSTANCE=(HOST=172.19.0.12)
(PORT=8650)
(DB_NAME=tibero)
)
#(LOAD_BALANCE=Y)
)
#-------------------------------------------------
# Appended by gen_tip_for_tac.sh at Thu Apr 17 10:51:54 UTC 2025
tibero_tar1=(
(INSTANCE=(HOST=172.19.0.13)
(PORT=8620)
(DB_NAME=tibero_tar)
)
)
tibero_tar1priv=(
(INSTANCE=(HOST=172.19.0.13)
(PORT=8621)
(DB_NAME=tibero_tar)
)
)
#-------------------------------------------------
# Appended by gen_tip_for_tac.sh at Thu Apr 17 10:51:54 UTC 2025
tibero_tar2=(
(INSTANCE=(HOST=172.19.0.14)
(PORT=8650)
(DB_NAME=tibero_tar)
)
)
tibero_tar2priv=(
(INSTANCE=(HOST=172.19.0.14)
(PORT=8651)
(DB_NAME=tibero_tar)
)
)
tibero_tar=(
(INSTANCE=(HOST=172.19.0.13)
(PORT=8620)
(DB_NAME=tibero_tar)
)
(INSTANCE=(HOST=172.19.0.14)
(PORT=8650)
(DB_NAME=tibero_tar)
)
#(LOAD_BALANCE=Y)
) $ tbsql sys/tibero@tibero_tar1tbSQL 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Connected to Tibero using tibero_tar1.
SQL> ############################################
#
# ProSync Installation Parameters
#
############################################
# (Mandatory)
INSTANCE_ID=TAC2TAC
PRS_USER=TAC2TAC
PRS_PWD=TAC2TAC
# (Optional)
#PRS_TS_NAME=
#PRS_TS_FILE=
#PRS_TS_SIZE=
#PRS_SKIP_USER_CREATE=N
#PRS_TARGET_MIN_PRIVILEGE=N
#PRS_LOG_DIR=
#LOG_BACKUP_DIR=
#CREATE_DSN_FILE=N
#DSN_DIR=
#DSN_FILE=#need DSN_DIR
############################################
#
# ProSync Processes Informations for Instance Map
#
############################################
### (Optional)
AGENT_LIST_DELIMITER=,
### (Mandatory)
# Ext process
## Ext cnt must be the same as SRC_DB_CNT
EXT_CNT=2
EXT_AGENT_ID_LIST_0=agent1,agent2
EXT_AGENT_ID_LIST_1=agent2,agent1
# Apply process
APPLY_PORT=7620
APPLY_AGENT_ID_LIST=agent3
# Llob process
LLOB_PORT=7630
LLOB_AGENT_ID_LIST=agent1,agent2
############################################
#
# Source database informations
#
############################################
# (Mandatory)
SRC_DB_TYPE=TIBERO
SRC_DB_NAME=tibero
SRC_INSTALL_USER=sys
SRC_INSTALL_PWD=tibero
# (Optional)
#AUTO_ADD_SUPP_LOG=Y
#SRC_SKIP_TS_CREATE=N
# (Number Of Database Instances)
SRC_DB_CNT=2
# (Dsn)
#SRC_DB_REAL_NAME=
#SRC_DB_IP_0=
#SRC_DB_PORT_0=
#SRC_DB_IP_1=
#SRC_DB_PORT_1=
# (for Cluster, only Extract Needed)
SRC_DB_ALIAS_0=tibero1
SRC_DB_ALIAS_1=tibero2
# (for Oracle Logminer only)
# Oracle 11g or less, use utl_file_dir instead of DICT_FILE_DIR
#USE_LOGMNR=Y
#DICT_FILE_DIR=
# (for MySQL only)
#PRS_EXT_IP=
############################################
#
# Target database informations
#
############################################
# (Mandatory)
TAR_DB_TYPE=TIBERO
TAR_DB_NAME=tibero_tar
TAR_INSTALL_USER=sys
TAR_INSTALL_PWD=tibero
# (Optional)
#TAR_SKIP_TS_CREATE=N
# (Number Of Database Instances)
TAR_DB_CNT=2
# (Dsn)
#TAR_DB_REAL_NAME=
#TAR_DB_IP_0=
#TAR_DB_PORT_0=
#TAR_DB_IP_1=
#TAR_DB_PORT_1=
# (for MySQL only)
#PRS_APPLY_IP=
# (for multi thread)
#GROUP_NUM=1
# (for TDE(transparent data encryption) synchronization)
#USE_TDE=N$ cd $PRS_HOME/install
$ . prs_install.sh********************************************************************************
* Check System Parameters (1/5)
********************************************************************************
Checking system type... Linux
Checking PRS_HOME... /home/prosync/example
Checking TB_HOME... /home/tibero/tibero/tibero7
Checking ORACLE_HOME... not found
Checking psql ... not available
Checking psql service ...not found
********************************************************************************
* 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 TAC2TAC 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[agent1]
* [agent1] found.
* Agent ID[agent2]
* [agent2] found.
* Ext[1] process's Agent Id List
* Agent ID[agent2]
* [agent2] found.
* Agent ID[agent1]
* [agent1] found.
* Checking Apply process Informations...
* Checking Apply Port..
* APPLY_PORT=[7620]
* Checking Apply process's Agent Id List..
* Agent ID[agent3]
* [agent3] found.
* Agent ID[agent4]
* [agent4] found.
* Checking Llob process Informations...
* Checking Llob Port..
* LLOB_PORT=[7630]
* Checking Llob process's Agent Id List..
* Agent ID[agent1]
* [agent1] found.
* Agent ID[agent2]
* [agent2] found.
Checking INSTANCE_ID... TAC2TAC
Checking PRS_USER... TAC2TAC
Checking PRS_TS_NAME... TAC2TAC_ts
Checking PRS_TS_FILE... TAC2TAC_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... tibero
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... tibero_tar
Checking target connection [tibero_tar](1/2)... ok
Checking target connection [tibero_tar](2/2)... ok
********************************************************************************
* Install to Source Database (3/5)
********************************************************************************
Checking archived log mode... ok
Usage: _list_get <list> <index>
Checking log mining parameters [tibero1]... ok
Checking log mining parameters [tibero2]... ok
Usage: _list_get <list> <index>
Get Archive log directory [tibero1]... ok
Get Archive log format [tibero1]... ok
Get Archive log directory [tibero2]... ok
Get Archive log format [tibero2]... ok
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE instance_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 TAC2TAC to uppercase TAC2TACok
Checking source object file(group num : 1)... ok
Building source object for TEST%.%... ok
Adding table supplemental log... 4, and one for prosync
"TAC2TAC"."PRS_DUMMY_TBL" : Supplemental logging set
"TEST"."T1" : supplemental log already exists, continue.
"TEST"."T2" : supplemental log already exists, continue.
"TEST"."T3" : supplemental log already exists, continue.
TAC2TAC.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
Querying NLS_CHARACTERSET... UTF8
Querying NLS_NCHAR_CHARACTERSET... UTF16
Switching logfile [tibero1]... ok
Switching logfile [tibero2]... ok
Usage: _list_get <list> <index>
Querying current log sequence [tibero1]... 8
Querying current log sequence [tibero2]... 8
Querying current snapshot#... 93289
********************************************************************************
* Install to Target Database (4/5)
********************************************************************************
Dropping ProSync objects... ok
Dropping ProSync tablespace... DROP TABLESPACE TAC2TAC_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 [tibero1 (group 1)]... ok
Generating initial construct history [tibero2 (group 1)]... ok
Generating initial commit history... ok
********************************************************************************
* Generate Configuration Parameters (5/5)
********************************************************************************
Generating Wallet... ok
Usage: _list_get <list> <index>
Generating Extract [tibero1] configuration... ok
Generating Extract [tibero2] configuration... ok
Generating Apply [tibero_tar] configuration... ok
Generating LONG/LOB configuration... ok
Generating instance map to prs_instance.map ...
********************************************************************************
* ProSync is installed successfully on Fri, 18 Apr 2025 02:01:32 +0000.
*
* PRS_HOME = /home/prosync/example
* Binary Path = /home/prosync/example/bin
* ProSync User = TAC2TAC
*
* Archived Log Path = /home/tibero/tibero/tibero7/database/tibero/archive/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 9
*
* Archived Log Path = /home/tibero/tibero/tibero7/database/tibero/archive/
* Archived Log Format = log-t%t-r%r-s%s.arc
* Initial log sequence# = 9
*
* Initial change# (TSN) = 94003
*
********************************************************************************
total 36
drwxr-xr-x 3 tibero tibero 4096 Apr 18 02:15 ./
drwxr-xr-x 8 tibero tibero 4096 Apr 18 02:24 ../
-rw-r--r-- 1 tibero tibero 534 Apr 18 02:15 TAC2TAC_apply1.cfg
-rw-r--r-- 1 tibero tibero 339 Apr 18 02:15 prs_adm.cfg
-rw-r--r-- 1 tibero tibero 353 Apr 18 02:15 prs_agent_agent3.cfg
-rw-r--r-- 1 tibero tibero 353 Apr 18 02:15 prs_agent_agent4.cfg
-rw-r--r-- 1 tibero tibero 1262 Apr 18 02:07 prs_instance.map
drwxr-xr-x 2 tibero tibero 4096 Apr 17 10:51 templates/
-rw-r--r-- 1 tibero tibero 5 Feb 5 04:59 variant# var directory tree 예시
.
├── admin
│ └── log
├── agent
│ ├── agent1
│ └── agent2
└── TAC2TAC
├── alloc
├── log
├── lr1
├── path
└── sam