728x90

Oracle Database에서 오브젝트를 삭제할 때 사용하는 DROP 명령어에 대해 자세히 설명합니다. 실무 중심의 예제를 통해 쉽게 이해하고 바로 활용할 수 있도록 구성했습니다.
1. DROP 문이란?
DROP은 오라클 데이터베이스에서 테이블, 뷰, 인덱스, 사용자, 시퀀스 등 오브젝트를 영구적으로 삭제할 때 사용하는 SQL 문입니다. 삭제된 오브젝트는 복구할 수 없으므로 주의가 필요합니다.
2. DROP TABLE 사용법
테이블을 완전히 삭제하는 기본 구문은 다음과 같습니다.
DROP TABLE employees;
만약 테이블에 외래 키 제약조건이 걸려 있다면 CASCADE 옵션을 사용해야 합니다.
DROP TABLE orders CASCADE CONSTRAINTS;
이 구문은 orders 테이블과 그에 연결된 제약조건도 함께 삭제합니다.
3. DROP INDEX 사용법
인덱스를 삭제할 때는 다음과 같이 작성합니다.
DROP INDEX idx_emp_name;
인덱스는 성능 개선을 위해 생성하지만, 사용하지 않거나 중복된 경우 삭제가 필요할 수 있습니다.
4. DROP VIEW 사용법
뷰(View)는 가상 테이블로, 삭제할 때는 다음과 같은 구문을 사용합니다.
DROP VIEW emp_view;
5. DROP SEQUENCE 사용법
시퀀스를 삭제하려면 다음과 같이 작성합니다.
DROP SEQUENCE emp_seq;
6. DROP USER 사용법
데이터베이스 사용자와 그 소유 오브젝트를 모두 삭제하려면 CASCADE 옵션을 사용해야 합니다.
DROP USER hr CASCADE;
주의: 해당 사용자가 소유한 모든 테이블, 뷰, 인덱스, 시퀀스 등이 함께 삭제됩니다.
7. DROP SYNONYM 사용법
시노님(Synonym)은 다른 오브젝트에 대한 별칭입니다. 삭제하려면 다음과 같이 작성합니다.
DROP SYNONYM emp_syn;
8. 실전 예제 시나리오
다음은 하나의 사용자로부터 전체 오브젝트를 삭제하고 새로운 구조를 설계할 경우의 예시입니다.
-- 기존 오브젝트 삭제
DROP VIEW sales_summary;
DROP INDEX idx_sales_date;
DROP TABLE sales;
DROP SEQUENCE sales_seq;
-- 사용자 삭제
DROP USER sales_admin CASCADE;
이후 CREATE 구문을 통해 새로운 구조를 설계하면 됩니다.
9. DROP 문 사용 시 주의사항
- DROP은 복구가 불가능하므로 사전 백업 필수
- CASCADE 옵션은 하위 오브젝트까지 삭제함으로 사용에 신중을 기해야 함
- 대규모 테이블 삭제는 UNDO/REDO 부하를 줄 수 있음
- 제약조건 또는 트리거 존재 시, DROP 실패 가능성 있음
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] TRUNCATE() 완전 정복 : DELETE와의 차이점부터 실전 예제까지 (0) | 2025.06.11 |
|---|---|
| [ORACLE] ALTER() 예제 중심 설명 : 개발자가 꼭 알아야 할 핵심 내용 (0) | 2025.06.10 |
| [ORACLE] CREATE() TABLE, VIEW, USER 생성 실무 예제 총정리 (0) | 2025.06.09 |
| [ORACLE] COMMENT() 구문으로 테이블과 컬럼 설명 문서화하기 (0) | 2025.06.09 |
| [ORACLE] TABLE() 생성부터 제약 조건 설정까지 완전 정복 (0) | 2025.06.09 |