[Oracle] Pump를 이용한 데이터 이행6 (병렬작업)

·2025년 9월 15일

오라클 관리

목록 보기
137/163

[복습] 데이터 이행 방법 3가지

  1. pump 를 이용한 데이터 이행
  2. 서브쿼리과 디비링크를 사용한 insert (HWM 위로 입력)
  3. SQL*Loader 를 이용해서 엑셀 파일을 테이블에 입력하기

[복습2] pump를 이용한 데이터 이행 4가지

  1. 테이블 레벨
  2. 유져 레벨
  3. 테이블스페이스 레벨
  4. 데이터베이스 레벨

[복습3] pump 이용 시 장점

  1. dump 보다 데이터 이행 속도가 빨라짐 (병렬처리 가능)
  2. 다양한 remap 기능 이용가능

  3. os에 공간이 부족할 때를 대비해서 미리 export 파일의 크기를 예상할 수 있음
  4. db링크를 이용해서 원격지에 export 파일을 생성할 수 있음

[실습1] 유져레벨로 export 하는데 병렬로 작업하기

expdp hr/hr directory=datapump_dir dumpfile=hr_exp%U.dmp logfile=hr_exp.log parallel=4 schemas=hr

Export: Release 19.0.0.0.0 - Production on915 10:01:10 2025
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
"HR"."SYS_EXPORT_SCHEMA_01" 시작 중: hr/******** directory=datapump_dir dumpfile=hr_exp%U.dmp logfile=hr_exp.log parallel=4 schemas=hr
객체 유형 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TABLE_DATA 처리 중
객체 유형 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 처리 중
객체 유형 SCHEMA_EXPORT/SEQUENCE/SEQUENCE 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/COMMENT 처리 중
객체 유형 SCHEMA_EXPORT/PROCEDURE/PROCEDURE 처리 중
객체 유형 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE 처리 중
객체 유형 SCHEMA_EXPORT/STATISTICS/MARKER 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/INDEX/INDEX 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 처리 중
객체 유형 SCHEMA_EXPORT/VIEW/VIEW 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TRIGGER 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT 처리 중
. . "HR"."EMPLOYEES"                            17.08 KB     107행이 엑스포트됨
. . "HR"."LOCATIONS"                            8.437 KB      23행이 엑스포트됨
. . "HR"."JOB_HISTORY"                          7.195 KB      10행이 엑스포트됨
. . "HR"."JOBS"                                 7.109 KB      19행이 엑스포트됨
. . "HR"."DEPARTMENTS"                          7.125 KB      27행이 엑스포트됨
. . "HR"."REGIONS"                              5.546 KB       4행이 엑스포트됨
객체 유형 SCHEMA_EXPORT/TABLE/TABLE 처리 중
. . "HR"."COUNTRIES"                            6.367 KB      25행이 엑스포트됨
마스터 테이블 "HR"."SYS_EXPORT_SCHEMA_01"() 성공적으로 로드됨/로드 취소됨
******************************************************************************
HR.SYS_EXPORT_SCHEMA_01에 대해 설정된 덤프 파일:
  /home/oracle/pump_ora19/hr_exp01.dmp
  /home/oracle/pump_ora19/hr_exp02.dmp
  /home/oracle/pump_ora19/hr_exp03.dmp
  /home/oracle/pump_ora19/hr_exp04.dmp
"HR"."SYS_EXPORT_SCHEMA_01" 작업이 월 915 10:01:35 2025 elapsed 0 00:00:25에서 성공적으로 완료됨

문제1. scott 의 객체들을 유져레벨로 export 하는데 병렬을 4개로 해서 export 하시오

[oracle@ora19c ~]$ expdp scott/tiger directory=datapump_dir dumpfile=scott_exp%U.dmp logfile=scott_exp.log parallel=4 schemas=scott

Export: Release 19.0.0.0.0 - Production on915 10:06:40 2025
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
"SCOTT"."SYS_EXPORT_SCHEMA_01" 시작 중: scott/******** directory=datapump_dir dumpfile=scott_exp%U.dmp logfile=scott_exp.log parallel=4 schemas=scott
객체 유형 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 처리 중
객체 유형 SCHEMA_EXPORT/USER 처리 중
객체 유형 SCHEMA_EXPORT/SYSTEM_GRANT 처리 중
객체 유형 SCHEMA_EXPORT/ROLE_GRANT 처리 중
객체 유형 SCHEMA_EXPORT/DEFAULT_ROLE 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TABLE_DATA 처리 중
객체 유형 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/COMMENT 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TABLE 처리 중
객체 유형 SCHEMA_EXPORT/STATISTICS/MARKER 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/INDEX/INDEX 처리 중
. . "SCOTT"."DEPT"                              6.031 KB       4행이 엑스포트됨
. . "SCOTT"."EMP"                               8.773 KB      14행이 엑스포트됨
마스터 테이블 "SCOTT"."SYS_EXPORT_SCHEMA_01"() 성공적으로 로드됨/로드 취소됨
******************************************************************************
SCOTT.SYS_EXPORT_SCHEMA_01에 대해 설정된 덤프 파일:
  /home/oracle/pump_ora19/scott_exp01.dmp
  /home/oracle/pump_ora19/scott_exp02.dmp
  /home/oracle/pump_ora19/scott_exp03.dmp
"SCOTT"."SYS_EXPORT_SCHEMA_01" 작업이 월 915 10:06:56 2025 elapsed 0 00:00:14에서 성공적으로 완료됨

[실습2] dw 쪽에 hr_new 라는 이름의 스키마로 import 하시오

1. 먼저 병렬로 export한 파일들을 copy 합니다.

[oracle@ora19c ~]$ cp /home/oracle/pump_ora19/hr_exp*.dmp /home/oracle/pump_ora19dw/
[oracle@ora19c ~]$
[oracle@ora19c ~]$
[oracle@ora19c ~]$
[oracle@ora19c ~]$ cd /home/oracle/pump_ora19dw
[oracle@ora19c pump_ora19dw]$ ls
emp_pump.dmp  hr_exp03.dmp  hr_pump.dmp   scott_pump.dmp
hr_exp01.dmp  hr_exp04.dmp  hr_pump2.dmp  ts20000.dmp
hr_exp02.dmp  hr_imp.log    import.log
[oracle@ora19c pump_ora19dw]$ ls -rlt

2. 병렬로 import 합니다.

impdp system/oracle_4U directory=ORA19DW_DIR dumpfile=hr_exp%U.dmp logfile=hr_imp.log parallel=4 remap_schema=hr:hr_new

SYS @ ora19dw > create user hr_new identified by hr_new;

사용자가 생성되었습니다.

SYS @ ora19dw > grant dba to hr_new;

권한이 부여되었습니다.

SYS @ ora19dw > exit;
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0에서 분리되었습니다.
[oracle@ora19c pump_ora19dw]$
[oracle@ora19c pump_ora19dw]$
[oracle@ora19c pump_ora19dw]$ impdp system/oracle_4U directory=ora19dw_dir dumpfile=hr_exp%U.dmp logfile=hr_imp.log parallel=4 remap_schema=hr:hr_new remap_tablespace=HRTS:TS700

Import: Release 19.0.0.0.0 - Production on915 10:20:40 2025
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_FULL_01"() 성공적으로 로드됨/로드 취소됨
"SYSTEM"."SYS_IMPORT_FULL_01" 시작 중: system/******** directory=ora19dw_dir dumpfile=hr_exp%U.dmp logfile=hr_imp.log parallel=4 remap_schema=hr:hr_new remap_tablespace=HRTS:TS700
객체 유형 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 처리 중
객체 유형 SCHEMA_EXPORT/SEQUENCE/SEQUENCE 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TABLE 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TABLE_DATA 처리 중
. . "HR_NEW"."EMPLOYEES"                        17.08 KB     107행이 임포트됨
. . "HR_NEW"."LOCATIONS"                        8.437 KB      23행이 임포트됨
. . "HR_NEW"."JOB_HISTORY"                      7.195 KB      10행이 임포트됨
. . "HR_NEW"."JOBS"                             7.109 KB      19행이 임포트됨
. . "HR_NEW"."DEPARTMENTS"                      7.125 KB      27행이 임포트됨
. . "HR_NEW"."COUNTRIES"                        6.367 KB      25행이 임포트됨
. . "HR_NEW"."REGIONS"                          5.546 KB       4행이 임포트됨
객체 유형 SCHEMA_EXPORT/TABLE/COMMENT 처리 중
객체 유형 SCHEMA_EXPORT/PROCEDURE/PROCEDURE 처리 중
객체 유형 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE 처리 중
객체 유형 SCHEMA_EXPORT/VIEW/VIEW 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/INDEX/INDEX 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TRIGGER 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 처리 중
객체 유형 SCHEMA_EXPORT/STATISTICS/MARKER 처리 중

문제2. scott 으로 병렬로 export 받은 파일을 ora19dw에 임폴트하는데 scott_new 로 임폴트 하시오

SYS @ ora19dw > create user scott_new identified by scott_new;

사용자가 생성되었습니다.

SYS @ ora19dw > grant dba to scott_new;

권한이 부여되었습니다.

SYS @ ora19dw > exit;
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0에서 분리되었습니다.
[oracle@ora19c pump_ora19dw]$ impdp system/oracle_4U directory=ora19dw_dir dumlog parallel=4 remap_schema=scott:scott_new remap_tablespace=HRTS:TS700

Import: Release 19.0.0.0.0 - Production on915 10:45:28 2025
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 - Product
마스터 테이블 "SYSTEM"."SYS_IMPORT_FULL_01"() 성공적으로 로드됨/로드 취소됨
"SYSTEM"."SYS_IMPORT_FULL_01" 시작 중: system/******** directory=ora19dw_dir dp.log parallel=4 remap_schema=scott:scott_new remap_tablespace=HRTS:TS700
객체 유형 SCHEMA_EXPORT/USER 처리 중
ORA-31684: 객체 유형 USER:"SCOTT_NEW"() 존재함

객체 유형 SCHEMA_EXPORT/SYSTEM_GRANT 처리 중
객체 유형 SCHEMA_EXPORT/ROLE_GRANT 처리 중
객체 유형 SCHEMA_EXPORT/DEFAULT_ROLE 처리 중
객체 유형 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TABLE 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/TABLE_DATA 처리 중
. . "SCOTT_NEW"."JOB_BONUS"                     5.593 KB       5행이 임포트됨
. . "SCOTT_NEW"."DEPT"                          6.031 KB       4행이 임포트됨
. . "SCOTT_NEW"."EMP"                           8.773 KB      14행이 임포트됨
객체 유형 SCHEMA_EXPORT/TABLE/INDEX/INDEX 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 처리 중
객체 유형 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 처리 중
객체 유형 SCHEMA_EXPORT/STATISTICS/MARKER 처리 중
"SYSTEM"."SYS_IMPORT_FULL_01" 작업이 1 오류와 함께 월 915 10:45:42 2025 elapsed 0 00:00:14에서 완료됨

[oracle@ora19c pump_ora19dw]$

0개의 댓글