Oracle Data Pump를 사용하여 데이터 익스포트
Oracle Data Pump는 Autonomous Database와 다른 Oracle 데이터베이스 간에 매우 빠른 대량 데이터 및 메타데이터 이동을 제공합니다.
Oracle은 Autonomous Database에서 다른 Oracle 데이터베이스로 데이터를 익스포트하기 위해 최신 Oracle Data Pump 버전을 사용할 것을 권장합니다. 더 나은 경험을 위해 개선 사항 및 수정 사항이 포함되어 있습니다. 최신 버전의 Oracle Instant Client를 다운로드하고 Oracle Instant Client 다운로드에서 사용 중인 플랫폼용 Oracle Data Pump가 포함된 도구 패키지를 다운로드합니다. Oracle Instant Client 및 Tools 패키지를 다운로드한 후 필요한 설치 단계는 플랫폼 설치 다운로드 페이지의 설치 지침을 참조하십시오.
-
옵션 1: 데이터 펌프 익스포트를 사용하여 데이터를 Autonomous Database 디렉토리로 이동
Oracle Data Pump를 사용하여 데이터를 데이터베이스의 디렉토리로 엑스포트한 다음 디렉토리에서 클라우드 객체 저장소로 데이터를 이동합니다. 이 방법은 Autonomous Database에서 여러 대상 데이터베이스로 데이터를 이동하려는 경우 유용합니다. 데이터를 여러 클라우드 객체 저장소로 익스포트하는 대신 덤프 파일 세트를 한 번 생성하고 여러 대상 데이터베이스에 사용할 수 있습니다.
다음 단계를 수행하여 Autonomous Database에서 데이터를 데이터베이스의 디렉토리로 익스포트합니다.- 데이터를 Autonomous Database의 디렉토리로 익스포트하고 덤프 파일 세트를 디렉토리에서 클라우드 객체 저장소로 이동합니다. Export Data Using a Directory on Autonomous Database를 참조하십시오.
- 클라우드 객체 저장소에서 덤프 파일을 다운로드하고, 데이터를 대상 데이터베이스로 임포트하고, 클라우드 객체 저장소를 정리합니다. Dump 파일 다운로드, 데이터 펌프 임포트 실행 및 객체 저장소 정리를 참조하십시오.
-
옵션 2: 데이터 펌프 엑스포트를 사용하여 객체 저장소로 데이터 이동
이 엑스포트 방식을 사용하면 Oracle Data Pump를 사용하여 데이터를 객체 저장소로 직접 엑스포트할 수 있습니다. 이 익스포트 방법은 Oracle Cloud Infrastructure Object Storage 및 Oracle Cloud Infrastructure Object Storage Classic에서 지원됩니다. 그러면 Autonomous Database의 디렉토리에 덤프 파일 세트를 만든 다음 덤프 파일 세트를 클라우드 객체 저장소로 이동하는 오버헤드가 발생하지 않습니다. 데이터를 단일 Target Database로 이동하려는 경우 이 방법을 사용하면 작업을 줄이고 엑스포트 프로세스의 속도를 높일 수 있습니다.
다음 단계를 수행하여 객체 저장소로 직접 익스포트하여 Autonomous Database에서 데이터를 이동합니다.- Autonomous Database에서 클라우드 객체 저장소로 데이터를 직접 익스포트합니다. Export Data From Autonomous Database to Object Store Directly를 참조하십시오.
- 클라우드 객체 저장소에서 덤프 파일을 다운로드하고, 데이터를 대상 데이터베이스로 임포트하고, 클라우드 객체 저장소를 정리합니다. Dump 파일 다운로드, 데이터 펌프 임포트 실행 및 객체 저장소 정리를 참조하십시오.
Autonomous Database에서 디렉토리를 사용하여 데이터 익스포트
데이터 펌프를 사용하여 Autonomous Database에서 덤프 파일 세트 생성
-
내보낸 데이터가 포함된 덤프 파일을 저장할 디렉토리를 만듭니다. 예:
CREATE DIRECTORY data_export_dir as 'data_export';
-
dumpfile 매개변수 세트, filesize 매개변수가 50G 미만으로 설정 및 directory 매개변수 세트를 사용하여 데이터 펌프 익스포트를 실행합니다. 예를 들어, 다음은 ECPU가 64개인
ATPC1
라는 이름의 Autonomous Database에서SALES
라는 스키마를 익스포트하는 방법을 보여줍니다.expdp sales/password@ATPC1_high directory=data_export_dir dumpfile=exp%L.dmp parallel=16 encryption_pwd_prompt=yes filesize=1G logfile=export.log
Data Pump 파라미터에 대한 참고 사항:-
ECPU의 경우
parallel
를 ECPU 수의 0.25배로 설정해야 합니다. 따라서 위의 예에서 ECPU가 64개인 경우parallel
는 0.25 x 64, 즉 16(expdp
포함)로 설정됩니다. -
OCPU의 경우
parallel
를 OCPU 수와 동일한 값으로 설정해야 합니다. 위 예에서 OCPU가 16개인 경우parallel
는expdp
를 사용하여 16으로 설정됩니다. -
expdp
를 사용하여 익스포트하는 동안encryption_pwd_prompt=yes
매개변수를 사용하는 경우 임포트와 함께encryption_pwd_prompt=yes
를 사용하고impdp
프롬프트에 동일한 비밀번호를 입력하여 덤프 파일을 해독해야 합니다(익스포트와 함께 제공한 비밀번호 기억). 암호화 암호의 최대 길이는 128바이트입니다. -
dumpfile
매개변수는 레거시%U
및%u
와일드카드와 함께%L
및%l
와일드카드를 지원합니다. 예:dumpfile=export%L.dmp
.Oracle Database 릴리스 12.2 이상에서 익스포트하려면
%L
또는%l
와일드카드를 사용하십시오. 이 와일드카드는 덤프 파일 파일 이름을 100에서 시작하여 2147483646으로 끝나는 10자리 가변 너비 증분 정수로 3자리로 확장합니다.
최적의 익스포트 성능을 위해 익스포트 접속에
HIGH
데이터베이스 서비스를 사용하고PARALLEL
매개변수를 데이터베이스의 CPU 수로 설정합니다. 데이터 펌프 익스포트를 실행하기 위해 접속할 데이터베이스 서비스 이름에 대한 자세한 내용은 자율운영 데이터베이스에 대해 미리 정의된 데이터베이스 서비스 이름을 참조하십시오.엑스포트가 완료되면 다음과 같은 query를 실행하여 생성된 덤프 파일을 볼 수 있습니다.SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_EXPORT_DIR');
예를 들어, 이 query의 출력은 생성된 덤프 파일과 엑스포트 로그 파일을 보여줍니다.OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED ---------------------- ---------- ----–---- –------------------------–----- -------------------- exp01.dmp 12288 12-NOV-19 06.10.47.0 PM GMT 12-NOV-19... exp02.dmp 8192 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... exp03.dmp 1171456 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... exp04.dmp 348160 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... export.log 1663 12-NOV-19 06.10.50.0 PM GMT 12-NOV-19...
-
참고:
-
전체 익스포트를 수행하거나 다른 사용자가 소유한 객체를 익스포트하려면
DATAPUMP_CLOUD_EXP
롤이 필요합니다. -
덤프 파일을 오브젝트 스토리지로 이동하는 데 사용하는 API는 최대 50GB의 파일 크기를 지원하므로 filesize 인수의 파일 크기보다 큰 크기를 지정하지 마십시오.
-
자세한 내용은 Oracle Database 19c Utilities 또는 Oracle Database 23ai Utilities의 Oracle Data Pump Export를 참조하십시오.
Autonomous Database에서 클라우드 객체 저장소로 덤프 파일 세트 이동
-
Autonomous Database에 연결합니다.
-
DBMS_CREDENTIAL.CREATE_CREDENTIAL
프로시저를 사용하여 클라우드 객체 스토리지 인증서를 저장합니다. 예:BEGIN
DBMS_CREDENTIAL.CREATE_CREDENTIAL
( credential_name => 'DEF_CRED_NAME', username => 'adb_user@oracle.com', password => 'password' ); END; /username
및password
에 제공하는 값은 사용 중인 클라우드 객체 스토리지 서비스에 따라 달라집니다.-
Oracle Cloud Infrastructure Object Storage:
username
는 Oracle Cloud Infrastructure 사용자 이름이고password
는 Oracle Cloud Infrastructure 인증 토큰입니다. 인증 토큰 작업을 참조하십시오. -
Oracle Cloud Infrastructure Object Storage Classic:
username
은 Oracle Cloud Infrastructure Classic 사용자 이름이며,password
은 Oracle Cloud Infrastructure Classic 비밀번호입니다.이 작업은 인증서를 암호화된 형식으로 데이터베이스에 저장합니다. 인증서 이름에 대해 원하는 이름을 사용할 수 있습니다. 이 단계는 객체 저장소 인증서가 변경되지 않는 한 한 한 번만 필요합니다. 인증서를 저장한 후에는 모든 데이터 로드에 대해 동일한 인증서 이름을 사용할 수 있습니다.
-
-
DBMS_CLOUD.PUT_OBJECT
을 호출하여 덤프 파일을 Autonomous Database에서 클라우드 객체 저장소로 이동합니다.예:BEGIN
DBMS_CLOUD.PUT_OBJECT
(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp01.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp01.dmp');DBMS_CLOUD.PUT_OBJECT
(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp02.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp02.dmp');DBMS_CLOUD.PUT_OBJECT
(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp03.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp03.dmp');DBMS_CLOUD.PUT_OBJECT
(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp04.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp04.dmp'); END; /PUT_OBJECT
에 대한 자세한 내용은 PUT_OBJECT 프로시저를 참조하십시오.
Autonomous Database에서 객체 저장소로 직접 데이터 익스포트
Oracle Data Pump를 사용하여 Autonomous Database에서 클라우드 객체 저장소로 데이터를 직접 익스포트하는 방법을 보여줍니다.
덤프 파일 다운로드, 데이터 펌프 임포트 실행 및 객체 저장소 정리
필요한 경우 클라우드 객체 저장소에서 덤프 파일을 다운로드하고 Oracle Data Pump 임포트를 사용하여 덤프 파일 세트를 대상 데이터베이스로 임포트합니다. 그런 다음 필요한 정리를 수행합니다.
자세한 내용은 Oracle Database 19c Utilities 또는 Oracle Database 23ai Utilities의 Parameters Available in Oracle Data Pump Import Command-Line Mode를 참조하십시오.