ALTER TABLE

운영 중 ALTER TABLE은 문법보다 영향 범위가 먼저입니다.

컬럼 하나를 바꿔도 기존 데이터, 인덱스, 외래 키, 애플리케이션 쿼리, 잠금 시간이 함께 영향을 받습니다.

ALTER TABLE employees
ADD phone VARCHAR2(20);

실행 전에는 “추가할 수 있는가”보다 “서비스가 견딜 수 있는가”를 확인합니다.

1 기존 데이터 검증

새 타입, NOT NULL, 외래 키 조건을 기존 행이 통과하는지 확인합니다.

2 잠금과 소요 시간

DBMS와 작업 종류에 따라 다르지만, 대용량 변경은 쓰기나 읽기를 대기시킬 수 있습니다.

3 의존 객체 확인

인덱스, 뷰, 프로시저, 애플리케이션 SQL이 새 구조와 맞는지 봅니다.

4 되돌릴 계획

DBMS별 DDL 트랜잭션 특성을 보고 백업, 롤백 SQL, 배포 순서를 준비합니다.

컬럼 추가

대체로 낮은 위험

주의

기본값과 NOT NULL을 함께 넣으면 기존 행 갱신 비용이 커질 수 있습니다.

타입/크기 변경

데이터 검증 필요

위험

값이 잘리거나 변환 실패가 나면 변경이 중단됩니다.

컬럼/제약 삭제

의존성 확인 필수

위험

앱 코드, 뷰, 외래 키가 해당 컬럼이나 제약에 의존할 수 있습니다.

운영 원칙: 영향 범위가 작아 보이는 ALTER도 먼저 스테이징에서 검증합니다. 온라인 변경이나 metadata-only 변경이 가능한 작업인지 확인하고, 필요하면 유지보수 창과 백업을 잡은 뒤 실행합니다.