본문 바로가기

DBMS/ORACLE

[ORACLE] expdp/impdp 명령어

반응형

개요

data pump export 유틸리티(expdp)는 데이타 또는 메타데이터를 덤프 파일 형태로 unload하고, 이 덤프 파일은 data pump import 유틸리티에 의해서 import될 수 있다.

구성환경

Oracle 19c-19.3.0.0.0

 

1. 디렉토리 관리 명령어

 1.1 디렉토리 조회

SQL> select * from dba_directories ;

OWNER      DIRECTORY_NAME       DIRECTORY_PATH                 ORIGIN_CON_ID
---------- -------------------- ------------------------------ -------------

SYS        DATA_PUMP_DIR        /opt/oracle/admin/ORCL/dpdump/             0
13 행이 선택되었습니다.

SQL>

 1.2 디렉토리 생성

SQL> create or replace directory DATA_PUMP_DIR2 as '/data2/dpdump' ;

디렉토리가 생성되었습니다.

SQL>

 1.3 디렉토리 삭제

SQL> drop directory DATA_PUMP_DIR2 ;

디렉토리가 삭제되었습니다.

SQL>

 1.4 디렉토리 권한 부여

SQL> grant read,write on directory DATA_PUMP_DIR2 to hoya ;

권한이 부여되었습니다.

SQL> 

 

2. expdp 유틸리티

Syntax) expdp user/password@servicename DIRECTORY=directory_name DUMPFILE=dumpfilename LOGFILE=dumplogfilename [ tables=table_name | schemas=schema_name | full={y|n} | ..... ]

- data pump export 모드 :  full export mode, schema mode, table mode, tablespace mode, Transportable Tablespace Mode

 2.1 full export mode

- full export 를 하기 위해서는 DATAPUMP_EXP_FULL_DATABASE 롤을 부여 받아야만 한다.

shell> expdp system@ORCLPDB directory=DATA_PUMP_DIR2 full=yes  dumpfile=full.dmp logfile=full.log

Export: Release 19.0.0.0.0 - Production on 금 1월 31 22:33:47 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
비밀번호:

