Oracle DML의 객체 및 작업 지원 세부정보
다음은 Oracle GoldenGate가 DML 작업의 캡처 및 복제를 위해 지원하는 Oracle 객체 및 작업의 목록입니다.
다중 테넌트 컨테이너 데이터베이스
Oracle GoldenGate는 다중 테넌트 컨테이너 데이터베이스에서 캡처하고 이를 전달합니다. 다중 테넌트 컨테이너 데이터베이스 구성을 참조하십시오.
Oracle GoldenGate는 애플리케이션 컨테이너 루트 하위 엔드 투 엔드 복제를 지원하지 않습니다.
테이블, 뷰 및 Materialized View
일반 테이블, 인덱스 구성 테이블, 클러스터화된 테이블 및 Materialized View에 대해 다음 DML 작업이 지원됩니다.
-
INSERT -
UPDATE -
DELETE -
연관된 트랜잭션 제어 작업
Oracle GoldenGate 23ai부터는 다음 기능을 테이블에 사용할 수 있습니다.
-
행 크기가 4MB 미만인 테이블의 4K 열
-
블록체인 및 불변 테이블
자세한 내용은 블록체인 및 변경 불가능한 테이블에 대한 지원 제한을 참조하십시오.
참고:
DBA_GOLDENGATE_SUPPORT_MODE 데이터 딕셔너리 뷰를 사용하여 데이터베이스의 테이블에 대한 Oracle GoldenGate 캡처 프로세스 지원 레벨 정보를 표시할 수 있습니다. DBA_GOLDENGATE_SUPPORT_MODE의 PLSQL 값은 테이블이 기본적으로 지원되지만 절차 보완 로깅이 필요함을 나타냅니다. 자세한 내용은 DBA_GOLDENGATE_SUPPORT_MODE을 참조하십시오. 기본 고유 인덱스가 없고 널이 아닌 고유 인덱스가 없는 테이블을 모두 표시해야 하는 경우 DBA_GOLDENGATE_NOT_UNIQUE를 사용할 수 있습니다. 자세한 내용은 DBA_GOLDENGATE_NOT_UNIQUE을 참조하십시오.
일반 테이블 지원 제한 사항
이러한 제한 사항은 Extract에 적용됩니다.
-
Oracle GoldenGate는 원하는 수의 행을 포함하는 테이블을 지원합니다.
-
행의 길이는 최대 4MB까지 가능합니다. Oracle GoldenGate가 처리 범위에 열의 이전 및 이후 이미지를 모두 포함하도록 구성된 경우 최대 4MB 길이가 이미지 전의 총 전체 길이와 이후 이미지의 길이에 적용됩니다. 예를 들어, 행 식별자로 사용 중인 열에 대해
UPDATE작업이 있는 경우 이전 및 이후 이미지가 처리되며 총 4MB를 초과할 수 없습니다. 행 식별자가 아니지만 CDR(충돌 감지 및 해결)에서 비교 열로 사용되는 열에는 이전 및 이후 이미지도 필요합니다.CLOB와 같이 4KB 이상의 데이터를 허용하는 문자 열에는 행에 저장된 처음 4KB의 데이터만 포함되며 최대 행 길이는 4MB입니다. 4KB 이상의 데이터를 허용하는 이진 열(예:BLOB)은 처음 8KB의 데이터가 행에 저장되고 4MB의 최대 행 길이에 기여합니다. -
Oracle GoldenGate는 데이터베이스에서 지원되는 테이블당 최대 열 수를 지원합니다.
-
Oracle GoldenGate는 데이터베이스에서 지원되는 최대 열 크기를 지원합니다.
-
Oracle GoldenGate는 열에 다음 데이터 유형 중 하나가 포함된 경우를 제외하고 하나의 열만 포함하는 테이블을 지원합니다.
-
LOB -
LONG -
LONG VARCHAR -
Nested table -
UDT(사용자 정의 유형)
-
VARRAY -
XMLType
-
-
사용되지 않은 열이 있는 테이블에서 및 테이블로 복제하기 전에
DBOPTIONS ALLOWUNUSEDCOLUMN를 설정합니다. -
Oracle GoldenGate는 다음과 같은 분할 속성이 있는 테이블을 지원합니다.
-
범위 Partitioning
-
해시(Hash) 분할 간격 Partitioning
-
조합(Composite) 분할
-
가상 열 기반 Partitioning
-
참조 분할
-
목록 분할
-
-
Oracle GoldenGate는 가상 열이 있는 테이블을 지원하지만 이러한 열에 대한 변경 데이터를 캡처하거나 변경 데이터를 해당 열에 적용하지 않습니다. 데이터베이스는 트랜잭션 로그에 가상 열을 기록하지 않으며 Oracle AI Database는 가상 열에 대한 DML을 허용하지 않습니다. 같은 이유로 가상 열에 초기 로드 데이터를 적용할 수 없습니다. 가상 열의 데이터를 비가상 대상 열에 매핑할 수 있습니다.
-
Oracle GoldenGate는 가상 열의 고유/인덱스를 고려하지 않습니다.
-
Oracle GoldenGate는 Oracle Exadata와의 복제를 지원합니다. Exadata 하이브리드 열 압축을 지원하려면 소스 데이터베이스 호환성을 11.2.0.0.0 이상으로 설정해야 합니다.
-
Oracle GoldenGate는 TDE(투명한 데이터 암호화)를 지원합니다.
-
Oracle GoldenGate는 DDL 복제 지원의 일부로 또는 DDL 지원과 무관한 독립형 기능으로
TRUNCATE문을 지원합니다. -
Oracle GoldenGate는 XML 바이너리 및 XML 객체 관계형에 대한 SQL*Loader 직접 경로 삽입을 제외하고 직접 로드
INSERT캡처를 지원합니다. 보완 로깅이 활성화되어 있어야 하며 데이터베이스가 아카이브 로그 모드여야 합니다. 다음 직접 로드 방식이 지원됩니다.-
/*+ APPEND */힌트 -
/*+ PARALLEL */힌트 -
SQLLDR및DIRECT=TRUE
-
-
Oracle GoldenGate는 Extract를 위해 압축된 객체로부터의 캡처를 완벽하게 지원합니다.
-
Oracle GoldenGate는 XA 및 PDML 분산 트랜잭션을 지원합니다.
-
Oracle GoldenGate는
FLASHBACK ARCHIVE가 사용으로 설정된 테이블에서 DML 작업을 지원합니다. 그러나 Oracle GoldenGate는 Flashback Data Archive 자체를 생성, 변경 또는 삭제하는FLASHBACK ARCHIVE절 또는 DDL을 사용하여 테이블을 생성하는 DDL을 지원하지 않습니다.
뷰 지원 제한 사항
이러한 제한 사항은 Extract에 적용됩니다.
-
Oracle GoldenGate는 Extract가 초기 로드 모드(리두 로그가 아닌 소스 뷰에서 직접 캡처)인 경우 뷰에서 캡처를 지원합니다.
-
Oracle GoldenGate는 뷰에서 변경 데이터를 캡처하지 않지만 뷰의 기본 테이블에서 캡처를 지원합니다.
Materialized View 지원 제한 사항
구체화된 뷰는 다음과 같은 제한 사항이 있는 Extract에서 지원됩니다.
-
WITH ROWID에서 생성된 구체화된 뷰는 지원되지 않습니다. -
구체화된 뷰 로그는
WITH ROWID를 생성할 수 있습니다. -
소스 테이블의 기본 키는 필수입니다.
-
구체화된 뷰의 자르기는 지원되지 않습니다.
DELETE FROM문을 사용할 수 있습니다. -
Materialized View의 Full Refresh에서 가져온 DML(DDL 아님)은 지원됩니다. 이 기능에 대한 DDL 지원이 필요한 경우 Oracle GoldenGate 지원 사례를 엽니다.
-
Replicat의 경우
Create MV명령에FOR UPDATE절이 포함되어야 합니다. -
Materialized view 또는 기본 테이블 중 하나만 복제할 수 있습니다.
블록체인 및 변경할 수 없는 테이블에 대한 지원 제한 사항
Oracle AI Database 26ai부터 변경할 수 없는 블록체인 테이블이 지원됩니다. 다음은 이 기능에 대해 지원되는 작업입니다.
단방향 복제 지원
-
블록체인 테이블 버전 v1(Oracle Database 19.10에 도입됨) 및 v2(Oracle AI Database 26ai에 도입됨)과 변경할 수 없는 테이블 버전 v1(Oracle Database 19.11에 도입됨) 및 v2(Oracle AI Database 26ai에 도입됨) 모두 조정된 Replicat를 제외한 모든 Replicats에 대해 지원됩니다.
-
유형과 버전 간의 상호 운용성:
-
소스에 있는 모든 버전의 블록체인 및 변경 불가능한 테이블을 대상의 기존 테이블로 복제할 수 있도록 지원합니다.
-
소스의 기존 테이블을 대상에 있는 모든 버전의 블록체인 및 변경할 수 없는 테이블로 복제하는 것은 지원되지 않습니다.
-
-
DML, DDL 및 프로시저 복제를 활성화해야 합니다. 절차 복제의 경우 블록체인 테이블을 추가해야 합니다.
-
만료된 행의 삭제 작업은 복제되지 않습니다. 만료는 각 데이터베이스 시스템에서 별도로 관리됩니다.
양방향(활성-활성) 복제 지원
-
v2 버전만 지원합니다.
-
통합 모드 및 통합 Replicat에서만 병렬 Replicat 지원
-
ACDR을 구성해야 합니다. 블록체인 및 불변 테이블용 ACDR에는 다음과 같은 해결 방법이 포함되어 있습니다.
-
최근 시간기록
-
가장 이른 시간 기록 주: 열 그룹 또는 델타 분석과 같은 다른 해결 방법은 지원되지 않습니다. 수동 CDR에 대한 지원이 없습니다.
-
-
블록체인 또는 불변 테이블은 기본 키 또는 고유 제약 조건을 최대 하나만 가질 수 있으며 고유 인덱스를 가질 수 없습니다.
-
블록체인 또는 ACDR의 불변 테이블에 대한 기본 키 또는 고유 키 제약 조건은 고유하지 않은 인덱스를 사용합니다.
-
블록체인 및 불변 테이블은 INSERT 전용 테이블이므로 ACDR은 INSERT-INSERT 충돌만 관리합니다. ACDR은 시간 기록(
CDRTS$ROW) 및 가시성(ORABCTAB_INVISIBLE$)에 대해 두 개의 숨겨진 열을 추가합니다.
이러한 숨겨진 열은 다음과 같이 작동합니다.
ACDR은 충돌을 해결하고 행의 두 복사본을 모두 보유합니다. 숨겨진 열
ORABCTAB_INVISIBLE$를 1로 설정하여 일반적으로 무시되거나 덮어쓴 충돌 INSERT를 논리적으로 부적합으로 표시합니다. 결과적으로 키 값이 동일한 행이 여러 개 있을 수 있지만 각 키에 대해 최대 1개 행이 적합하고ORABCTAB_INVISIBLE$이 0으로 설정됩니다. -
DML 자동 캡처
Oracle GoldenGate는 자동 캡처 모드와 함께 다음 DML 작업을 지원합니다.
-
TABLEEXCLUSION매개변수가 지원됩니다. -
TABLE매개변수가 지원됩니다. -
Extract는 자동 캡처를 위해 데이터베이스에서 전달한 테이블 DML 레코드를 추적 파일에 씁니다.
시스템 분할
시스템 분할은 이름이 지정된 분할 영역으로 테이블을 생성할 수 있는 Oracle AI Database 기능입니다. 시스템 분할 테이블은 데이터베이스에 의해 유지 관리되지 않습니다. 각 DML은 행이 상주하는 분할 영역을 지정해야 합니다. 추출 및 Replicat의 모든 모드는 시스템 파티셔닝을 지원합니다. 시스템 분할 테이블과 관련된 각 트레일 파일 레코드 헤더에는 분할 영역 이름이 포함됩니다. Oracle GoldenGate 21c부터 PARTITION 매개변수에 포함된 경우 시스템 분할 테이블에 대한 분할 영역 이름 레코드(PNR)가 생성됩니다.
Oracle GoldenGate에 대한 매개변수 및 함수 참조의 PARTITION \| PARTITIONEXCLUDE를 참조하십시오.
시퀀스 및 ID 열
-
ID 열은 Oracle 데이터베이스 18c 이후부터 지원되며 Extract, Parallel Replicat in Integrated 모드 또는 Integrated Replicat가 필요합니다.
주: Identity 열에 대해 시스템 생성 시퀀스의 복제는 지원되지 않습니다.
-
Oracle GoldenGate는 단방향 및 능동-수동 고가용성 구성에서 시퀀스 값 및 ID 열의 복제를 지원합니다.
-
Oracle GoldenGate는 대상 시퀀스 값이 항상 소스의 값보다 높도록 합니다(캐시가 0인 경우 값과 같음).
시퀀스에 대한 지원 제한
이러한 제한 사항은 Extract에 적용됩니다.
-
Oracle GoldenGate는 활성-활성 양방향 구성에서 시퀀스 값 복제를 지원하지 않습니다.
-
소스 및 대상 시퀀스의 캐시 크기와 증분 간격은 동일해야 합니다. 캐시는 0(
NOCACHE)을 포함하여 모든 크기일 수 있습니다. -
시퀀스는 순환 또는 순환으로 설정할 수 있지만 원본 데이터베이스와 대상 데이터베이스는 동일한 방식으로 설정해야 합니다.
-
기본 시퀀스 열이 있는 테이블은 Extract에 대한 복제에서 제외됩니다.
Oracle DML에서 지원되지 않는 객체 및 작업
다음은 Extract에서 지원되지 않는 추가 Oracle 객체 또는 작업입니다.
-
REF는 Oracle Database 12.2 이상과의 호환성을 위해 기본적으로 지원되지만 기본 키 기반REFs(PKREFs)은 지원하지 않습니다. -
활성-활성 양방향 구성의 시퀀스 값
-
데이터베이스 재생
-
EXTERNAL로 생성된 테이블