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

ORA-00955: name is already used by an existing object (이름이 기존 개체에서 이미 사용 중)

Oracle

의미

생성하려는 개체(테이블, 인덱스, 뷰, 시퀀스, 시노님 등)의 이름을 같은 스키마의 다른 개체가 이미 사용하고 있다. Oracle에서 개체 이름은 스키마 내에서 고유하며, 테이블, 뷰, 시퀀스처럼 유형이 달라도 같은 네임스페이스를 공유한다.

원인

CREATE 문에서 선택한 이름이 기존 개체와 충돌한다. 흔한 함정: 테이블과 같은 이름으로 시퀀스나 뷰를 생성하려 함, 또는 자동 생성된 인덱스 이름(예: 기본 키 인덱스)이 지정한 이름과 충돌함.

해결 방법

다른 이름을 선택하거나 충돌하는 개체를 제거한다. 어떤 개체가 이름을 사용하는지 확인하려면: SELECT object_type, object_name FROM user_objects WHERE object_name = 'YOUR_NAME'; 정말 교체하려면 기존 개체를 DROP한다(먼저 데이터를 백업). CREATE OR REPLACE는 뷰, 시노님, 타입, PL/SQL 개체(프로시저, 함수, 패키지, 트리거)에 사용할 수 있으며 테이블, 인덱스, 시퀀스에는 없다.

DBAtlas에서 열기 →

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