PROLOGUE

YOU ARE THE TH VISITOR OF MY BLOG
BLOG BY 후심
BLOG DESCRIPTION
우리의 모든 주위는 디지털이다. 하지만 그래도 난 아나로그가 더 정감이 간다.
RECENT ARTICLE PREVIEW

ADVERTISEMENT


아주 초보적인 관점에서 서술하려 한다.
이유는... 내가 아주 초보이기 때문이다. ㅋ

내가 해결해야 하는 과제는 ....
Old Server의 oUser의 DB를 Back Server의 nUser라는 계정으로 옮겨야 한다. 왜 장비도 다른데 유저를 달리해야 하는가? 하는 질문이 생긴다면... Back Server 에는 이미 예전에 한번 백업 받아놓은 자료가 oUser라는 계정으로 존재 하기 때문에 새로운 유저로 데이터를 옮겨야 한다.

작업 순서는 다음과 같이 하였다.

 1. Tablespace 생성
   Back Server 에 nUser(아직 생성되지 않았음)가 사용할 tablespace 를 생성했다. 물론 Old Server 에서 만들어진 대로 이름을 조금 바꿔서 생성했다.
   이렇게만 쓰면 어떻게 생성하는지에 대한 설명이 없어서 모호할 것이다. ㅋ
   난 윈도우에 설치된 Oracle 10g Enterprise Manager Console (이하 E.M)을 통해서 System 계정으로 로그인해서 만들었다. 내 수준에서 쿼리까지 만들어서 하는것은... 너무 무리인듯해서 그냥 쉽게 접근했다. ㅡㅡ;;

 2. User 생성
  Back Server 에 nUser를 생성했다. 물론 Old Server 에서 만들어진 데로 권한과 역할을 만들어 줬다. 그리고 nUser가 사용할 tablespace를 지정해 준다. 이 또한 E.M으로 만들었다.

 3. oUser의 DB에서 table Script 를 모두 채취
  oUser의 DB에서 table Script 를 모두 채취했다. 이것도 E.M에서 할 수 있는데.. 일단 E.M 자체가 좀 무겁다 보니 토드(Toad)에서 했다.
  갑자기 토드가 나오는데.. 나도 이야기만 들었지 이것을 어디서 구하는지 어떻게 사용하는지에 대해서는 몰랐다 그런데 다행이도 쫌 찾아 보니 토드가 무료 라이센스 배포판(http://www.toadsoft.com/lic_agree.html)이 있는 것을 찾아서 그것을 사용한다.
  토드에서 쉽게 스크립트를 채취했다.(솔직히 말하자면 내가 직접한거는 아니고 우리직원에게 쫌 취해달라고 요청을 했다. 물론 어려워서가 아니라 단순작업이라서 요청을 했다. ^^;;)
  table, views, sequesces, indexes 의 스크립트를 채취했다.

 4. nUser의 DB에 스크립트로 Table 생성
  3번에서 채취한 스크립트에서 테이블 스페이스가 나와 있는 부분들이 있다. 그부분을 nUser가 사용하는 tablespace로 변경해준다. Editplus 같은 편집기에서 일괄적으로 변경하면 된다. 그리고 plsql 이나 sql*plus에서 nUser로 로그인해서 tablespace까지 모두 수정한 스크립트의 내용을 복사해서 그데로 실행시켜준다. 그러면 일괄적으로 table, views, sequesces, indexes 이 생성된다.
  이와 같은 방법을 사용하는 이유는 LOB 파일의 경우 그냥 Import 시킬때 Error가 발생하는 문제가 있고 또 User과 tablespace가 바뀌면서 발생하는 혼란 때문에 이런 방법을 사용한다.

 5. Old Server 에서 export 하기
  다음은 oracle 계정으로 Old Server 에 직접로그인해서 하면된다.
  exp 계정/비번 file=파일명.dmp owner=db유저 buffer=1000000 log=로그파일명.log
  $> exp system/manager file=db080123.dmp owner=oUser buffer=1000000 log=db080123.log
  위의 명령을 실행하면 현재 디렉토리에 생성이 된다.

 6. Back Server 에서 export 하기
  5번에서 export한 파일을 Back Server 로 가져온다.
  다음은 oracle 계정으로 Back Server 에 직접로그인해서 하면된다.
  exp 계정/비번 file=파일명.dmp fromuser=oUser touser=nUser ignore=y commit=y buffer=1000000 log=로그파일명.log
  $> imp system/manager file=db080123.dmp fromuser=oUser touser=nUser ignore=y commit=y buffer=1000000 log=db080123.log
  Import 할때는 export 할때 보다 훨씬 시간이 많이 걸린다 물론 서버의 사양에 따라 차이가 있다.  

 7. 이제 모든 작업이 다 되었으면 자료가 잘 들어갔는지 확인하고 문제 없으면....
   Good Job!!!

이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/01/25 10:43 2008/01/25 10:43
http://blog.itank.net/hooshim/trackback/21
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST