출처 : 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