접속 대상: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
"SYSTEM"."SYS_EXPORT_FULL_01" 시작 중: system/********@ORCLPDB directory=DATA_PUMP_DIR2 full=yes dumpfile=full.dmp logfile=full.log
객체 유형 DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA 처리 중

..... 중략 .....

. . "HR"."COUNTRIES"                            6.367 KB      25행이 엑스포트됨
. . "HR"."REGIONS"                              5.546 KB       4행이 엑스포트됨
. . "HOYA"."TEST1"                              5.101 KB       5행이 엑스포트됨
. . "HOYA"."TEST2"                              5.101 KB       5행이 엑스포트됨
마스터 테이블 "SYSTEM"."SYS_EXPORT_FULL_01"이(가) 성공적으로 로드됨/로드 취소됨
******************************************************************************
SYSTEM.SYS_EXPORT_FULL_01에 대해 설정된 덤프 파일:
  /data2/dpdump/full.dmp
"SYSTEM"."SYS_EXPORT_FULL_01" 작업이 금 1월 31 22:36:47 2020 elapsed 0 00:02:55에서 성공적으로 완료됨

shell>

 2.2 schema mode(default 모드)

shell> expdp hoya@ORCLPDB directory=DATA_PUMP_DIR2 dumpfile=schema_hoya.dmp logfile=schema_hoya.log schemas=hoya 

Export: Release 19.0.0.0.0 - Production on 금 1월 31 22:20:53 2020 
Version 19.3.0.0.0 

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved. 
비밀번호: 

접속 대상: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production 
"HOYA"."SYS_EXPORT_SCHEMA_01" 시작 중: hoya/********@ORCLPDB directory=DATA_PUMP_DIR2 dumpfile=schema_hoya.dmp logfile=schema_hoya.log schemas=hoya 
객체 유형 SCHEMA_EXPORT/TABLE/TABLE_DATA 처리 중 
객체 유형 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 처리 중 
객체 유형 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 처리 중 
객체 유형 SCHEMA_EXPORT/STATISTICS/MARKER 처리 중 
객체 유형 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 처리 중 
객체 유형 SCHEMA_EXPORT/TABLE/TABLE 처리 중 
객체 유형 SCHEMA_EXPORT/TABLE/COMMENT 처리 중 
객체 유형 SCHEMA_EXPORT/TABLE/INDEX/INDEX 처리 중 
. . "HOYA"."TEST1"                              5.101 KB       5행이 엑스포트됨 
. . "HOYA"."TEST2"                              5.101 KB       5행이 엑스포트됨 
마스터 테이블 "HOYA"."SYS_EXPORT_SCHEMA_01"이(가) 성공적으로 로드됨/로드 취소됨 
****************************************************************************** 
HOYA.SYS_EXPORT_SCHEMA_01에 대해 설정된 덤프 파일: 
  /data2/dpdump/schema_hoya.dmp 
"HOYA"."SYS_EXPORT_SCHEMA_01" 작업이 금 1월 31 22:21:32 2020 elapsed 0 00:00:35에서 성공적으로 완료됨 

shell>

** SYS 스키마는 사용될수 없다.

 2.3 table mode 

shell> expdp system@ORCLPDB directory=DATA_PUMP_DIR2 dumpfile=test1.dmp logfile=test1.log tables=hoya.test1

Export: Release 19.0.0.0.0 - Production on 월 2월 3 08:55:06 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
비밀번호:

접속 대상: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
"SYSTEM"."SYS_EXPORT_TABLE_01" 시작 중: system/********@ORCLPDB directory=DATA_PUMP_DIR2 dumpfile=test1.dmp logfile=test1.log tables=hoya.test1
객체 유형 TABLE_EXPORT/TABLE/TABLE_DATA 처리 중
객체 유형 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 처리 중
객체 유형 TABLE_EXPORT/TABLE/STATISTICS/MARKER 처리 중
객체 유형 TABLE_EXPORT/TABLE/TABLE 처리 중
. . "HOYA"."TEST1"                              5.101 KB       5행이 엑스포트됨
마스터 테이블 "SYSTEM"."SYS_EXPORT_TABLE_01"이(가) 성공적으로 로드됨/로드 취소됨
******************************************************************************
SYSTEM.SYS_EXPORT_TABLE_01에 대해 설정된 덤프 파일:
  /data2/dpdump/test1.dmp
"SYSTEM"."SYS_EXPORT_TABLE_01" 작업이 월 2월 3 08:55:27 2020 elapsed 0 00:00:17에서 성공적으로 완료됨

shell>

** 다중 테이블 지정은 ,(콤마)로 구분 : 예( table=test1,test2,test3,....)

 2.4 NETWORK_LINK 옵션

- Source Database(DB LINK) 연결에 사용된 사용자에게 exp_full_database 권한 부여

SQL> grant exp_full_database to sales

예) DB LINK(Source Database)로 부터 엑스포트

shell> expdp hoya@orclpdb directory=DATA_PUMP_DIR2 network_link=DB_LINK_SALES dumpfile=network_export.dmp NOLOGFILE=yes

Export: Release 19.0.0.0.0 - Production on 월 2월 3 19:22:29 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
비밀번호:

접속 대상: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
"HOYA"."SYS_EXPORT_SCHEMA_01" 시작 중: hoya/********@orclpdb directory=DATA_PUMP_DIR2 network_link=DB_LINK_SALES dumpfile=network_export.dmp NOLOGFILE=yes
객체 유형 SCHEMA_EXPORT/TABLE/TABLE_DATA 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 처리 중
객체 유형 SCHEMA_EXPORT/STATISTICS/MARKER 처리 중
객체 유형 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TABLE 처리 중
. . "SALES"."TABLE1"                            5.476 KB       1행이 엑스포트됨
마스터 테이블 "HOYA"."SYS_EXPORT_SCHEMA_01"이(가) 성공적으로 로드됨/로드 취소됨
******************************************************************************
HOYA.SYS_EXPORT_SCHEMA_01에 대해 설정된 덤프 파일:
  /data2/dpdump/network_export.dmp
"HOYA"."SYS_EXPORT_SCHEMA_01" 작업이 월 2월 3 19:23:41 2020 elapsed 0 00:01:09에서 성공적으로 완료됨

shell>

 

3. impdp 유틸리티

 3.1 table 모드 임포트

shell> impdp hoya@ORCLPDB directory=DATA_PUMP_DIR2 dumpfile=test1.dmp logfile=test1.log tables=hoya.test1

Import: Release 19.0.0.0.0 - Production on 월 2월 3 09:19:26 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
비밀번호:

접속 대상: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
마스터 테이블 "HOYA"."SYS_IMPORT_TABLE_01"이(가) 성공적으로 로드됨/로드 취소됨
"HOYA"."SYS_IMPORT_TABLE_01" 시작 중: hoya/********@ORCLPDB directory=DATA_PUMP_DIR2 dumpfile=test1.dmp logfile=test1.log tables=hoya.test1
객체 유형 TABLE_EXPORT/TABLE/TABLE 처리 중
객체 유형 TABLE_EXPORT/TABLE/TABLE_DATA 처리 중
. . "HOYA"."TEST1"                              5.101 KB       5행이 임포트됨
객체 유형 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 처리 중
객체 유형 TABLE_EXPORT/TABLE/STATISTICS/MARKER 처리 중
"HOYA"."SYS_IMPORT_TABLE_01" 작업이 월 2월 3 09:19:47 2020 elapsed 0 00:00:17에서 성공적으로 완료됨

shell>

 3.2 schema 모드 임포트

  예1) schema 모드로 export된 덤프파일로 부터 임포트

shell> impdp hoya@ORCLPDB schemas=hoya directory=DATA_PUMP_DIR2 dumpfile=schema_hoya.dmp  logfile=schema_hoya.log

Import: Release 19.0.0.0.0 - Production on 월 2월 3 09:29:41 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
비밀번호:

접속 대상: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
마스터 테이블 "HOYA"."SYS_IMPORT_SCHEMA_01"이(가) 성공적으로 로드됨/로드 취소됨
"HOYA"."SYS_IMPORT_SCHEMA_01" 시작 중: hoya/********@ORCLPDB schemas=hoya directory=DATA_PUMP_DIR2 dumpfile=schema_hoya.dmp logfile=schema_hoya.log
객체 유형 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TABLE 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TABLE_DATA 처리 중
. . "HOYA"."TEST1"                              5.101 KB       5행이 임포트됨
. . "HOYA"."TEST2"                              5.101 KB       5행이 임포트됨
객체 유형 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 처리 중
객체 유형 SCHEMA_EXPORT/STATISTICS/MARKER 처리 중
"HOYA"."SYS_IMPORT_SCHEMA_01" 작업이 월 2월 3 09:29:57 2020 elapsed 0 00:00:13에서 성공적으로 완료됨

shell>

  예2) full dump 모드로 export된 덤프파일로 부터 지정된 스키마 임포트

shell> impdp system@ORCLPDB schemas=hoya directory=DATA_PUMP_DIR2 dumpfile=full.dmp  logfile=hoya_schema_import.log

Import: Release 19.0.0.0.0 - Production on 월 2월 3 09:38:36 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
비밀번호:

접속 대상: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
마스터 테이블 "SYSTEM"."SYS_IMPORT_SCHEMA_01"이(가) 성공적으로 로드됨/로드 취소됨
"SYSTEM"."SYS_IMPORT_SCHEMA_01" 시작 중: system/********@ORCLPDB schemas=hoya directory=DATA_PUMP_DIR2 dumpfile=full.dmp logfile=hoya_schema_import.log
객체 유형 DATABASE_EXPORT/SCHEMA/USER 처리 중
ORA-31684: 객체 유형 USER:"HOYA"이(가) 존재함

객체 유형 DATABASE_EXPORT/SCHEMA/ROLE_GRANT 처리 중
객체 유형 DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE 처리 중
객체 유형 DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA 처리 중
객체 유형 DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA 처리 중
객체 유형 DATABASE_EXPORT/SCHEMA/TABLE/TABLE 처리 중
객체 유형 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA 처리 중
. . "HOYA"."TEST1"                              5.101 KB       5행이 임포트됨
. . "HOYA"."TEST2"                              5.101 KB       5행이 임포트됨
객체 유형 DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS 처리 중
객체 유형 DATABASE_EXPORT/STATISTICS/MARKER 처리 중
"SYSTEM"."SYS_IMPORT_SCHEMA_01" 작업이 1 오류와 함께 월 2월 3 09:38:53 2020 elapsed 0 00:00:14에서 완료됨

shell>

 

반응형

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

[ORACLE] DB Link 관리  (0) 2020.02.03
[ORACLE] impdp 옵션  (0) 2020.02.03
[ORACLE] RMAN을 이용하여 PDB 테이블 복구  (0) 2020.01.30
[ORACLE] SCN을 Date로 변환 / Date를 SCN 변환  (0) 2020.01.30
[ORACLE] Common 사용자  (0) 2020.01.21