본문 바로가기
정보관리(데이터베이스, DB)/오라클

dmp파일을 이용한 다른 유저에 import 하기~

by 3604 2023. 11. 27.
728x90

 

 

출처: https://m.blog.naver.com/hi_mylover/50085628355

서비스 되고있는 db에 기존에 비슷한 테이블을 통합하고 새로운 테이블이 생기고하는 작업으로 인해

개발완료 후 테스트를 위해서 다른 계정에 서비스 되고있는 디비랑 똑같은걸 만들으라고 해서 적어봅니다~

db를 해봤어야 알지 -_-; 완전 기초적인 것 때문에 하루 고생하고 또 까먹을까바..

쿼리나 스크립트로 어찌 할려다보니 지식이 짧은관계도있고 과장님이 걍 토드로 하래서 토드로 유저 생성 및 이미 만들어진 테이블 스페이스로 연결 해보는 방법~~

먼저 토드에서 system계정으로 로그인한 후 스키마 브라우져를 여세요~

그럼 아래처럼 SYSTEM 아래 USER를 선택하시면서 따라오시고요

안보이시면 이거 설명 후 바로 보이게 하는 팁을 보시면 되고 것고 구찬타 하시면, 텝을 오른쪽으로 쫌만 가시면 USER

있습니다 

 

1. Create User 를 누르시면

2. 생성할 유저 이름을 적으세요

3. 비번을 두번 적으신후

4. Tablespace 탭을 눌러주세요~

1. 기존에 만들어논 테이블 스페이스를 하나 선택하세요~

2. Roles 탭을 눌러주세요~

마지막으로 CONNECT, DBA, RESOURCE 를 전부 체크해주시고 OK 눌르시면 됩니다.

 

여 기 서 잠 깐 ~

USER 셀렉트 박스가 안보이시는분

view -> toadOptions -> Schema Browser -> visual -> Browser style:Drop-down 으로 바꿔주세요~

 

위 화면 처럼요~~ ㅎㅎ

 

자 그럼 유저가 한명 생성이 됐지요~~

 

 자 이제는 서비스 되고 디비가 있는 곳으로 가서 cmd창을 여시고 치세요~~

 

요놈이 export 방법

exp userid=system/manager file='C:\scott.dmp' owner=scott

 

요놈이 import

imp userid=system/manager file='C:\scott.dmp' fromuser=scott touser=test 

 

 

여기서 하루 동안 뻘짓한 이유 fromuser=scott 이놈이 지금 서비스 되고있는놈을 넣었어야 했는대

System을 계속 넣어서 안됬던거죠...하하하하하;;; 젠장;;

 

 

===========================================================================================

 

부가 정보로 어느분것을 복사했는대 블로그를 닫았어요;;

정보 주인분은 꼭 댓글 달아주시면 출처 달겠습니다 죄송합니다;;

 

▣ IMPORT ?

   ⊙ EXPORT 덤프 파일을 읽어서 그 안에 저장되어 그 파일안에 있는 명령을 실행시킵니다.

   ⊙ 데이터베이스를 복구하거나 재구성하기위해 사용될 수 있습니다.

   ⊙ 기본적으로 IMPORT는 각 테이블을 IMPORT한 후 COMMIT을 합니다. 

 

▣ Import Parameter

  - userid : IMPORT를 실생시키는 계정의 username/password명

  - buffer : 데이터를 행들을 가져오는데 사용되는 buffer의 bytes수

  - file : IMPORT될 EXPORT 덤프 파일명

  - show : 파일 내용이 화면에 표시되어야 할 것인가를 나타냄(Y/N 플래그)

  - ignore : IMPORT중 CREATE명령을 실행할 때 만나게 되는 에러들을 무시할 것인지 결정
                (Y/N 플래그)

  - indexes : 테이블 INDEX의 IMPORT여부(Y/N 플래그)

  - rows : 테이블 데이터를 IMPORT할 것인가(Y/N 플래그)
              만약 "N"로 설정하면 데이터베이스 객체들에 대한 DDL만이 실행됩니다.

  - full : FULL엑스포트 덤프 파일이 IMPORT 할때 사용합니다. 

  - tables : IMPORT될 테이블 리스트

  - commit : 배열(배열의 크기는 BUFFER에 의해 설정됩니다) 단위로 COMMIT을 할것인가 결정
                 기본적으로는 테이블 단위로 COMMIT을 합니다.

  - fromuser : EXPORT덤프 파일로 부터 읽혀져야 하는 객체들을 갖고 있는 테이터베이스 계정

  - touser : EXPORT덤프 안에 있는 객체들이 IMPORT될 데이터베이스 계정 


▣ Import 예제


     예제1) 전체 데이터베이스가 IMPORT됩니다. (Full Level)

       C:\>imp userid=system/manager file='C:\full.dmp'  full=y


     예제2) scott의 유저 IMPORT를 실행 합니다.(User Level)

       C:\>imp userid=scott/tiger file='C:\scott.dmp'


     예제3) 다른 계정으로 IMPORT하기

      ==> scott유저의 데이터를 EXPORT받아서 test 유저에게 IMPORT하는 예제 입니다.

       C:\>exp userid=system/manager file='C:\scott.dmp' owner=scott

       C:\>imp userid=system/manager file='C:\scott.dmp' fromuser=scott touser=test 

728x90
반응형