본문 바로가기

DB/Tibero

[Tibero교육] ProSync Administration

1. 교육소개

• 교육개요

교육목표 • ProSync 기본구조 및 개념 이해
• ProSync 설치, 환경설정 및 관리 방법 이해
• ProSync 모니터링 및 장애처리 방법 이해
교육대상 • ProSync 시스템 관리자
사전요구 • Linux/Unix 명령어 활용
• Tibero 및 각종 DBMS 운영 관리 지식
• vi editor를 활용한 text 편집
참고사항 https://www.tmaxdata.com 교육일정, 수강신청 및 취소
https://technet.tmaxsoft.com Online Technical Support(제품,    License, Manual, Q&A)

2. PrtoSync 개요

• 실시간 데이터 통합 관리의 필요성

• ProSync 개요

 

실시간 데이터 통합 관리의 필요성

 

기업 IT 환경이 복잡해지고 여러 시스템의 데이터 통합 요구가 증가함에 따라 여러 DB에 있는 데이터를 실시간 동기화하려는 요구가 커지고 있습니다.

IT 인프라 복잡도 증가 데이터 통합 분석 요구 증가 데이터 관리/검증 어려움
• 기업의 다양한 Needs 존재
• 다양한 용도의 IT 시스템 필요
• 이기종 DBMS의 동시 사용
• 기업의 데이터 통합 분석 요구 증가
• 최소한의 시스템 변경을 통해 통합 분      석 기능 지원 필요
• 짧은 시간에 정확한 데이터 분석 필요
• 데이터 통합 및 관리가 상당히 어려움
• 데이터 검증 및 장애 대처
• 다양한 업무에 필요한 각종 데이터의      통합과 연계
Real-Time 데이터 통합 및 관리 필요

ProSync는 Source DB에서 지정된 테이블의 변경된 데이터만 추출하여 데이터를 가공하고 Target DB에 실시간으로 반영해 주는 CDC 솔루션입니다.

3.  ProSync  특징

• 주요 기능 및 특장점

• 고성능 – Direct Reader

• 고성능 – Event Manager

• 안정성 – Active-Active Cluster 지원

• 안정성 – 장애 자동 감지 및 프로세스 재기동

• 편의성 – 자동 DDL 동기화

• 편의성 – 스키마 변경 및 칼럼 마스킹

• 편의성 – 동기화 일시정지

 

주요 기능 및 특장점

 

ProSync는 실시간 양방향 동기화, 다양한 타입의 데이터 변환, 장애복구 등의 다양한 기능을 제공하는 Tibero 연동 가능한 유일한 CDC 제품 입니다.

고성능 – Direct Reader

 

Direct Reader 기능을 통해 최소의 컴퓨터 자원으로 Redo 로그를 직접 읽어 실시간으로 변경 데이터를 추출하므로, ProSync 엔진 부하가 매우 작습니다.

고성능 – Event Manager

 

Event Manager를 통해 기존 Queue에서 발생하는 부하를 제거함으로써 최적의 성능을 보장합니다.

안정성 – Active-Active Cluster 지원

 

Source DB가 Active Cluster로 구축된 경우에도 데이터 동기화를 지원하며, DB 장애 발생시에도 데이터 정합성을 완벽하게 유지합니다.

안정성 – 장애 자동 감지 및 프로세스 재기동

 

다양한 장애 유형에 대한 대응 및 장애 자동감지 시 프로세스 재기동을 통해 안정성을 향상시킵니다.

편의성 – 자동 DDL 동기화

 

동기화 수행 중인 테이블에 스키마 변경이 일어나는 경우 자동으로 Target DB의 테이블에도 스키마 변경을 수행합니다. (DB의 스키마 변경 시에만 자동 동기화)

편의성 – 스키마 변경 및 칼럼 마스킹

 

테이블의 일부 칼럼만 동기화 하거나, 테이블 이름 변경, 칼럼 추가 등의 스키마 변경을 지원합니다.

편의성 – 동기화 일시정지

 

Source/Target DB에서 부하가 발생하였을 시에 동기화를 일시정지할 수 있는 기능을 제공하여, 높은 편의성 및 안정성을 제공합니다.

