출처 : http://droptable.tistory.com/22


0개의 행을 가진 테이블이 백업되지 않는 경우는 아래 글을 참고한다.

2016/09/01 - [프로그램 자료/Oracle] - 0 Row Tables EXPORT 방법[ALTER SYSTEM] 백업했는데 테이블 갯수가 다를 때



-- 테이블 스페이스 생성(자동증가로)

CREATE TABLESPACE [tablespace]

DATAFILE 'C:\ORACLE\ORADATA\app_data.dbf' SIZE 100M

AUTOEXTEND ON;


-- 유저 생성 및 권한 주기

CREATE USER [userid] 

IDENTIFIED BY [password]

DEFAULT TABLESPACE [tablespace]

TEMPORARY TABLESPACE TEMP;


-- 테이블 스페이스 복원

imp userid=system/1234 

fromuser=[userid] touser=[userid] 

file=D:\test.dmp buffer=999999


-- 테이블 스페이스 삭제

DROP TABLESPACE [tablespace] 

INCLUDING CONTENTS AND DATAFILES;


-- 테이블 스페이스 조회    

SELECT TABLESPACE_NAME, STATUS, CONTENTS, SEGMENT_SPACE_MANAGEMENT 

FROM DBA_TABLESPACES;




  시스템 계정으로 백업

  cmd>exp system/pwd[@전역데이터베이스명:local은 안써도 됨] owner=userID file=c:\filename.dmp

  cmd> exp system/oracle@192.168.0.2:1521/orcl owner=userID file=c:\filename.dmp


  복원

  cmd>imp userid=system/pwd fromuser=ownerUserID touser=toUserID file=c:\filename.dmp buffer=999999

 





cmd창에서 작업하시면 되고 저는 주로 2. 방식으로 많이 사용하고 있습니다.

예를 들면 이런식으로 백업과 복업을 하고 있습니다.


 exp userid=system/1234@xe owner=clamp file=c:\140820.dmp

 imp system/1234@xe fromuser=clamp touser=clamp file=c:\140820.dmp


-백업(Export) :데이타와 구조를 바이너리 파일로 저장


  dos>exp userid=아이디/비밀번호@전역데이타베이스명(xe) file=저장경로

  예]  
 
  1. system계정으로 전체 백업
  
   dos>exp userid=system/비밀번호@전역데이타베이스명 full=y file=c:\dump.dmp
  
  2. system 계정으로 scott 계정에 있는 DB백업

   dos>exp userid=system/비밀번호@전역데이타베이스명 owner=scott file=c:\dump.dmp
  
  3. scott계정으로 자신의 모든 데이타 백업

   dos>exp userid=scott/비밀번호@전역데이타베이스명 file=c:\dump.dmp


  4. scott계정으로 emp테이블만 백업

   dos>exp userid=scott/비밀번호@전역데이타베이스명 file=c:\dump.dmp tables=emp
   *여러개 테이블을 동시에 받으려면 tables=(테이블1,테이블2,...)
  
  *백업 파일의 확장자는 보통 .dmp 혹은 .dat .bak으로 한다 한다.


 -복원(Import)

  imp 아이디/비밀번호@전역데이타베이스명 file=백업경로

  
  예]

  1. system계정으로 전체 복원

   
   dos>imp system/비밀번호@전역데이타베이스명 file=c:\dump.dmp
  
  
  2. system 계정으로 scott 계정에 있는 DB복원

   dos>imp system/비밀번호@전역데이타베이스명 fromuser=scott touser=scott file=c:\dump.dmp


  3. :scott계정으로 자신의 모든 데이타 백업
   
   dos>imp scott/비밀번호@전역데이타베이스명 file=file=c:\dump.dmp


  4. :복원하고자하는 DB에 같은 이름의 Object가 있을때,오류를 무시하고 건너 띄고 싶을때 ignore 옵션사용

   dos>imp 아이디/비밀번호@전역데이타베이스명 file=c:\dump.dmp ignore=y


  5. system계정으로 들어가 scott에서 Export한 데이터를 scott2에게 Import
   
   dos>imp system/비밀번호@전역데이타베이스명 fromuser=scott touser=scott2 file=c:\dump.dmp




Posted by motolies
,