For the complete documentation index, see llms.txt. This page is also available as Markdown.

동기화 대상 테이블 생성 및 등록

ProSync에서 테이블을 동기화하기 전에, 먼저 지원되는 데이터 타입을 확인한다. Source DB에 따라 지원하는 컬럼 타입이 다르므로 주의한다.

지원 데이터 타입

구분
지원 타입

Tibero

VARCHAR2, NVARCHAR2, NUMBER, FLOAT, LONG, DATE, BINARY_FLOAT, BINARY_DOUBLE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND, RAW, CHAR, NCHAR, CLOB, NCLOB, BLOB, XMLTYPE

Oracle

VARCHAR2, NVARCHAR2, NUMBER, FLOAT, LONG, DATE, BINARY_FLOAT, BINARY_DOUBLE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND, RAW, CHAR, NCHAR, CLOB, NCLOB, BLOB, XMLTYPE

PostgreSQL

CHAR, VARCHAR, INT, SMALLINT, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, BYTEA, TEXT, DATE, TIMESTAMP

참고

  • GEOMETRY 컬럼 타입은 Tibero to Tibero 동기화만 지원된다.

  • CLOB, BLOB 컬럼의 경우, Target PostgreSQL의 OID 컬럼에 저장할 수 있으며 MAPPING RULE에 LARGEOBJECT 설정이 필요하다.

Oracle 확장 데이터 타입

ProSync 4.7은 Oracle 확장 데이터 타입을 자동으로 인식한다. 컬럼의 선언 길이를 바이트 기준으로 확인하며, VARCHAR2·NVARCHAR2는 4,000바이트 초과, RAW는 2,000바이트 초과인 컬럼을 확장 타입으로 처리한다. USE_ORACLE_EXTENDED_TYPE 파라미터는 사용하지 않는다.

확장 타입 컬럼이 있는 소스 테이블에는 PRIMARY KEY가 필요하며, UNIQUE 제약조건이나 ROWID로 대신할 수 없다. 별도로 저장된 확장 값은 Llob 프로세스가 소스 DB에 Flashback Query를 수행하여 읽는다.

Llob 프로세스의 동작은 Llob Process를 참고한다.


테이블 생성

동기화 대상 테이블은 Source DB와 Target DB 각각에 존재해야 한다. MAP Rule을 사용하지 않는 기본 구성에서는 Source와 Target에 동일한 사용자 계정과 동일한 스키마 구조로 생성하는 것을 전제로 한다.

참고

Source와 다른 database/owner/table/column으로 반영해야 하는 경우에는 MAP Rule을 설정하여 매핑할 수 있다. 자세한 내용은 운영 가이드의 MAP Rule 설명을 참고한다.

다음은 TEST 사용자 계정에 테이블 T1, T2, T3을 생성하는 예제이다. Source DB와 Target DB 모두에 수행한다.


테이블 등록

동기화 대상 테이블은 아래 경로의 파일에 등록한다.

등록 형식은 OWNER_NAME.TABLE_NAME 형태로 작성한다.

#으로 시작하는 줄과 빈 줄은 무시된다. 그 외의 줄은 OWNER_NAME.TABLE_NAME 형식이어야 하며, 구분자 .가 없거나 둘 이상이거나 OWNER 또는 TABLE이 비어 있으면 잘못된 항목으로 판단해 설치를 중단한다.

특정 테이블 등록 예시

참고

prs_obj_group#.list 파일 내의 OWNER_NAME과 TABLE_NAME은 대소문자를 구분한다.

와일드카드 등록

동기화 대상을 지정할 때 Table명과 User(Owner)명 모두에 % 와일드카드를 사용할 수 있다.

지정 예시
대상

TEST.%

TEST 소유의 모든 테이블 (Table 와일드카드)

TEST.TB%

TEST 소유의 테이블 중 이름이 TB로 시작하는 테이블

TEST%.%

이름이 TEST로 시작하는 모든 소유자의 모든 테이블 (User 와일드카드)

%.%

Source DB의 모든 소유자의 모든 테이블 (User 와일드카드)

사용 예시는 다음과 같다.

자동으로 제외되는 대상

Source DB가 Tibero 또는 Oracle인 경우, 다음 객체는 동기화 대상에서 자동으로 제외된다. 제외 대상에 따라 적용 범위가 다르다.

제외 대상
적용 범위
설명

시스템 스키마의 객체