4. ProSync 구성요소

 

• 개요

• Process Architecture

• Thread Architecture

 

개요

 

ProSync : 실시간 CDC (Change Data Capture) 솔루션

• 소스 DB의 log를 분석해 변경된 데이터를 타겟 DB에 SQL로 동기화

• 추출한 데이터를 원하는 형태로 변환 가능

• 실시간 동기화가 가능하기 때문에 타겟 DB를 standby로도 사용 가능

Process Architecture

Thread Architecture

Data 복제 과정

 

데이터 추출

• 추출 프로세스(Extract process) 가 소스DB의 Redo log 를 읽고 데이터 추출한다.

데이터 추출

1. 추출 프로세스의 읽기(READ) 스레드가 Redo log 로 부터 LCR (Logical Change Record) 를 추출한다.

2. 추출 프로세스의 제어(CTHR) 스레드가 개별 LCR 들의 모아서 반영(apply) 프로세스에게 전송한다.

데이터 전송

• 반영 프로세스(Apply process) 의 제어(CTHR) 스레드는 LCR(Logical Change Record) List 를 전송받아 조립(CONST) 스레드에게 전송한다.

데이터 조립(TX 별 조립)

• 반영 프로세스(Apply process) 의 조립(CONST) 스레드는 LCR(Logical Change Record) 들을 트랜잭션 별로 조립한다.

• 트랜잭션별로 LCR 들을 조립하기 위해 TX hash table 을 사용한다.

데이터 조립(노드 별 정렬)

• 클러스터 (TAC, RAC)일 때 조립(CONST) 스레드는 TX 들(TX Hash 에 의해 정렬된) 을 노드별로 정렬 한다.

• 한 노드내의 TX 들은 COMMIT TSN 순서로 정렬 한다.

데이터 반영

• 반영 프로세스(Apply process) 의 제어(CTHR) 스레드는 조립(CONST) 스레드로 부터 LCR(Logical Change Record) List 전달받아, 반영(REPLAY) 스레드에게 전달한다.

데이터 반영(REPLAY 스레드)

데이터 반영(DD image)

• DD(Data Dictionary) image 는 LCR -> DML 생성을 위해 필요하다.

• 소스 DB에 해당 LCR이 로그로 남은 시점의 DD 정보가 필요

• ProSync 비기동 시에도 추적이 가능해야 하기 때문에 트리거를 이용해서 소스DB 테이블로 관리

데이터 반영(Long TX)

• Long TX가 있다면 메모리가 부족할 수 있음.

• 반영(REPLAY) 스레드는 LCR list를 파일로 내리는 과정을 수행한다.

데이터 반영(노드별 부하 차이가 클 때)

• 특정 노드의 TX list 가 많아질 수 있다.

• 반영(REPLAY) 스레드는 LCR list를 파일로 내리는 과정을 수행한다

데이터 반영(반영 속도가 느릴 때)

1. Replay thread의 속도가 느려서, construct, merge 과정을 모두 거쳤으나 replay를 하지 못한 tx들이 memory 상에 많이 존재할 수 있다.

2. Apply process의 memory size가 사용자가 설정한 memory size(APPLY_MEM_SIZE)보다 커졌을때, replay thread의 처리를 기다리고 있는 thread가 있는 경우, Apply의 CTHR이 Extract에게 추출을 일시 정지할 것을 명령

3. Apply process의 memory size가 사용자가 설정한 memory size(APPLY_MEM_SIZE)보다 작여 졌거나, replay thread의 처리를 기다리고 있는 tx가 없는 경우, Apply의 CTHR이 Extract에게 추출을 다시 시작할 것을 명령

5. ProSync 동기화 모드

• 단방향 동기화 모드

• Source Cluster DB 동기화 모드

• 1:N 단방향 동기화 모드

• 양방향 동기화 모드

• Multi-grouping 모드

• IP 주소 설정

 

단방향 동기화 모드

 

 Source DB 에 유입된 데이터를 Target DB 에 동기화 하기 위해 다음과 같은 순서로 설치한다.

1. Source, Target DB 모두 Normal mode 구동중

