시스템 운영 중에 ORA-14074 오류가 발생했다.
ORA-14074: 분할영역 유지 작업에 분할영역 범위가 너무 적습니다.
이는 Partition 생성시 발생하는 오류로 원인은 partition high_value를 같는(포함하는) partition이 이미 존재하기 때문이다.
예를 들어 아래와 같이 Partition을 생성한다고 하자.
ALTER TABLE SAMPLE
ADD PARTITIOIN SAMPLE_20150409 VALUES LESS THAN (TO_DATE(' 2015-04-10 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
이렇게 생성했을 때, ORA-14074가 발생했다고 하자.
이는 2015-04-10 00:00:00(high_value) 값을 포함하는 partition이 이미 존재한다는 의미이다.
파티션 목록을 확인해보면 SAMPLE_20150410 이나 그 이후 파티션이 이미 만들어져있을 것이다.
파티션 목록은 아래와 같이 확인할 수 있다.
SELECT *
FROM DBA_TAB_PARTITIONS
WHERE TABLE_NAME = 'SAMPLE'
이를 해결하기 위해서는 ADD PARTITION이 아니라 SPLIT PARTITION을 해 줘야한다.
ALTER TABLE SAMPLE
SPLIT PARTITION SAMPLE_20150409 AT (TO_DATE(' 2015-04-10 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
INTO (PARTITION SAMPLE_20150410)
※ 이미 SAMPLE_20150410 이 만들어져있다는 가정하에 작성된 SQL이다.
'DB > Oracle' 카테고리의 다른 글
ORA-01861:literal does not match format string (0) | 2015.12.31 |
---|---|
ORA-64203: 문자 집합 변환 후 대상 버퍼가 너무 작아 CLOB 데이터를 보유할 수 없습니다. (0) | 2015.12.31 |
오라클 JDBC Driver 11.2.0.4 Release (0) | 2015.03.18 |
ORA-01502 인덱스 XX인덱스명 또는 XX 분할영역은 사용할 수 없는 상태입니다. (0) | 2015.03.18 |
Snapshot too old(ORA-01555) (0) | 2015.03.18 |