Datatrans¶
CLI와 웹 콘솔로 준비하는 병렬 데이터 전송·테스트 데이터 구축
Datatrans는 Oracle Source와 Target 사이의 병렬 데이터 전송과 스크램블링을 통한 테스트 데이터 구축을 지원합니다. CLI에서는 KEY=VALUE로 실행하고, 웹 콘솔(UI)에서는 프로젝트·작업 생성부터 규칙 편집, 검증, 실행, 예약과 결과 확인까지 수행할 수 있습니다. YAML 매핑, Python domain 기반 스크램블링, Repository 감시, PREVIEW 검증과 선택적 원본 민감정보 탐색을 제공합니다.
주요 기능¶
웹 콘솔 작업 공간¶
프로젝트에 작업과 버전을 저장하고, 폼·YAML·표로 설정을 편집합니다. 권한을 받은 사용자는 브라우저에서 검증·실행·예약할 수 있습니다.
병렬 데이터 전송¶
degree로 양의 정수의 병렬 작업 수를 지정합니다. 기본값은 1입니다.
YAML 데이터 매핑¶
mapping_rule로 Source expression과 Target column을 연결합니다. 매핑 파일이 Source/Target routing을 직접 정의합니다.
데이터 스크램블링¶
Target assignment YAML과 rule_define.yaml의 Python domain을 연결합니다. UNIQUE와 CONSISTENT 정책을 명시적으로 선택할 수 있습니다.
Repository 감시¶
mode=TRIGGER는 읽기 전용 Repository SQL을 폴링하고 준비된 Source 테이블만 전송합니다.
PREVIEW 검증¶
mode=PREVIEW는 Target DML 없이 일부 Source row의 컬럼·데이터 검증 결과를 확인합니다. privacy_check=Y로 매핑·스크램블링 전 원본 민감정보 후보를 함께 탐색할 수 있습니다. 선택된 범위의 표본 검사이며 전체 DB 검사를 뜻하지 않습니다.
빠른 실행¶
UI로 작업하려면 웹 콘솔 가이드의 관리자 초기 설정 → 프로젝트 할당 → 사용자 작업 생성 순서로 시작하세요. 아래는 CLI 실행 예제입니다.
TRANSFER가 기본 모드이며 table_action의 기본값은 APPEND입니다.
datatrans \
source=SRC_USER/password@host:1521/SRCDB \
target=TGT_USER/password@host:1521/TGTDB \
schemas=SALES \
degree=8 \
jobname=SALES_TRANSFER
조건부로 특정 테이블을 전송할 때는 Source owner까지 지정하고 WHERE를 제외한 신뢰된 Oracle SQL 조건식을 사용합니다.
datatrans \
source=SRC_USER/password@host:1521/SRCDB \
target=TGT_USER/password@host:1521/TGTDB \
tables=HR.EMPLOYEES \
query=HR.EMPLOYEES:"DEPARTMENT_ID = 90" \
table_action=TRUNCATE \
jobname=HR_EMP_90
상태와 진행률 조회는 help에 정의된 대화형 명령을 사용합니다.
$ datatrans
DATATRANS> STATUS=SALES_TRANSFER
DATATRANS> PROGRESS=SALES_TRANSFER
DATATRANS> CONTINUE_JOB=SALES_TRANSFER
DATATRANS:SALES_TRANSFER> STATUS_WATCH,3
문서 구성¶
| 문서 | 설명 |
|---|---|
| Quick Start | 실행 문법, 기본 전송, mapping·scrambling·PREVIEW·TRIGGER 시작 절차 |
| 웹 콘솔 | 관리자 초기 설정, UI 작업 편집·검증·실행·예약, 권한과 결과 조회 |
| Interactive Mode | 작업 제어, watch, schedule, Dashboard와 공개 config |
| Execution Parameters | 모드, 선택 범위, 적재, 시점, 문자셋, 순서, 예약과 결과 상태 |
| Status-Driven Transfer | TRIGGER 필수값과 Repository polling 계약 |
| Scrambling | assignment, preflight, runtime fail-closed 동작 |
| Data Mapping | current YAML 형식, 배타 조건, preflight 결과와 오류 코드 |
| Preview와 민감정보 탐색 | 적재 호환성 검증, 원본 후보 탐색, 표본 범위와 결과 상태 |
| 작업 예약 | CLI/UI 예약, systemd 준비, 시간대·기간·승인과 기존 예약 이행 |
CLI 계약 확인¶
파라미터 이름은 대소문자를 구분하지 않지만 같은 파라미터를 중복 지정하거나 정의되지 않은 파라미터를 사용하면 오류입니다. --option 형식은 사용하지 않습니다.
지원¶
문의사항이나 기술 지원이 필요하시면 nexFLOW를 방문해 주세요.