2. ProSync 설치

 Target DB 에 맞게 설치 파라미터를 $PRS_HOME/install/prs_install.cfg 에 설정한다.

 $PRS_HOME/install/prs_install.sh 실행

 $PRS_HOME/config/각종cfg 파일에 파라미터 설정

3. 추출/반영 프로세스 구동

Source Cluster DB 동기화 모드

 

 Source DB가 Cluster 환경인 경우(TAC, RAC), Cluster node 별로 추출 프로세스를 위한 config 파일(파일명: [top_id]_ext[node#].cfg ) 이 구성되어야 한다.

• ProSync 설치시 설치용 환경설정 파일 ( $PRS_HOME/install/prs_install.cfg ) 에 Cluster 관련 파라미터를 추가하여 prs_install.sh 를 수행하면 노드 갯수 만큼 extract config 파일이 생성되므로, 이를 사용하여 환경을 구성한다.

1:N 단방향 동기화 모드

 

 하나의 Source DB에 유입된 데이터를 N개의 Target DB 체계에 전파한다.

• Target DB의 갯수와 종류에 맞게 설치 파라미터를 설정하고 설치를 수행한다.

• 예) Target DB가 2개 일때

양방향 동기화 모드

 

 Source DB와 Target DB가 서로 유입된 데이터를 상대방 체계에 전파한다.

• 양방향 모드를 위해서는 Source DB로부터 Target DB로의 단방향 설치를 수행한 후에 Source DB와 Target DB를 반대로 설정하여 단방향 설치를 다시 한 번 수행한다.

Multi-grouping 모드

 

동기화 대상 테이블을 independent한 그룹들로 나누어 ProSync가 작동하도록 설정할 수 있다.

• 설치시 prs_install.cfg 에 GROUP_NUM 설정 필요

• prs_obj_group#.list 파일을 그룹 갯수 만큼 작성

• 예) 그룹 2개 일때

IP 주소 설정

 

 ProSync는 config directory의 prs_top.map을 통해 IP 주소를 관리한다.

• Source DB와 Target DB가 서로 다른 머신에 있다면, 원격 머신에서 기동할 프로세스의 IP 주소와 포트 번호를 로컬 머신의 prs_top.map 에 명시해야 한다.

6. ProSync 설치

 

• 시스템 요구사항

• 지원 데이터베이스

• ProSync 설치 수행

• ProSync 디렉터리 구조

• ProSync 관련 DB 오브젝트

• ProSync 제거

 

시스템 요구사항

 플랫폼 별 ProSync 동작에 필요한 표준 하드웨어 지원환경

OS Version CPU RAM Memory Hard Disc
Space
JDK Version
HP-UX 11i (64bit) • Itanium64 • 1 Gigabytes 이상 • 최소 1.5 GB 이상 • JDK 1.6 이상
IBM AIX 5.3, AIX 6.1 (64bit) • PPC 5L
LINUX – 32bit : kernel 2.     6.15, glibc 2.3.6   , libstdc++6.0.7
– 64bit : kernel 2.     6.9, glibc 2.3.4, l     ibstdc++6.0.3
• x86 Series
- 64bit : kernel 2.6   .9, glibc 2.3.4 libs    tdc++6.0.3 • IA 64

지원 데이터베이스

 ProSync 지원 데이터베이스와 항목

항목 지원 범위
Source Database • Tibero(Single/TAC/TAS)
• Oracle 11g(Single/ASM-acfs 기능 사용)
• MySQL(Version 5.6 이상)
Target Database • Tibero
• Oracle 11g
• MySQL
• SQL Server(2008 이상)
지원 데이터 타입 • 지원 데이터 타입은 사용하는 DB에 따라 상이함
트랜잭션 • 트랜잭션 단위의 동기화 지원
DML • 테이블에 대한 INSERT, UPDATE, DELETE
• DML 동기화 제약사항

• 실체화 뷰(Materialized View), Clusterd table, Indexed Organized table(IOT)(Source DB가 Oracle인 경우), 암호화된 테이블, 압축된 테이블 (Source DB가 Oracle인 경우) 에 대한 동기화는 지원하지 않는다.

