[오라클 SQL] 테이블 이름 변경 방법 (RENAME 사용법 정리)

 오라클 데이터베이스에서 개발이나 유지보수를 하다 보면, 테이블 이름을 바꿔야 하는 상황이 종종 발생합니다.

예를 들어 테스트용 테이블을 정식으로 전환하거나, 백업 테이블로 보존하는 등의 이유죠.

이 글에서는 Oracle SQL에서 테이블 이름을 변경하는 방법(RENAME)과 함께,
주의해야 할 사항, 그리고 연관 객체에 대한 처리 방법까지 실무 기준으로 정리해드립니다.


🔹 1. 오라클 테이블 이름 변경 기본 문법


오라클에서는 다음과 같은 SQL 구문으로 테이블 이름을 변경할 수 있습니다

RENAME old_table_name TO new_table_name;


✅ 예제

RENAME employees_old TO employees;


employees_old 테이블의 이름을 employees로 변경하는 명령어입니다.



🔹 2. 테이블 이름 변경 시 주의사항

⚠️ 변경은 같은 스키마(사용자) 내에서만 가능

다른 사용자(스키마)의 테이블은 직접 변경할 수 없습니다.


⚠️ 연관된 객체는 자동으로 변경되지 않음

  • 뷰(View), 트리거(Trigger), 인덱스(Index), 저장 프로시저 등에서 테이블 이름을 참조하고 있을 경우, 이름 변경 후 에러가 발생할 수 있습니다.
  • 예를 들어, 기존 테이블을 기반으로 만든 뷰는 무효(INVALID) 상태가 됩니다.


🔹 3. 무효 객체 확인 및 컴파일

테이블 이름을 바꾼 뒤, 다음 쿼리로 무효 상태인 객체를 확인할 수 있습니다

SELECT object_name, object_type, status
FROM user_objects
WHERE status = 'INVALID';


무효 객체는 다음과 같이 재컴파일합니다

ALTER VIEW my_view COMPILE;
ALTER PROCEDURE my_proc COMPILE;

🔹 4. 제약 조건 및 인덱스는 그대로 유지됨

테이블 이름이 바뀌어도 내부의 제약 조건 이름인덱스 이름트리거 이름은 자동으로 바뀌지 않습니다.
필요 시 수동으로 이름을 바꾸는 작업도 고려해야 합니다.


✅ 마무리 정리

오라클에서 테이블 이름을 바꾸는 일은 간단하지만, 참조하는 객체까지 고려해야 안정적인 시스템 운영이 가능합니다.

  • ✅ RENAME 구문으로 간단히 이름 변경 가능
  • ✅ 변경 후 관련 객체(INVALID 상태) 재확인 필요
  • ✅ 실무에서는 신중하게 적용할 것

오라클 테이블 이름 변경이 필요할 때, 위 가이드를 참고해 안전하게 작업하시길 바랍니다.

다음 이전