728x90
반응형
에러 메시지
SQL Error [1502] [72000]: ORA-01502: 인덱스 '스키마.인덱스명'또는 인덱스 분할영역은 사용할 수 없은 상태입니다
DBeaver가 오타를 냈는지 '없은 상태'라고 되어 있긴 하지만 일단 오류다.
해당 오류는 insert문을 실행했을 때 발생했다.
1. 원인
해당 인덱스(특정 테이블의 기본키 인덱스)가 사용 불가 상태이기 때문에 발생하였다.
이 상태에서는 DML 작업(insert, update, delete)이 불가하다.
- 인덱스가 비정상적으로 손상됨
- 파티션 인덱스인데 일부 파티션만 unusable 상태
- 테이블 또는 인덱스에 대해 import 후 인덱스 재생성 안 됨
- direct path load 후 인덱스가 unusable 상태로 변경됨
인덱스 상태 확인 쿼리
SELECT index_name, status
FROM dba_indexes
WHERE table_name = '테이블명';
| index_name | status |
| 인덱스명 | UNUSABLE |
쿼리를 실행해보면 나의 경우에는 위와 같은 표 데이터로 나타났는데,
인덱스가 사용불가 상태임을 확인할 수 있다.
2. 해결
인덱스를 재빌드하면 DML 사용이 가능하다.
인덱스 재빌드 쿼리
ALTER INDEX 인덱스명 REBUILD;
[주의]
- 운영 DB라면 낮은 트래픽 시간대에 수행해야 함
- 해당 테이블이 많은 데이터를 가지고 있을 경우 시간이 오래 걸릴 수 있으며, 시스템 부하를 유발할 수 있기 때문
- 운영 DB라면 다른 세션에서 해당 테이블을 사용하고 있지 않아야 함
인덱스 재빌드 후 insert문을 실행하니 성공적으로 완료되었다.
전에 primary key 관련해서 살짝 건든 적이 있었는데 그것 때문인가보다 ..
다행히 개발서버였다.
728x90
반응형
'[Project] > 업무일지' 카테고리의 다른 글
| [에러 핸들링] 잘못된 메소드 호출에 대한 응답 내 서버 버전 미노출 처리 (0) | 2025.09.17 |
|---|---|
| [카카오 로그인 API] 테스트앱 설정 (2) | 2025.08.12 |
| [Ajax/Get요청] GET 400 (Bad Request) (2) | 2025.07.21 |
| [카카오 공유하기] 카카오톡 공유(개발 모드) 요청 실패 ([adbrix] ERROR: network offline) (0) | 2025.05.15 |
| Exception in thread "main" java.lang.UnsupportedClassVersionError 원인 및 해결 (0) | 2025.04.30 |