데이터베이스

Total 205
Today 0
profile_image
슈퍼아이피
09-12-10 15:10 0개 697회
Oracle
다른 사용자 계정/테이블스페이스로 DB 복원

 

다른 Oracle 서버로 이전하거나, 혹은 사용자 계정 변경 등을 위해 DB 을 백업받은 뒤 사용자 정보를 수정하거나 테이블스페이스 정보를 수정한 뒤 복원을 해야하는 경우가 있다.

이 경우 아래와 같은 절차를 통해 작업을 진행하면 된다.

 

  1. 기존 데이터 백업
  2. 새 테이블스페이스 생성
  3. 새 사용자 계정 생성
  4. 새 사용자 계정에 모든 권한 부여 (DBA 권한까지)
  5. 기존 데이터 백업 파일에서 테이블과 인덱스 생성 쿼리를 추출 (아래 예제 참조)
  6. 생성된 쿼리에서 테이블스페이명 수정, 필요없는 항목을 주석처리
  7. 새 사용자 권한 중 DBA 권한 삭제
  8. 수정된 쿼리를 새 사용자 계정에서 실행
  9. 전체 백업 파일 복원. 복원 시 ignore=y 옵션을 사용 (테이블/인덱스가 이미 생성되어 있기 때문)

 

테이블과 인덱스를 추출하려면 아래와 같은 명령을 리눅스의 쉘이나 윈도우즈의 명령 프롬프트에서 실행하면 된다.

 

  1. imp [새 사용자 ID]/[새 사용자 비밀번호]@[TNS 이름] file=[백업파일명] fromuser=[기존 사용자명] touser=[새 사용자명] indexfile=[추출할 파일명] constraints=y statistics=none

추천 0 비추천 0

댓글목록

등록된 댓글이 없습니다.