필드명의 변경 또는 삭제시 스키마 변경에 따른 확인 사항
1. 깨진 뷰 수정
2. 깨진 트리거/저장 프로시저 조회 하여 수정
SELECT object_name, object_type
FROM User_objects
WHERE object_type IN ('PROCEDURE', 'TRIGGER')
AND Status = 'INVALID'
3. 해당 필드를 참조하는 (FK) 타 테이블의 필드명을 제거 또는 다른 테이블의 필드를 참조하도록 변경
4. 참조 테이블 필드명 싱크
* 필드명 변경시 참조 또는 동일한 타 테이블의 동일한 필드명을 필요에 따라 동기화 시킴
SELECT table_name, column_name -- 'customerid' 라는 필드명을 사용하는 테이블 조회
FROM user_tab_columns
WHERE column_name LIKE '%customerid%'
5. Column의 상대적 위치값을 가지고 조회하는 애플리케이션의 수정 / 삭제 필드명을 사용하는 애플리케이션 수정
6. DROP COLUMN 의 경우 대용량에서 삭제시간을 고려한 전략을 세움. 또는 SET UNUSED 명령을 통해 사용되지 않는 컬럼으로 표시(물리적 삭제가 아닌 사용자에게서 숨김)
ALTER TABLE customer SET UNUSED customerid
7. 삭제될 컬럼을 제외한 뷰를 생성하여 테이블 접근을 캡슐화
'Database&WAS' 카테고리의 다른 글
java.sql.SQLException: 접속 종료 (0) | 2013.06.11 |
---|---|
오라클 테이블, 필드, 제약조건 조회 (0) | 2013.02.06 |
[TOAD] Lock 세션 종료 (0) | 2012.01.16 |