기술 정보
home
채널 소개
home

THROW. ec=ERROR_TX_MAX_EXTENTS_EXCEED(-21025) 발생

문서 유형
장애 해결
분야
관리/환경설정
키워드
MAXEXTENTS
적용 제품 버전
7FS02PS
1 more property

현상

특정 테이블에서 Insert 수행 시 아래 오류가 발생했습니다.
THROW. ec=ERROR_TX_MAX_EXTENTS_EXCEED(-21025)
SQL
복사

원인

테이블 생성 시 STORAGE 절에 MAXEXTENTS 값을 121로 지정하여 설정되어 있었습니다.
이는 기본값인 4294967295에 비해 지나치게 낮은 값으로, Extent 한계에 도달하여 오류가 발생하였습니다.
참고
ALTER TABLE 문을 통한 MAXEXTENTS 변경은 지원하지 않습니다.

해결

문제가 발생한 테이블은 MAXEXTENTS 값을 직접 조정할 수 없기 때문에, 테이블을 재구성하는 방식으로 조치가 필요합니다. 아래 두 가지 방법 중 하나를 선택하여 진행할 수 있습니다.
[서비스 중지 후, tbexport/tbimport 방식]
1.
tbexport를 이용하여 대상 테이블 데이터를 백업합니다.
2.
MAXEXTENTS 값을 조정한 테이블을 새로 생성합니다.
3.
tbimport를 통해 데이터를 복원합니다.
4.
서비스 재기동 후 정상 동작 여부를 검증합니다.
[테이블 복사 방식]
1.
CREATE TABLE ... AS SELECT ~ 문을 이용해 신규 테이블을 생성합니다.
2.
기존 인덱스, 제약조건 등을 동일하게 신규 테이블에 재구성합니다.
3.
RENAME 등을 통해 기존 테이블을 교체합니다.
참고
DBA_TABLES 뷰를 조회하면 MAXEXTENTS 값이 작은 테이블을 사전에 파악할 수 있습니다.
운영 중 오류를 예방하기 위해, 이러한 항목에 대한 사전 점검을 수행하는 것이 바람직합니다.
MAXEXTENTS 제한으로 인한 오류는 설계상 제한으로, 테이블 재생성 외에는 근본적인 해결이 어렵습니다.
장기 운영을 고려할 때, INSERT 오류가 발생하지 않도록 테이블 생성 시 적절한 MAXEXTENTS 값 설정이 필요합니다.