본문 바로가기
ORACLE/SQL

[Oracle] ORA-00955 name is already used by an existing object 해결 :: 마이자몽

by 마이자몽 🌻♚ 2020. 3. 24.

ORA-00955

ORA-00955 : 기존의 객체가 이름을 사용하고 있습니다. "name is already used by an existing object"

 

테이블, 뷰, 시퀀스 등 오라클 객체를 생성하려고하는데 위와 같은 에러가 발생합니다.

주로 테이블을 생성하려는데 이런 에러가 발생해서 테이블을 DROP시키려고 하는데 테이블은 존재하지 않는다고 하고... 다시 같은 이름으로 테이블을 생성하려는데 이미 사용하고 있는 이름이라고하고... 도데체 뭐가 문제인지....

 

오라클에서는 객체의 타입이 다르더라도 같은 명칭으로 생성할 수 없습니다. 그래서 위와 같은 상황이 벌어졌을 때는 다른 객체 타입으로 해당 명칭이 생성되어 있을 겁니다. 문제를 해결하기 위해 Data Dictionary의 해당 유저가 어떤 Object를 들고 있는지 확인해보고 삭제해주면 됩니다.

 

 

해결

1
2
3
4
5
6
SELECT
    OBJECT_NAME
    ,OBJECT_TYPE
FROM
    USER_OBJECTS
WHERE OBJECT_NAME LIKE '%테이블명%';

LIKE문을 사용해서 테이블명을 검색해서 해당 객체가 어떤 타입인지 확인해줍니다. EMP20이라는 명칭으로 테이블을 생성해주려고 했는데 이미 있는 이름이라고해서 OBJECTS를 찾아보니 VIEW로 만들어져 있는것을 확인했습니다. 해당  OBJECT로 DROP 작업을 해주고 다시 생성하면 문제없이 생성이 가능할 것입니다.

 

태그

댓글0