DBAtlas · 데이터베이스 운영 아틀라스

ORA-08103: object no longer exists

Oracle

의미

실행 중인 쿼리가 접근하는 객체(테이블, 인덱스, LOB 세그먼트)가 더 이상 존재하지 않거나 물리 구조가 변경되었다. 보통 쿼리 진행 중 해당 객체에 DDL/TRUNCATE가 발생한 경우이다.

원인

쿼리가 열려 있는 동안 같은 객체가 TRUNCATE/DROP/SHRINK됨. 이동(MOVE) 또는 파티션 유지보수. 손상된 인덱스/세그먼트. LOB 세그먼트 접근 중 하위 구조가 사라짐. 동시 DDL 충돌.

해결 방법

객체가 여전히 존재하고 유효한지 확인한다: SELECT status FROM user_objects WHERE object_name = 'NAME'; 해당 인덱스/객체를 재구축(REBUILD)하거나 쿼리를 다시 실행한다. 장시간 쿼리가 사용 중인 객체에 TRUNCATE/DROP을 하지 않는다. 손상이 의심되면 ANALYZE ... VALIDATE STRUCTURE로 확인한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목