다른 Oracle 서버로 이전하거나, 혹은 사용자 계정 변경 등을 위해 DB 을 백업받은 뒤 사용자 정보를 수정하거나 테이블스페이스 정보를 수정한 뒤 복원을 해야하는 경우가 있다.
이 경우 아래와 같은 절차를 통해 작업을 진행하면 된다.
- 기존 데이터 백업
- 새 테이블스페이스 생성
- 새 사용자 계정 생성
- 새 사용자 계정에 모든 권한 부여 (DBA 권한까지)
- 기존 데이터 백업 파일에서 테이블과 인덱스 생성 쿼리를 추출 (아래 예제 참조)
- 생성된 쿼리에서 테이블스페이명 수정, 필요없는 항목을 주석처리
- 새 사용자 권한 중 DBA 권한 삭제
- 수정된 쿼리를 새 사용자 계정에서 실행
- 전체 백업 파일 복원. 복원 시 ignore=y 옵션을 사용 (테이블/인덱스가 이미 생성되어 있기 때문)
테이블과 인덱스를 추출하려면 아래와 같은 명령을 리눅스의 쉘이나 윈도우즈의 명령 프롬프트에서 실행하면 된다.
- imp [새 사용자 ID]/[새 사용자 비밀번호]@[TNS 이름] file=[백업파일명] fromuser=[기존 사용자명] touser=[새 사용자명] indexfile=[추출할 파일명] constraints=y statistics=none

댓글목록
등록된 댓글이 없습니다.