티스토리 뷰

DBMS/Oracle

Oracle DB Copy (EXPDP, IMPDP)

일상의 기록을 남긴다 2017. 8. 21. 20:49

ㅅ1. sqlplus로 db에 접속한다. (이 때 TNS가 여러개일 경우 꼭 해당 TNS로 접속한다.

=> sqlplus

SQL> conn sys@abc /as sysdba (여기서 abc는 TNS명)

비밀번호 입력 :

연결되었습니다.


2. datapump 디렉토리 설정(=없으면 추가)

SQL>select * from dba_directories;


이 때 아무 것도 없다면 새로 생성한다.

SQL>create or replace directory datapump as 'C:\DB_bak';

Directory created.


3. 권한부여

SQL>grant read, write, EXP_FULL_DATABASE, IMP_FULL_DATABASE to scott;

(여기서 scott 대신 imp, exp 할 계정명 입력)


4. 윈도우 커맨드창(유닉스에서는 쉘) 오픈


5. expdp 실행

=> expdp scott/passwd@abc directory=datapump dumpfile=backup.dmp schemas=scott logfile=backup.log

(datapump 는 2번에서 설정한 이름과 같게 한다. schemas= 뒤에 계정명을 넣으면 해당 계정이 갖고있는 전체(테이블, 인덱스 등등)를 백업한다.)

# 추가 : full=y 를 설정하면 DB전체를 백업한다고 하는데...뭐가 다른건지는 모르겠다..



6. impdp 실행

=> impdp scott/passwd@abc directory=datapump dumpfile=backup.dmp remap_schema=scott:receiver

(remap_schema=생성한계정:복사받을계정)



# 추가 : impdp 옵션 추가!!


1. table_exists_action

  - SKIP     : 같은 테이블을 만나면 지나치고 다음 테이블을 Import 합니다.

  - APPEND   : 같은 테이블을 만나면 기존의 데이터에 추가하여 Import 합니다.

  - TRUNCATE : 같은 테이블을 만날경우 기존의 테이블을 TRUNCATE 하고 새로운 데이터를 Import 합니다.

  - REPLACE  : 같은 테이블을 만날 경우 기존의 테이블을 DROP 하고 테이블을 재생성 한후 데이터을 Import 합니다.


2. COTENT : CONTENT 파라메타는 DATA_ONLY,ALL,METADATA_ONLY 3가지 값을 가질 수 있으며, CONTENT=DATA_ONLY 형식으로 사용 하실 수 있습니다.

'DBMS > Oracle' 카테고리의 다른 글

Oracle DB Tablespace Monitoring  (0) 2018.01.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함