문서유형ㅣ기술정보
분야ㅣ관리/환경설정
적용제품버전ㅣTibero7.2.4
문서번호ㅣTADTI188
개요
Tibero에서 Partition Table과 Non-Partition Table 간 데이터 교환(Partition Exchange)의 방법과 주의사항을 기술합니다. 참고로 ‘일반 테이블’은 Non-Partition 테이블을 의미합니다.
방법
Partition Exchange
로우 단위 복사 없이 Partition Table과 Non-Partition Table 간의 데이터를 메타 정보 수준에서 교체하는 작업입니다.
Partition Exchange 제약 사항
- 일반 테이블 구조는 Partition Table과 완전히 동일해야 합니다. (컬럼, 컬럼순서, 타입)
- 일반 테이블에 존재하는 인덱스 또는 제약조건은 Partition Table과 동일해야 합니다.
- 일반 테이블에 포함된 데이터는 반드시 하나의 파티션 조건에만 해당되어야 합니다.
Partition Exchange 기본 구문
| 구 분 | 내 용 |
|---|---|
| 기본 문법 | ALTER TABLE [파티션 테이블명] EXCHANGE PARTITION [PARTITION|SUBPARTITION] [파티션 명] WITH TABLE [일반 테이블명] [INCLUDING | EXCLUDING INDEX] [WITH | WITHOUT VALIDATION]; |
| PARTITION / SUBPARTITION | 파티션 또는 서브파티션의 이름을 지정 |
| WITH TABLE | 파티션 테이블과 메타 정보를 교환할 일반 테이블의 이름을 지정 |
| INCLUDING INDEXES | 파티션의 로컬 인덱스 또는 서브 파티션의 인덱스를 일반 테이블의 인덱스와 함께 교환한(단, 파티션에 존재하지 않는 글로벌 인덱스는 제외) |
| EXCLUDING INDEXES (기본값) | 해당 파티션에 대한 모든 인덱스(로컬 인덱스 포함)를 교환 대상에서 제외 |
| WITH VALIDATION (기본값) | 일반 테이블의 Row가 파티션 조건 및 제약 조건에 정확히 일치하는지 검증 (단, 조건에 맞지 않으면 에러가 발생하며 교환이 실패) |
| WITHOUT VALIDATION | 일반 테이블의 데이터가 파티션 조건에 일치하는지 검증하지 않고 교환을 수행 (파티션 조건을 사용자가 이미 보장할 수 있을 때 사용) |
Partition Exchange 수행 테스트
아래 테스트 시나리오는 첨부 파일 '[Tibero7] Partition Exchange_v1.0' 을 참고 바랍니다.
2.3.1. 테스트 사전 준비
2.3.2. Partition Exchange 수행 시나리오 및 테스트 (Local Index 인 경우 Excluding Indexes)
2.3.3. Partition Exchange 수행 시나리오 및 테스트 (Local Index 인 경우 Including Indexes)
2.3.4. 테스트 사전 준비
2.3.5. Partition Exchange 수행 시나리오 및 테스트 (Global Index 인 경우 Excluding Indexes)
2.3.6. Partition Exchange 수행 시나리오 및 테스트 (Global Index 인 경우 Including Indexes)
2.3.7. Partition Exchange 수행 테스트 (Partition key 위배 시 WITH VALIDATION)
2.3.8. Partition Exchange 수행 테스트 (Partition key 위배 시 WITHOUT VALIDATION)