• 대상 테이블에 Interval Partitioning이 적용된 경우 범위를 명시하지 않아 DB가 동적으로 생성한 Partition에 포함된 데이터는 동기화되지 않을 수 있다.

• NOLOGGING 옵션이 걸린 테이블에 대한 DML은 동기화 하지 않는다 (단, Source DB가 Tibero인 경우 NOLOGGING 테이블이더라도 Supplemental Logging 옵션이 걸려 있다면 동기화한다).
DDL • ProSync에 정의된 동기화 대상 유저가 발생시킨 모든 유형의 DDL( 설정파일 prs_obj_group1.list 내용을 참조하여 수행 )

• DDL 동기화는 DB 단위의 동기화 지원
(** 단, MySQL 및 SQL Server의 경우 DDL동기화를 지원하지 않는다.)

 

 ProSync 지원 데이터 타입

• 동기화 대상 테이블을 생성 또는 등록하기에 앞서 데이터 타입을 확인해야 한다. ProSync에서는 Source DB에 따라 지원하는 컬럼 타입이 다르다.

구분 지원 타입
Tibero • XML, OBJECT, BFILE, ROWID을 제외한 모든 컬럼 타입에 대해 지원한다.
• 단, BINARY_FLOAT, BINARY_DOUBLE 컬럼타입의 경우, Tibero to Tibero 동기화만 지원이 가능하다.
Oracle • ROWID, UROWID, BINARY_DOUBLE, BINARY_FLOAT, URITYPE, BFILE, XMLTYPE, OBJECT 타입은 지원하지 않는다
구분 지원 타입
MySQL • Source DB가 MySQL인 경우 지원하는 컬럼 타입과 그와 대응되는 Tibero 컬럼 타입은 다음과 같다.
MySQL Tibero
INT(TINY, SMALL, MEDIUM, BIG) NUMBER
DECIMAL (m,n), NUMERIC NUMBER
DATE DATE
TIME TIME
DATETIME TIMESTAMP
TIMESTAMP TIMESTAMP
CHAR CHAR, NCHAR
VARCHAR VARCHAR, NVARCHA
(* 참고: LOB, TEXT 타입은 Tibero TO MySQL 단방향 동기화만 가능)
구분 지원 타입
SQL Server • 컬럼 매핑을 진행할 때는 각 DB의 컬럼 precision, 크기, 제약 조건들을 확인하면서 매핑이 진행되어야 한다.
Tibero(Source DB) SQL Server(Target DB)
NUMBER(3) TINYINT
NUMBER(5) SMALLINT
NUMBER(10) INT
NUMBER(19) BIGINT
TIME(n) TIME(n)
DATE SMALLDATETIME
TIMESTAMP(n) DATETIME2(n)
CHAR(0<n<=2000) CHAR(0<n<=8000)
NCHAR(0<n<=2000) NCHAR(0<n<=4000)
VARCHAR(0<n<=65532) VARCHAR (0<n<=8000), VARCHAR(max) (2GB)
NVARCHAR(0<n<=65532) NVARCHAR (0<n<=4000) (2GB)
RAW(0<N<=2000) VARBINARY (0<n<=8000)
BLOB VARBINARY (0<n<=8000), VARBINARY (max) (2GB)
CLOB TEXT(2GB), VARCHAR(max) (2GB)
NCLOB NTEXT(1GB), NVARCHAR(max) (2GB)
LONG TEXT(2GB)

ProSync 설치 수행

 

ProSync 단방향 동기화 모드 (TIBERO DB 간의 1대1 복제) 설치를 진행한다. OS 계정 생성 이후 다음 순서로 진행함

프로싱크 실습

 

## 접속정보 추가(tbdsn.tbr)
- 설치 툴이 동작할때 사용함.

vi $TB_HOME/client/config/tbdsn.tbr


 prs2=(
    (INSTANCE=(HOST=192.168.56.242)
              (PORT=8629)
              (DB_NAME=tibero)
    )
)


prs3=(
    (INSTANCE=(HOST=192.168.56.243)
              (PORT=8629)
              (DB_NAME=tibero)
    )
)

## PROSYNC 환경변수 추가
vi ~/.bash_profile