OWNER를 %가 포함된 패턴으로 지정한 경우에만

Oracle 12c 이상은 DB가 관리하는 계정(ALL_USERS.ORACLE_MAINTAINED = 'Y', SYS · SYSTEM 등)이 제외된다. Oracle 11g는 이 컬럼이 없으므로 Oracle 기본 계정과 옵션 계정의 고정 목록(SYS, SYSTEM, OUTLN, DBSNMP, DIP, ORACLE_OCM, APPQOSSYS, ANONYMOUS, XS$NULL, XDB, CTXSYS, MDSYS, MDDATA, ORDSYS, ORDDATA, ORDPLUGINS, SI_INFORMTN_SCHEMA, OLAPSYS, EXFSYS, WMSYS, SYSMAN, MGMT_VIEW, OWBSYS, OWBSYS_AUDIT, SPATIAL_CSW_ADMIN_USR, SPATIAL_WFS_ADMIN_USR, TSMSYS, DMSYS, WKSYS, WKPROXY, WK_TEST, LBACSYS, DVSYS, DVF, FLOWS_FILES, APEX_PUBLIC_USER)과, APEX_030200 · FLOWS_030000처럼 APEX_ 또는 FLOWS_ 뒤에 숫자 6자리가 붙는 계정이 제외되며, 목록에 없는 계정은 제외되지 않는다. Tibero는 SYS, SYSCAT, SYSGIS, OUTLN, LBACSYS 및 일반 사용자가 아닌 계정이 제외된다.

ProSync 운영 계정과 메타 객체

항상

PRS_USER 소유의 객체와 PRS_OBJ_LIST, PRS_DD_*, PRS_LCT 등 ProSync가 생성한 메타 객체가 제외된다.

AQ 관련 테이블

항상

이름이 AQ$_ 로 시작하는 테이블이 제외된다.

IOT overflow 세그먼트

항상

이름이 SYS_IOT_OVER_ 로 시작하는 테이블이 제외된다.

Recycle Bin 객체

항상

이름이 BIN$ 로 시작하는 객체가 제외된다.

또한 등록되는 객체 타입은 TABLE과 SEQUENCE로 한정되며, 그 외의 객체 타입은 등록되지 않는다.

참고

위의 자동 제외는 prs_obj_group#.list를 처리하는 설치 과정에 적용된다. Admin 명령으로 테이블을 직접 등록할 때는 적용되지 않는다.

Source DB가 PostgreSQL인 경우에도 위의 자동 제외가 적용되지 않으며 일반 테이블과 파티션 테이블만 등록된다. 와일드카드로 지정할 때는 시스템 스키마가 포함되지 않도록 소유자 패턴을 명시적으로 지정한다.


동기화 대상 자동 등록

Source DB가 Tibero 또는 Oracle인 경우, 설치 config 파일에 AUTO_SYNC_ON_CREATE=Y를 설정하면 설치 이후 CREATE 문으로 생성된 테이블과 시퀀스가 자동으로 동기화 대상에 등록된다. prs_obj_group#.list에 미리 적지 못한 테이블을 매번 Admin 명령으로 등록하거나 재설치할 필요가 없다.

사전 준비 — DB 단위 Supplemental Log

자동 등록을 사용하려면 Source DB에 DB 단위 supplemental log가 설정되어 있어야 한다. 테이블 단위로만 supplemental log를 건 경우, 자동 등록된 테이블은 supplemental log가 없는 상태가 되어 변경분을 추출할 수 없다.

Source DB가 Oracle인 경우 DB 단위로 supplemental log를 설정한다. 설치 config 파일에 SUPP_LOG_LVL_ALL=Y를 설정하면 설치 과정에서 database level로 설정된다.

Source DB가 Tibero인 경우 _DDL_AUTO_SUPPLOG_CTBL을 TRUE로 설정하여 DB 단위 supplemental log를 활성화한다. 운영 중인 DB에는 ALTER SYSTEM으로 바로 적용할 수 있으나 이 변경은 DB 재기동 후 유지되지 않으므로, TIP 파일에도 같은 값을 설정한다. TAC 환경에서는 모든 노드에 동일하게 설정한다.

설치 config 파일에 AUTO_SYNC_ON_CREATE=Y를 설정하면 설치 과정에서 이 값을 확인하며, 설정되어 있지 않으면 안내 메시지와 함께 설치를 중단한다.

설정 예시

마지막 업데이트