오라클에서 하나의 테이블 스페이스는 여러개의 데이터 파일을 가질 수 있습니다.
데이터 파일에 쌓이는 데이터는 오라클이 지정하여 사용자 입장에선 랜덤하게 들어가는 것처럼 보입니다.
운영중인 시스템에 데이터 파일을 추가 시 언제 새로운 데이터파일에 실 데이터가 들어갈 지 모르니
방금 추가한 데이터 파일도 함부로 삭제해선 안될 듯 한데.
원복 계획을 잡는다면 테이블 스페이스 단위 백업 후 테이블스페이스 드랍 후
테이블 스페이스 재생성 후 복원 밖에 없는가 라는생각이 들어서 질문 드립니다.
데이터 파일의 리네임이나 리사이즈도 가능하지만 그건 원복은 아닌듯 싶어서요.
방안1.데이터 파일이 추가됐으면 , 그 파일도 원상복구 대상에 넣어야지
원복 이전 대상으로 넣으면 안됩니다.
이미 컨트롤 파일등도 다 변했는데 이전으로 돌린다는건 논리적인 복구입니다.
방안2.DBA_SEGMENTS에 HEADER_FILE 컬럼이 오브젝트가(테이블,인덱스등)
어떤 데이터 파일에 저장된건지를 나타냅니다.
DBA_DATA_FILES에서 지우려는 데이터 파일 번호를 확인하고,
해당 파일 번호에 존재하는 테이블을 다른 임시 테이블로 옮긴뒤
정상적인 오라클 명령으로 데이터 파일을 제거하고, 다시 옮긴 테이블을 복구하면 됩니다.
(인덱스 재생성 필수)
-> 복구 시간이 늘어남, 의미 없음 이라는 의미 부여