####### ProSync 4.0 ENV #######
export PRS_HOME=/tibero/prosync4
export PATH=.:$PRS_HOME/bin:$PRS_HOME/client/bin:$PATH
####### ProSync Alias
alias prshome="cd $PRS_HOME"

cat ~/.bash_profile

source ~/.bash_profile

echo $PRS_HOME

## 바이너리 압축풀기

cp /tibero/s/install_prosync/pro*.gz /tibero
cd /tibero
tar -xvzf pro*.gz


ls -l $PRS_HOME

 

##  설치 파라미터 파일 생성

prshome
cd install
cd templates

cp $PRS_HOME/install/templates/*install* $PRS_HOME/install

cd $PRS_HOME/install
mv prs_install.cfg.template prs_install.cfg

vi prs_install.cfg

cat prs_install.cfg

설치 파라미터

• ProSync 설치시 사용하는 $PRS_HOME/install/prs_install.cfg 파일의 파라미터에 대한 설명이다

설치 파라미터 설명
TOP_ID • ProSync를 설치하기 위한 ID이다. 사용자가 관리를 위해서 임의로 설정한 ID를 적어둔다. (필수 항목)
PRS_USER • ProSync 운영을 위하여 소스 및 Target DB에 생성할 사용자 이름을 설정한다.
• DB TYPE이 SQL 서버인 경우 LOGIN, USER 이름이 된다. (필수 항목)
PRS_PWD • PRS_USER의 암호를 설정한다. 설정하지 않는 경우 설치 과정에서 직접 입력한다
PRS_TS_NAME • ProSync 운영에 사용되는 데이터를 저장할 테이블스페이스 이름을 설정한다. (기본값: [TOP_ID]_ts)
PRS_TS_FILE • ProSync 운영에 사용되는 데이터를 저장할 테이블스페이스 파일명을 설정한다. (기본값: [TOP_ID]_ts.dtf)
PRS_TS_SIZE • ProSync 운영에 사용되는 데이터를 저장할 테이블스페이스 크기를 설정한다. (기본값: 1G)
PRS_SKIP_USER_CREATE • ProSync 운영에 사용되는 데이터베이스 사용자를 생성하지 않고 기존의 사용자를 사용할 때 설정한다. (기본값: N)
PRS_TARGET_MIN_PRIVILEGE • ProSync 운영에 사용되는 Target DB 사용자에게 최소한의 권한만 부여하여, DML 동기화만 수행할 때 설정한다. DDL 동기화를 수행하려면 추후 그에 맞는 권한을 부여해야 한다. (기본값: N)
SRC_DB_TYPE • Source DB의 종류를 설정한다. (필수 항목)
– TIBERO / ORACLE / MYSQL
SRC_INSTALL_USER • ProSync 설치요건 검토 및 PRS_USER 생성을 위한 Source DB 접속에 사용하는 계정이다. 설치에 필요한 권한을 가지고 있어야 하며 일반적으로 시스템 관리자 권한을 가진 계정을 사용한다. (필수 항목)
SRC_DB_NAME • Source DB의 별칭(Alias)를 설정한다. (필수 항목)
• MYSQL의 경우 MYSQL 서버의 호스트 이름을 입력해야 한다
SRC_INSTALL_PWD • SRC_INSTALL_USER의 암호를 설정한다. 설정하지 않는 경우 설치 과정에서 직접 입력한다.
AUTO_ADD_SUPP_LOG • 동기화 대상 테이블에 대해 ProSync를 설치 과정에서 자동적으로 suppemental log를 추가할지 여부를 설정한다. (Y|N, 기본값: Y)
SRC_SKIP_TS_CREATE • ProSync 운영에 사용되는 데이터를 저장할 테이블스페이스를 생성하지 않고 기존의 테이블스페이스를 사용한다. (기본값: N)
SRC_DB_IP • Source DB의 IP정보를 입력한다. (기본값: localhost)
SRC_DB_PORT • Source DB가 MySQL인 경우 MySQL 서버에 접속하기 위한 포트 번호를 설정해야 한다.
SRC_DB_CNT • Cluster 환경(Tibero TAC, Oracle RAC)에서 노드의 개수를 적어준다.(기본값: 1)
SRC_DB_ALIAS[i] • Cluster 환경(Tibero TAC, Oracle RAC)에서 SRC_DB_CNT 값(i)만큼 각 노드 별 별칭(Alias)를 설정한다.
USE_LOGMNR • Source DB가 ORACLE인 경우 기존 direct read 방식이 아닌 oracle logminer를 통해 로그를 추출할 수 있다. 설치 시점에 해당 파라미터를 설정해야 하며, direct read 방식과의 스펙 차이는 "ProSync 관리자 안내서"를 참고한다.
TAR_DB_TYPE • Target DB의 종류를 설정한다. (필수 항목)
– TIBERO / ORACLE / MYSQL / MSSQL (SQL Server)
TAR_INSTALL_USER • ProSync 설치요건 검토 및 PRS_USER 생성을 위한 Target DB 접속에 사용하는 계정이다. 설치에 필요한 권한을 가지고 있어야 하며 일반적으로 시스템 관리자 계정을 사용한다. (필수 항목)
TAR_DB_CNT • Target DB의 수를 설정한다. 클러스터 환경에서의 인스턴스 수와는 무관하다.
– Target DB가 1개인 경우 : 1
– Target DB가 2개 이상인 경우 : Target DB의 총 갯수 (MySQL 및 SQL Server 미지원)
TAR_DB_NAME[0] • Target DB의 별칭(Alias)를 설정한다. (필수 항목)
• MYSQL의 경우 MYSQL 서버의 호스트 이름을 입력해야 한다.
TAR_INSTALL_PWD • TAR_INSTALL_USER의 암호를 설정한다. 설정하지 않는 경우 설치 과정에서 직접 입력한다
TAR_SKIP_TS_CREATE • ProSync 운영에 사용되는 데이터를 저장할 테이블스페이스를 생성하지 않고 기존의 테이블스페이스를 사용한다. (기본값: N)
TAR_DB_IP • Target DB의 IP정보를 입력한다. (기본값: localhost
TAR_DB_PORT • Target DB가 MySQL인 경우 MySQL 서버에 접속하기 위한 포트 번호를 설정해야 한다
PRS_EXT_IP • Source DB가 MySQL인 경우 PRS_USER로 MySQL에 접속할 수 있는 IP를 설정한다. 설정하지 않는 경우 기본값으로 '%'가 설정되어 모든 IP 에서 접속할 수 있다.
PRS_APPLY_IP • Target DB가 MySQL인 경우 PRS_USER로 MySQL에 접속할 수 있는 IP를 설정한다. 설정하지 않는 경우 기본값으로 '%'가 설정되어 모든 IP에서 접속할 수 있다.
GROUP_NUM • Multi-Grouping 모드에서 사용한다. replay group의 개수를 설정한다. (기본값: 1)
TAR_DEFAULT_DB_NAME  • Target DB가 SQL 서버인 경우에만 사용되는 파라미터이다.
• ProSync의 메타 테이블이 생성되는 데이터베이스를 지정한다. (필수 항목)
TDE_WALLET_PWD • 암호화된 테이블을 동기화하기 위해 필요한 파라미터이다.
• Source DB에서 생성된 wallet file의 비밀번호를 입력한다. 실제 설치 이후 생성되는 config file에는 암호화된 채로 저장된다.
RULE_DB_TYPE • Rule DB의 종류를 설정한다. (필수 항목)
– TIBERO / ORACLE / MYSQL / MSSQL (SQL Server)
RULE_DB_NAME • Rule DB의 별칭(Alias)을 설정한다. (필수 항목)
RULE_INSTALL_USER • Rule DB에 접속해 환경파라미터를 조회,수정,그리고 변경할 수 있는 권한을 가진 계정이다. (필수 항목)
RULE_INSTALL_PWD • RULE_INSTALL_USER의 암호를 설정한다. 설정하지 않는 경우 설치 과정에서 직접 입력한다.
RULE_DB_IP • RULE_DB_IP RULE DB의 IP 정보를 입력한다. (기본값: localhost)
RULE_DB_PORT • RULE DB가 MySQL인 경우 MySQL 서버에 접속하기 위한 포트 번호를 설정해야 한다.

설치 파라미터

- Rule DB 관련 파라미터

• 초기 파라미터는 Rule DB 모드와 Config file 모드로 관리할 수 있다.

• ProSync를 기본 설치하는 경우 Config file 모드로 설정되어 있다.

• 사용자가 Rule DB 모드로 초기 파라미터를 관리하고 싶은 경우 [TOP_ID]_rule.cfg 파일에서 RULE_CFG_FILE=N을 추가한 후 ProSync를 재실행한다.

DB USER 권한

• ProSync 설치를 위해서는 3개 DB 사용자(PRS_USER, SRC_INSTALL_USER, TAR_INSTALL_USER) 정보가 필요하다

ProSync 계정 역할
SRC_INSTALL_USER ,
TAR_INSTALL_USER
• 설치 과정에서 사용되는 계정들이다.
• 설치 이후의 ProSync 기동 및 운영과는 관련이 없다.
• 각각 Source DB, Target DB에 접속하여 설치 요건을 만족하였는지 검사하고, PRS_USER 계정 생성 및 권한 부여를 수행함
PRS_USER • ProSync가 내부적으로 운영에 사용하는 메타 데이터를 보관하는 테이블들을 관리하기 위해 Source DB 및 Target DB에 생성하는 계정 이름이다.

DB USER 권한

• ProSync PRS_USER(Source DB) 은 다음과 같은 권한이 필요하다

DB USER 권한

• ProSync PRS_USER(Target DB) 은 다음과 같은 권한이 필요하다

DB USER 권한

• ProSync SRC_INSTALL_USER 계정은 ProSync 설치 작업을 위해 다음 권한을 필요로 한다

##  table 생성 구문 작성

vi cre_test_table.sql

SET ECHO ON
CREATE USER TEST IDENTIFIED BY PASSWORD;
GRANT RESOURCE, CONNECT TO TEST;
CREATE TABLE TEST.T1 (C1 NUMBER PRIMARY KEY, C2 VARCHAR(10));
CREATE TABLE TEST.T2 (C1 NUMBER PRIMARY KEY, C2 VARCHAR(10));
CREATE TABLE TEST.T3 (C1 NUMBER PRIMARY KEY, C2 VARCHAR(10));
QUIT

cd /
cd /tibero

 

## ProSync 동기화 대상 tble 생성

tbsql sys/tibero@prs2 @cre_test_table.sql
tbsql sys/tibero@prs3 @cre_test_table.sql

 

## ProSync 동기화 대상 table 목록작성

vi $PRS_HOME/install/prs_obj_group1.list

##############################
# ProSync Source Table List
##############################
TEST.T1
TEST.T2
TEST.T3


cat $PRS_HOME/install/prs_obj_group1.list


## (Source Server) DB 파라미터 파일 편집

vi $TB_HOME/config/$TB_SID.tip

###########################################
## ProSync 4.0
###########################################
_ENABLE_LOG_MINER=Y
_DDL_TRIGGER_ENABLE=Y
_DDL_AFTER_TRIGGER_FIRE_WHEN_FAILURE=Y
_SPAN_UNDO=N
_LOG_FILE_WITH_GROUP_READ_PERM=Y


(파라미터 적용) 소스 DB 재기동

tbdown immediate

tbboot

파라미터 적용 확인

tbsql sys/tibero@prs2 @check_param.sql

COL NAME FOR A40
COL VALUE FOR A6
SELECT NAME, VALUE
FROM VT_PARAMETER
WHERE NAME IN
('_ENABLE_LOG_MINER','_DDL_TRIGGER_ENABLE','_DDL_AFTER_TRIGGER_FIRE_WHEN_FAILURE','_SPAN_UNDO');

 

## (Source Server) ProSync 설치

$PRS_HOME/install/prs_install.sh

## (Source Server) ProSync map 파일 조회

ll $PRS_HOME/config

cat $PRS_HOME/config/prs_top.map

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------실습에선 제외된 내용

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

ProSync 디렉터리 구조

ProSync 디렉터리 설명

 

ProSync 관련 DB 오브젝트

 

 ProSync 관련 DB 오브젝트 : 각종 DB 오브젝트 (동기화 수행을 위한 메타 데이터를 저장하는 테이블, 패키지, 트리거, 시퀀스 등) 가 Source db, Target db 에 각각 생성된다.

 Source DB 오브젝트 : ProSync 설치시, Source DB 에 다음과 같은 오브젝트가 생성된다

Object Type Object Name 설명
Table PRS_DDL_HIST DDL이 발생하는 순간, 몇 번째 DD image인지, tsn과 sequence, status, msg를 기록
PRS_DD_COL 동기화 대상 table의 column에 대한 id, col#, name, type#, length, prec, scale, key_col, property 등 column에 대한 정보가 적혀있고, 역시 dd_seq가 적혀있음.
PRS_DD_SGMT 동기화 대상 table에 대한 stmt id 와 object id 그리고 dd_seq가 적혀있음
PRS_DD_TBL 동기화 대상 table에 대한 obj_id, owner, name, group, dropped 정보와 dd_seq가 적혀있음
PRS_DD_USR Source DB에 존재하는 DB USER 정보를 저장하고 있다.
PRS_OBJ_LIST 동기화 대상 table에 대해서 type, owner, name, group#이 적혀있음
PRS_TXINFO 트랜잭션의 정보가 저장되는 테이블이다
PRS_DICT_HIST 딕셔너리 파일 경로를 저장하는 테이블이다.
PRS_DUMMY_TBL Dummy log 를 생성시키기 위해 dummy dml 을 수행하는 테이블
PRS_INSTALL_HIST ProSync 가 설치된 호스트명,OS유저,설치일시 등을 기록
Package PRS_DD_META PRS_DDL_TRG가 이미지 관리를 위해 사용한다.
Trigger PRS_DDL_TRG ProSync가 DD 이미지를 관리하기 위한 trigger이다.
Sequence PRS_DD_SEQ DDL 이력관리를 위한 일련번호 추출용

 Target DB 오브젝트 : ProSync 설치시, Target DB 에 다음과 같은 오브젝트가 생성된다.

Object Type Object Name 설명
Table PRS_CONST_HIST 현재까지 반영된 리두 혹은 아카이브 로그의 정보를 저장하고 있다.
PRS_IPARAM ProSync 프로세서 별 파라미터 정보를 저장하고 있다
PRS_LCT 반영 스레드가 마지막으로 반영한 TX의 정보를 저장하고 있다
Sequence PRS_CONST_SEQ 반영 이력관리를 위한 일련번호 추출용

ProSync 제거

 

 ProSync Uninstall 방법

- 소스, 타겟 서버에서 ProSync 종료후 다음과 같이 수행한다

 

7. ProSync 기동 및 종료

 

• ProSync Admin 기동

• ProSync 시작

• ProSync 종료

 

## prosync 프로세스 기동

prshome
. prs_env $PRS_HOME

prs_adm
startup man
status
startup prs23
status

 

 ProSync Admin 기동을 위해 prs_adm [@실행스크립트파일명] 명령을 수행한다.

 Manager 시작 : 각 서버장비에서 Admin 실행 후, manager 를 구동 시킨다.

 추출/반영 프로세스 시작 : Admin 유틸리티에서 추출/반영 프로세스를 구동 시킨다.

ProSync 종료

 

 각 서버장비에서 Admin 실행 후, 추출반영 프로세스/ manager 를 종료 시킨다.

8. 파라미터 설정

• ProSync 파라미터

• ProSync 파라미터 파일

• Rule DB 를 활용한 파라미터 관리

 

ProSync 파라미터

 Parameter 를 설정하여 추출, 반영 프로세스의 동작을 제어할 수 있다.

파라미터 설명
   
   
   
   
   
   
   
   
   

 

 

 

 

 

 

 

'DB > Tibero' 카테고리의 다른 글

[Tibero교육] Tibero Architecture  (0) 2022.11.23
[Tibero] 혼자서 해보는 Tibero 설치하기  (1) 2022.11.21
[Tibero] Tibero 교육 영상  (0) 2022.11.16
[Tibero교육] TPR사례분석  (0) 2022.11.16
[Tibero교육] Tibero 6_TPR안내서  (0) 2022.11.16